The PD state machine checks this variable to decide how to handle power negotiation.
/* In usb_pd_policy.c */
void pd_check_power_role(int port)
if (pp_var_usb_rvp)
/*
* RVP Feature:
* RVPs often act as a dedicated Source (provider) or Sink (consumer)
* depending on the connected peripheral. We force 'Source'
* capability to power attached debug accessories.
*/
pd_set_power_role(port, PD_ROLE_SOURCE);
pd_set_max_voltage(port, 20000); // Allow 20V for validation
else
/*
* Production Feature:
* Use standard dual-role (DRP) or specific OEM battery limits.
*/
pd_set_power_role(port, PD_ROLE_DRP);
pd_set_max_voltage(port, DEFAULT_BATTERY_MAX_VOLTAGE);
You’ve come across the string pp-var-usb-rvp and can’t find a datasheet, product listing, or manual that explains it. You’re not alone – sometimes hardware engineers, hobbyists, or system integrators use cryptic internal codes. Let’s break down what this could mean, and how to approach unknown identifiers like this one.
Field: Petroleum Chemistry / Environmental Science
Full Form: Reid Vapor Pressure
Definition:
RVP is a measure of the volatility of gasoline and other petroleum products. It indicates the pressure exerted by the vapor above a liquid fuel at 100°F (37.8°C) in a standardized test.
Key Points:
Example: If you fill your car with a “summer blend” gasoline, its RVP is lower (~9 psi) than winter blend (~13 psi), meaning it won’t evaporate as easily on a hot day, reducing air pollution.
In the board configuration header (e.g., board.h or config.h):
/*
* pp-var-usb-rvp
* Enables Reference Validation Platform (RVP) specific USB-PD behavior.
* Value:
* 0 - Production behavior (Default).
* 1 - RVP behavior (usually auto-detected via GPIO strap).
*/
#define CONFIG_USB_PD_RVP_SUPPORT
#ifdef CONFIG_USB_PD_RVP_SUPPORT
extern int pp_var_usb_rvp;
#endif