summaryrefslogtreecommitdiff
path: root/zephyr/program/corsola/src/usbc.c
diff options
context:
space:
mode:
authorYH Lin <yueherngl@google.com>2023-05-05 12:48:46 +0000
committerYH Lin <yueherngl@google.com>2023-05-05 12:48:46 +0000
commite79a9dab1721c3d7da1475f3f802c4ea871a48ec (patch)
treee59a5a0517bbd7edf879d70cca594499a4c22ab4 /zephyr/program/corsola/src/usbc.c
parent00f7707de7c0f8b4345fa5725a7c62aa1d2bd5af (diff)
parent70e2504d1886c585bc74c6f624887719e3f0a351 (diff)
downloadchrome-ec-e79a9dab1721c3d7da1475f3f802c4ea871a48ec.tar.gz
Merge remote-tracking branch cros/main into firmware-brya-14505.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file baseboard/brya/relevant-paths.txt firmware-brya-14505.B-main Relevant changes: git log --oneline 00f7707de7..70e2504d18 -- baseboard/brya board/agah board/anahera board/banshee board/brya board/crota board/felwinter board/gimble board/hades board/kano board/marasov board/mithrax board/omnigul board/osiris board/primus board/redrix board/taeko board/taniks board/vell board/volmar driver/bc12/pi3usb9201_public.* driver/charger/bq25710.* driver/ppc/nx20p348x.* driver/ppc/syv682x_public.* driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.* driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake* include/intel_x86.h power/alderlake* power/intel_x86.c util/getversion.sh 1ab2843570 Hades: Configure GPIOs (2) b696e7629b Hades: Unblock USB_C1_PPC_SNK_EN on start-up d001bbc638 Hades: Configure USB-C0 and USB-C1 50a53a526b Hades: Configure GPIOs e881c1a04a hades: Support LGC battery 8b093356d4 Hades: Add LED_3_L and LED_4_L 4f3d3d6ae6 Hades: Rename USB-C2 USB-C1 fe35030f7f hades: Change keyboard config 88dfac40f0 Hades: Relocate EC_PROCHOT_IN_L 0db21802fa Hades: Swap GPU_ACOFF and BJ_ADP_PRESENT d1a831463f Hades: Replace ISL9241 with RAA489110 a700192391 Agah/Hades: Make d_notify_policies more readable 53f35199ba Zephyr test: Test NXP PPC interrupts 8c8a42b383 omnigul: Update battery parameter. 67d4a05823 NX20P348X: Correct dead battery exit error handling fafe10a6fe ppc/nx20p348x: Do not set reserved bit d32a389718 Charger: CONFIG gate bypass mode BRANCH=None BUG=b:273722902 b:276468569 b:277981949 b:277158040 b:272815816 BUG=b:272821227 b:277981335 b:277280318 b:272815831 b:269790564 TEST=`emerge-brya chromeos-ec` Force-Relevant-Builds: all Change-Id: I1043c664a3f90dd3b9207da233e5dec078c1e4a1 Signed-off-by: YH Lin <yueherngl@google.com>
Diffstat (limited to 'zephyr/program/corsola/src/usbc.c')
-rw-r--r--zephyr/program/corsola/src/usbc.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/zephyr/program/corsola/src/usbc.c b/zephyr/program/corsola/src/usbc.c
index 518cceee07..181b3df141 100644
--- a/zephyr/program/corsola/src/usbc.c
+++ b/zephyr/program/corsola/src/usbc.c
@@ -33,9 +33,8 @@ static bool tasks_inited;
/* Baseboard */
static void baseboard_init(void)
{
-#ifdef CONFIG_VARIANT_CORSOLA_USBA
- gpio_enable_dt_interrupt(GPIO_INT_FROM_NODELABEL(int_usba));
-#endif
+ gpio_enable_dt_interrupt(GPIO_INT_FROM_NODELABEL(int_xhci));
+
/* If CCD mode has enabled before init, force the ccd_interrupt. */
if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_ccd_mode_odl))) {
ccd_interrupt(GPIO_CCD_MODE_ODL);
@@ -57,8 +56,6 @@ __override uint8_t board_get_usb_pd_port_count(void)
} else {
return CONFIG_USB_PD_PORT_MAX_COUNT - 1;
}
- } else if (corsola_get_db_type() == CORSOLA_DB_NONE) {
- return CONFIG_USB_PD_PORT_MAX_COUNT - 1;
}
return CONFIG_USB_PD_PORT_MAX_COUNT;
@@ -66,7 +63,9 @@ __override uint8_t board_get_usb_pd_port_count(void)
uint8_t board_get_adjusted_usb_pd_port_count(void)
{
- if (corsola_get_db_type() == CORSOLA_DB_TYPEC) {
+ const enum corsola_db_type db = corsola_get_db_type();
+
+ if (db == CORSOLA_DB_TYPEC || db == CORSOLA_DB_NONE) {
return CONFIG_USB_PD_PORT_MAX_COUNT;
} else {
return CONFIG_USB_PD_PORT_MAX_COUNT - 1;
@@ -74,18 +73,20 @@ uint8_t board_get_adjusted_usb_pd_port_count(void)
}
/* USB-A */
-void usb_a0_interrupt(enum gpio_signal signal)
+void xhci_interrupt(enum gpio_signal signal)
{
+ const int xhci_stat = gpio_get_level(signal);
+
+#ifdef USB_PORT_ENABLE_COUNT
enum usb_charge_mode mode = gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(
gpio_ap_xhci_init_done)) ?
USB_CHARGE_MODE_ENABLED :
USB_CHARGE_MODE_DISABLED;
- const int xhci_stat = gpio_get_level(signal);
-
for (int i = 0; i < USB_PORT_COUNT; i++) {
usb_charge_set_mode(i, mode, USB_ALLOW_SUSPEND_CHARGE);
}
+#endif /* USB_PORT_ENABLE_COUNT */
for (int i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
/*
@@ -137,6 +138,7 @@ void x_ec_interrupt(enum gpio_signal signal)
}
}
+#ifdef CONFIG_VARIANT_CORSOLA_DB_DETECTION
static void board_hdmi_handler(struct ap_power_ev_callback *cb,
struct ap_power_ev_data data)
{
@@ -157,6 +159,7 @@ static void board_hdmi_handler(struct ap_power_ev_callback *cb,
gpio_pin_set_dt(GPIO_DT_FROM_ALIAS(gpio_en_hdmi_pwr), value);
gpio_pin_set_dt(GPIO_DT_FROM_ALIAS(gpio_ps185_pwrdn_odl), value);
}
+#endif /* CONFIG_VARIANT_CORSOLA_DB_DETECTION */
static void tasks_init_deferred(void)
{
@@ -171,6 +174,7 @@ static void tasks_init_deferred(void)
}
DECLARE_DEFERRED(tasks_init_deferred);
+#ifdef CONFIG_VARIANT_CORSOLA_DB_DETECTION
static void baseboard_x_ec_gpio2_init(void)
{
static struct ppc_drv virtual_ppc_drv = { 0 };
@@ -235,3 +239,4 @@ __override uint8_t get_dp_pin_mode(int port)
return pd_dfp_dp_get_pin_mode(port, dp_status[port]);
}
+#endif /* CONFIG_VARIANT_CORSOLA_DB_DETECTION */