summaryrefslogtreecommitdiff
path: root/baseboard/kalista/usb_pd_policy.c
diff options
context:
space:
mode:
Diffstat (limited to 'baseboard/kalista/usb_pd_policy.c')
-rw-r--r--baseboard/kalista/usb_pd_policy.c71
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 */