diff options
Diffstat (limited to 'baseboard/kalista/usb_pd_policy.c')
-rw-r--r-- | baseboard/kalista/usb_pd_policy.c | 71 |
1 files changed, 3 insertions, 68 deletions
diff --git a/baseboard/kalista/usb_pd_policy.c b/baseboard/kalista/usb_pd_policy.c index d6fe6ab6a3..107543a82a 100644 --- a/baseboard/kalista/usb_pd_policy.c +++ b/baseboard/kalista/usb_pd_policy.c @@ -25,7 +25,8 @@ #define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) #define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) -#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\ +#define PDO_FIXED_FLAGS (PDO_FIXED_EXTERNAL | \ + PDO_FIXED_DATA_SWAP | \ PDO_FIXED_COMM_CAP) const uint32_t pd_src_pdo[] = { @@ -33,18 +34,6 @@ const uint32_t pd_src_pdo[] = { }; const int pd_src_pdo_cnt = ARRAY_SIZE(pd_src_pdo); -const uint32_t pd_snk_pdo[] = { - PDO_FIXED(5000, 500, PDO_FIXED_FLAGS), - PDO_BATT(4750, 21000, 50000), - PDO_VAR(4750, 21000, 3000), -}; -const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo); - -int pd_is_valid_input_voltage(int mv) -{ - return 1; -} - void pd_transition_voltage(int idx) { /* No-operation: we are always 5V */ @@ -59,9 +48,6 @@ int board_vbus_source_enabled(int port) int pd_set_power_supply_ready(int port) { - /* Disable charging */ - gpio_set_level(GPIO_USB_C0_CHARGE_L, 1); - /* Enable VBUS source */ gpio_set_level(GPIO_USB_C0_5V_EN, 1); @@ -90,55 +76,18 @@ int pd_board_checks(void) return EC_SUCCESS; } -int pd_check_power_swap(int port) -{ - /* If type-c port is supplying power, we never swap PR (to source) */ - if (port == charge_manager_get_active_charge_port()) - return 0; - /* - * Allow power swap as long as we are acting as a dual role device, - * otherwise assume our role is fixed (not in S0 or console command - * to fix our role). - */ - return pd_get_dual_role(port) == PD_DRP_TOGGLE_ON ? 1 : 0; -} - int pd_check_data_swap(int port, int data_role) { /* Allow data swap if we are a UFP, otherwise don't allow */ return (data_role == PD_ROLE_UFP) ? 1 : 0; } -int pd_check_vconn_swap(int port) -{ - /* in G3, do not allow vconn swap since pp5000_A rail is off */ - return gpio_get_level(GPIO_PMIC_SLP_SUS_L); -} - void pd_execute_data_swap(int port, int data_role) { - /* Do nothing */ } void pd_check_pr_role(int port, int pr_role, int flags) { - /* - * If partner is dual-role power and dualrole toggling is on, consider - * if a power swap is necessary. - */ - if ((flags & PD_FLAGS_PARTNER_DR_POWER) && - pd_get_dual_role(port) == PD_DRP_TOGGLE_ON) { - /* - * If we are a sink and partner is not externally powered, then - * swap to become a source. If we are source and partner is - * externally powered, swap to become a sink. - */ - int partner_extpower = flags & PD_FLAGS_PARTNER_EXTPOWER; - - if ((!partner_extpower && pr_role == PD_ROLE_SINK) || - (partner_extpower && pr_role == PD_ROLE_SOURCE)) - pd_request_power_swap(port); - } } void pd_check_dr_role(int port, int dr_role, int flags) @@ -147,6 +96,7 @@ void pd_check_dr_role(int port, int dr_role, int flags) if ((flags & PD_FLAGS_PARTNER_DR_DATA) && dr_role == PD_ROLE_UFP) pd_request_data_swap(port); } + /* ----------------- Vendor Defined Messages ------------------ */ const struct svdm_response svdm_rsp = { .identity = NULL, @@ -218,20 +168,6 @@ int pd_custom_vdm(int port, int cnt, uint32_t *payload, return 0; } -int board_set_active_charge_port(int port) -{ - if (port < 0 || CHARGE_PORT_COUNT <= port) - return EC_ERROR_INVAL; - CPRINTS("New charger p%d", port); - return EC_SUCCESS; -} - -int board_get_battery_soc(void) -{ - return 100; -} - -#ifdef CONFIG_USB_PD_ALT_MODE_DFP static int dp_flags[CONFIG_USB_PD_PORT_COUNT]; static uint32_t dp_status[CONFIG_USB_PD_PORT_COUNT]; @@ -382,4 +318,3 @@ const struct svdm_amode_fx supported_modes[] = { } }; const int supported_modes_cnt = ARRAY_SIZE(supported_modes); -#endif /* CONFIG_USB_PD_ALT_MODE_DFP */ |