diff options
author | Edward Hill <ecgh@chromium.org> | 2020-07-09 18:55:06 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-12 00:30:30 +0000 |
commit | 26067e10c7cbbc3fbac7e7ff2a4568f5380958d9 (patch) | |
tree | 06427d599ab22ea0b9a67c13cb19edff0d895676 /board/dalboz | |
parent | 6f4db61719885e6c16bb76bb09817d84c3949db1 (diff) | |
download | chrome-ec-26067e10c7cbbc3fbac7e7ff2a4568f5380958d9.tar.gz |
Zork: Handle USB_Cx_SBU_FAULT_ODL
Connect up USB_Cx_SBU_FAULT_ODL to pd_handle_overcurrent().
BUG=b:138600586 b:157058003
BRANCH=none
TEST=USB-C sink and source still works,
forcing USB_Cx_SBU_FAULT_ODL low is reported as fault.
Signed-off-by: Edward Hill <ecgh@chromium.org>
Change-Id: I59ae65eed169fc5e18f72539a68017bb73c7d93e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2293102
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'board/dalboz')
-rw-r--r-- | board/dalboz/board.c | 4 | ||||
-rw-r--r-- | board/dalboz/gpio.inc | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/board/dalboz/board.c b/board/dalboz/board.c index b2e5606a4e..b15f078f5a 100644 --- a/board/dalboz/board.c +++ b/board/dalboz/board.c @@ -555,6 +555,10 @@ static void setup_fw_config(void) gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_ODL); gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_ODL); + /* Enable SBU fault interrupts */ + ioex_enable_interrupt(IOEX_USB_C0_SBU_FAULT_ODL); + ioex_enable_interrupt(IOEX_USB_C1_SBU_FAULT_DB_ODL); + if (ec_config_has_lid_angle_tablet_mode()) { /* Enable Gyro interrupts */ gpio_enable_interrupt(GPIO_6AXIS_INT_L); diff --git a/board/dalboz/gpio.inc b/board/dalboz/gpio.inc index a18ec2a813..aabeee1b88 100644 --- a/board/dalboz/gpio.inc +++ b/board/dalboz/gpio.inc @@ -61,11 +61,13 @@ GPIO(LED3_PWM, PIN(C, 3), GPIO_OUT_HIGH) * OPT1 DB (USB-C1), IOEX_HDMI_PCAL6408 is the OPT2 DB (HDMI). */ +IOEX_INT(USB_C0_SBU_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 1, 2), GPIO_INT_FALLING, sbu_fault_interrupt) +IOEX_INT(USB_C1_SBU_FAULT_DB_ODL, EXPIN(IOEX_C1_NCT3807, 1, 2), GPIO_INT_FALLING, sbu_fault_interrupt) + IOEX(USB_C0_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 0, 3), GPIO_ODR_HIGH) /* C0 Fault to SOC */ IOEX(USB_C0_TCPC_FASTSW_CTL_EN, EXPIN(IOEX_C0_NCT3807, 0, 4), GPIO_OUT_LOW) /* C0 FastSwitch Control */ IOEX(USB_C1_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 1, 0), GPIO_ODR_HIGH) /* C1 Fault to SOC */ IOEX(USB_C0_PPC_ILIM_3A_EN, EXPIN(IOEX_C0_NCT3807, 1, 1), GPIO_OUT_LOW) /* C0 3A Current Limit Enable */ -IOEX(USB_C0_SBU_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 1, 2), GPIO_INPUT) /* C0 SBU Fault */ IOEX(KB_BL_EN, EXPIN(IOEX_C0_NCT3807, 1, 3), GPIO_OUT_LOW) /* KB Backlight Enable */ IOEX(EN_USB_A0_5V, EXPIN(IOEX_C0_NCT3807, 1, 5), GPIO_OUT_LOW) /* A0 5V Source Enable */ IOEX(USB_A0_CHARGE_EN_L, EXPIN(IOEX_C0_NCT3807, 1, 6), GPIO_OUT_HIGH) /* A0 5V High Current Enable */ @@ -74,7 +76,6 @@ IOEX(USB_C0_SBU_FLIP, EXPIN(IOEX_C0_NCT3807, 1, 7), GPIO_OUT_LOW) /* C0 SBU Fli IOEX(USB_A1_RETIMER_EN_OPT1, EXPIN(IOEX_C1_NCT3807, 0, 0), GPIO_OUT_LOW) /* A1 Retimer Enable */ IOEX(USB_C1_HPD_IN_DB, EXPIN(IOEX_C1_NCT3807, 0, 2), GPIO_OUT_LOW) /* C1 HPD */ IOEX(USB_C1_TCPC_FASTSW_CTL_EN, EXPIN(IOEX_C1_NCT3807, 0, 4), GPIO_OUT_LOW) /* C1 FastSwitch Control */ -IOEX(USB_C1_SBU_FAULT_DB_ODL, EXPIN(IOEX_C1_NCT3807, 1, 2), GPIO_INPUT) /* C1 SBU Fault */ IOEX(USB_C1_PPC_EN_L, EXPIN(IOEX_C1_NCT3807, 1, 3), GPIO_OUT_LOW) /* C1 PPC Enable */ IOEX(USB_C1_DATA_EN, EXPIN(IOEX_C1_NCT3807, 1, 5), GPIO_OUT_HIGH) /* C1 Retimer Enable */ IOEX(EN_USB_A1_5V_DB_OPT1, EXPIN(IOEX_C1_NCT3807, 1, 6), GPIO_OUT_LOW) /* A1 5V Source Enable */ |