/* In board.c */ int pp_var_usb_rvp = 0; // Default to production Bee Movie Download Google Drive Work — System Host The
/* In usb_pd_policy.c */ Skyeblupetloverpart2 Exclusive [UPDATED]
void board_init_hardware(void) { /* * Check Board ID GPIO. * RVP boards typically have a specific Board ID or * a 'Strap' pin pulled high. */ if (gpio_get_level(GPIO_BOARD_ID0) == 1 && gpio_get_level(GPIO_BOARD_ID1) == 0) { pp_var_usb_rvp = 1; ccprints("Detected RVP Platform (pp-var-usb-rvp enabled)"); } } The PD state machine checks this variable to decide how to handle power negotiation.
/* * 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 The system detects if it is running on an RVP during initialization (e.g., by reading a specific resistor strap or Board ID GPIO).