From 2f56efbce19289784ef99253c5d64b9cb65eb3c1 Mon Sep 17 00:00:00 2001 From: Diana Z Date: Wed, 15 Sep 2021 21:45:08 -0600 Subject: BB Retimer: Add new HPD callback to boards Now that the BB retimer has its own HPD interface, add this interface to every board using the bb_usb_retimer driver. BRANCH=None BUG=b:195773400 TEST=on voxel, pass tast typec.Mode*.manual Signed-off-by: Diana Z Change-Id: Ia70d139431739e8f2c0577359cb3aaa7fb906d0a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3163930 Reviewed-by: Keith Short Reviewed-by: Abe Levkoy --- baseboard/intelrvp/adlrvp.c | 6 ++++++ board/anahera/usbc_config.c | 2 ++ board/boldar/board.c | 2 ++ board/brask/usbc_config.c | 2 ++ board/brya/usbc_config.c | 2 ++ board/copano/board.c | 3 ++- board/drobit/board.c | 2 ++ board/felwinter/usbc_config.c | 2 ++ board/halvor/board.c | 4 +++- board/kano/usbc_config.c | 2 ++ board/lingcod/board.c | 1 + board/malefor/board.c | 1 + board/primus/usbc_config.c | 2 ++ board/redrix/usbc_config.c | 2 ++ board/terrador/board.c | 2 ++ board/tglrvpu_ite/board.c | 2 ++ board/todor/board.c | 2 ++ board/trondo/board.c | 2 +- board/volteer/usbc_config.c | 1 + board/voxel/board.c | 2 ++ zephyr/test/drivers/src/stubs.c | 1 + 21 files changed, 42 insertions(+), 3 deletions(-) diff --git a/baseboard/intelrvp/adlrvp.c b/baseboard/intelrvp/adlrvp.c index 3bc70ac581..8b5518aaf7 100644 --- a/baseboard/intelrvp/adlrvp.c +++ b/baseboard/intelrvp/adlrvp.c @@ -120,6 +120,7 @@ struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_0, .i2c_addr_flags = I2C_PORT0_BB_RETIMER_ADDR, }, @@ -128,6 +129,7 @@ struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_1, .i2c_addr_flags = I2C_PORT1_BB_RETIMER_ADDR, }, @@ -137,6 +139,7 @@ struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_2, .next_mux = &usbc2_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_2, .i2c_addr_flags = I2C_PORT2_BB_RETIMER_ADDR, }, @@ -146,6 +149,7 @@ struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_3, .next_mux = &usbc3_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_3, .i2c_addr_flags = I2C_PORT3_BB_RETIMER_ADDR, }, @@ -158,6 +162,7 @@ struct usb_mux soc_side_bb_retimer0_usb_mux = { .usb_port = TYPE_C_PORT_0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_0, .i2c_addr_flags = I2C_PORT0_BB_RETIMER_SOC_ADDR, }; @@ -167,6 +172,7 @@ struct usb_mux soc_side_bb_retimer1_usb_mux = { .usb_port = TYPE_C_PORT_1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_TYPEC_1, .i2c_addr_flags = I2C_PORT1_BB_RETIMER_SOC_ADDR, }; diff --git a/board/anahera/usbc_config.c b/board/anahera/usbc_config.c index f0f39b6d87..73a7b402cc 100644 --- a/board/anahera/usbc_config.c +++ b/board/anahera/usbc_config.c @@ -91,6 +91,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_MUX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -98,6 +99,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C1_MUX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, .next_mux = &usbc1_tcss_usb_mux, diff --git a/board/boldar/board.c b/board/boldar/board.c index 128b27b385..49a3a79831 100644 --- a/board/boldar/board.c +++ b/board/boldar/board.c @@ -515,6 +515,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }, @@ -522,6 +523,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/board/brask/usbc_config.c b/board/brask/usbc_config.c index d60371e348..bd61f7ec1c 100644 --- a/board/brask/usbc_config.c +++ b/board/brask/usbc_config.c @@ -111,6 +111,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C2_MUX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -129,6 +130,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C2] = { .usb_port = USBC_PORT_C2, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C2_MUX, .i2c_addr_flags = USBC_PORT_C2_BB_RETIMER_I2C_ADDR, .next_mux = &usbc2_tcss_usb_mux, diff --git a/board/brya/usbc_config.c b/board/brya/usbc_config.c index 40476c3f4f..667d1aaaab 100644 --- a/board/brya/usbc_config.c +++ b/board/brya/usbc_config.c @@ -125,6 +125,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C2_MUX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -139,6 +140,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C2] = { .usb_port = USBC_PORT_C2, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C2_MUX, .i2c_addr_flags = USBC_PORT_C2_BB_RETIMER_I2C_ADDR, .next_mux = &usbc2_tcss_usb_mux, diff --git a/board/copano/board.c b/board/copano/board.c index 6992731208..9a20eee45f 100644 --- a/board/copano/board.c +++ b/board/copano/board.c @@ -244,6 +244,7 @@ void board_reset_pd_mcu(void) struct usb_mux usbc0_usb4_mb_retimer = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_0_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }; @@ -357,6 +358,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, @@ -424,4 +426,3 @@ int ppc_get_alert_status(int port) const int usb_port_enable[USB_PORT_COUNT] = { GPIO_EN_PP5000_USBA, }; - diff --git a/board/drobit/board.c b/board/drobit/board.c index 56d8f3f4a7..b08294bd24 100644 --- a/board/drobit/board.c +++ b/board/drobit/board.c @@ -369,6 +369,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }, @@ -376,6 +377,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/board/felwinter/usbc_config.c b/board/felwinter/usbc_config.c index df9772e6f0..a301826c6a 100644 --- a/board/felwinter/usbc_config.c +++ b/board/felwinter/usbc_config.c @@ -125,6 +125,7 @@ struct usb_mux usb_muxes[] = { [USBC_PORT_C2] = { .usb_port = USBC_PORT_C2, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C2_MUX, .i2c_addr_flags = USBC_PORT_BB_RETIMER_I2C_ADDR, .next_mux = &usbc2_tcss_usb_mux, @@ -142,6 +143,7 @@ BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT); struct usb_mux usb_muxes_c1 = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C1_MUX, .i2c_addr_flags = USBC_PORT_BB_RETIMER_I2C_ADDR, .next_mux = &usbc1_tcss_usb_mux, diff --git a/board/halvor/board.c b/board/halvor/board.c index 31b68906d4..53828b5318 100644 --- a/board/halvor/board.c +++ b/board/halvor/board.c @@ -436,6 +436,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }, @@ -443,6 +444,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, @@ -450,6 +452,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C2, .next_mux = &usbc2_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C2_BB_RETIMER_I2C_ADDR, }, @@ -523,4 +526,3 @@ int ppc_get_alert_status(int port) else return gpio_get_level(GPIO_USB_C2_PPC_INT_ODL) == 0; } - diff --git a/board/kano/usbc_config.c b/board/kano/usbc_config.c index 8265a6ea31..57fb63dca3 100644 --- a/board/kano/usbc_config.c +++ b/board/kano/usbc_config.c @@ -95,6 +95,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C2_MUX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -102,6 +103,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C1_MUX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, .next_mux = &usbc1_tcss_usb_mux, diff --git a/board/lingcod/board.c b/board/lingcod/board.c index 5b810c9795..c294100b02 100644 --- a/board/lingcod/board.c +++ b/board/lingcod/board.c @@ -478,6 +478,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/board/malefor/board.c b/board/malefor/board.c index c584969b81..663c5bace9 100644 --- a/board/malefor/board.c +++ b/board/malefor/board.c @@ -531,6 +531,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/board/primus/usbc_config.c b/board/primus/usbc_config.c index 5d85359f10..7636d94f25 100644 --- a/board/primus/usbc_config.c +++ b/board/primus/usbc_config.c @@ -90,6 +90,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C1_RT, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -97,6 +98,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_C1_RT, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, .next_mux = &usbc1_tcss_usb_mux, diff --git a/board/redrix/usbc_config.c b/board/redrix/usbc_config.c index f0f39b6d87..73a7b402cc 100644 --- a/board/redrix/usbc_config.c +++ b/board/redrix/usbc_config.c @@ -91,6 +91,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C0_MUX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, .next_mux = &usbc0_tcss_usb_mux, @@ -98,6 +99,7 @@ const struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_C1_MUX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, .next_mux = &usbc1_tcss_usb_mux, diff --git a/board/terrador/board.c b/board/terrador/board.c index a0ea2e6918..5adc65fc70 100644 --- a/board/terrador/board.c +++ b/board/terrador/board.c @@ -237,6 +237,7 @@ void board_reset_pd_mcu(void) struct usb_mux usbc0_usb4_mb_retimer = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_0_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }; @@ -348,6 +349,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/board/tglrvpu_ite/board.c b/board/tglrvpu_ite/board.c index def69448ad..4c96576b28 100644 --- a/board/tglrvpu_ite/board.c +++ b/board/tglrvpu_ite/board.c @@ -130,6 +130,7 @@ const struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT0_BB_RETIMER, .i2c_addr_flags = I2C_PORT0_BB_RETIMER_ADDR, }, @@ -137,6 +138,7 @@ const struct usb_mux usb_muxes[] = { .usb_port = TYPE_C_PORT_1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT1_BB_RETIMER, .i2c_addr_flags = I2C_PORT1_BB_RETIMER_ADDR, }, diff --git a/board/todor/board.c b/board/todor/board.c index 9dbfbfd2ee..c4e2395adc 100644 --- a/board/todor/board.c +++ b/board/todor/board.c @@ -263,6 +263,7 @@ void board_reset_pd_mcu(void) struct usb_mux usbc0_usb4_mb_retimer = { .usb_port = USBC_PORT_C0, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_0_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }; @@ -374,6 +375,7 @@ struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .next_mux = &usbc1_tcss_usb_mux, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, diff --git a/board/trondo/board.c b/board/trondo/board.c index 10e346da5c..0493c603e0 100644 --- a/board/trondo/board.c +++ b/board/trondo/board.c @@ -386,6 +386,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, @@ -447,4 +448,3 @@ int ppc_get_alert_status(int port) else return gpio_get_level(GPIO_USB_C1_PPC_INT_ODL) == 0; } - diff --git a/board/volteer/usbc_config.c b/board/volteer/usbc_config.c index 4f025d4cd2..0adfe98107 100644 --- a/board/volteer/usbc_config.c +++ b/board/volteer/usbc_config.c @@ -223,6 +223,7 @@ struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .next_mux = &usbc1_tcss_usb_mux, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, diff --git a/board/voxel/board.c b/board/voxel/board.c index c13686d3b4..830300620f 100644 --- a/board/voxel/board.c +++ b/board/voxel/board.c @@ -440,6 +440,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C0, .next_mux = &usbc0_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_0_MIX, .i2c_addr_flags = USBC_PORT_C0_BB_RETIMER_I2C_ADDR, }, @@ -447,6 +448,7 @@ struct usb_mux usb_muxes[] = { .usb_port = USBC_PORT_C1, .next_mux = &usbc1_tcss_usb_mux, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .i2c_port = I2C_PORT_USB_1_MIX, .i2c_addr_flags = USBC_PORT_C1_BB_RETIMER_I2C_ADDR, }, diff --git a/zephyr/test/drivers/src/stubs.c b/zephyr/test/drivers/src/stubs.c index 8a339679a8..6dab320b9a 100644 --- a/zephyr/test/drivers/src/stubs.c +++ b/zephyr/test/drivers/src/stubs.c @@ -143,6 +143,7 @@ struct usb_mux usb_muxes[] = { [USBC_PORT_C1] = { .usb_port = USBC_PORT_C1, .driver = &bb_usb_retimer, + .hpd_update = bb_retimer_hpd_update, .next_mux = &usbc1_virtual_usb_mux, .i2c_port = I2C_PORT_USB_C1, .i2c_addr_flags = DT_REG_ADDR(DT_NODELABEL( -- cgit v1.2.1