diff options
author | Denis Brockus <dbrockus@chromium.org> | 2020-01-13 13:12:45 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-16 00:57:29 +0000 |
commit | 0dbd7e342cdc20d6fc7324da9440f837e87d8cf8 (patch) | |
tree | 24c05da86f22208fd2cce91d4d228e5124167bac /baseboard/intelrvp | |
parent | e45ef48d07fda7e449873de3161071774e57072c (diff) | |
download | chrome-ec-0dbd7e342cdc20d6fc7324da9440f837e87d8cf8.tar.gz |
retimer: framework cleanup for chip specific control config
combine the optional control variables into a union of
structures to reduce the amount of space needed for a
particular board type.
BUG=b:147593165
BRANCH=none
TEST=make buildall -j
Change-Id: If02c4c8065f4570aba210c3e34b30bc0d5c7a852
Signed-off-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001134
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'baseboard/intelrvp')
-rw-r--r-- | baseboard/intelrvp/retimer.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/baseboard/intelrvp/retimer.c b/baseboard/intelrvp/retimer.c index e31b1a0851..7617883ef2 100644 --- a/baseboard/intelrvp/retimer.c +++ b/baseboard/intelrvp/retimer.c @@ -11,11 +11,8 @@ /* USB Retimers configuration */ #ifdef CONFIG_USBC_RETIMER_INTEL_BB -struct usb_retimer usb_retimers[CONFIG_USB_PD_PORT_MAX_COUNT] = { +const struct bb_usb_control bb_controls[] = { [TYPE_C_PORT_0] = { - .driver = &bb_usb_retimer, - .i2c_port = I2C_PORT0_BB_RETIMER, - .i2c_addr_flags = I2C_PORT0_BB_RETIMER_ADDR, .shared_nvm = USB_PORT0_BB_RETIMER_SHARED_NVM, .usb_ls_en_gpio = GPIO_USB_C0_LS_EN, .retimer_rst_gpio = GPIO_USB_C0_RETIMER_RST, @@ -23,9 +20,6 @@ struct usb_retimer usb_retimers[CONFIG_USB_PD_PORT_MAX_COUNT] = { }, #ifdef HAS_TASK_PD_C1 [TYPE_C_PORT_1] = { - .driver = &bb_usb_retimer, - .i2c_port = I2C_PORT1_BB_RETIMER, - .i2c_addr_flags = I2C_PORT1_BB_RETIMER_ADDR, .shared_nvm = USB_PORT1_BB_RETIMER_SHARED_NVM, .usb_ls_en_gpio = GPIO_USB_C1_LS_EN, .retimer_rst_gpio = GPIO_USB_C1_RETIMER_RST, @@ -33,5 +27,21 @@ struct usb_retimer usb_retimers[CONFIG_USB_PD_PORT_MAX_COUNT] = { }, #endif /* HAS_TASK_PD_C1 */ }; +BUILD_ASSERT(ARRAY_SIZE(bb_controls) == CONFIG_USB_PD_PORT_MAX_COUNT); + +struct usb_retimer usb_retimers[CONFIG_USB_PD_PORT_MAX_COUNT] = { + [TYPE_C_PORT_0] = { + .driver = &bb_usb_retimer, + .i2c_port = I2C_PORT0_BB_RETIMER, + .i2c_addr_flags = I2C_PORT0_BB_RETIMER_ADDR, + }, +#ifdef HAS_TASK_PD_C1 + [TYPE_C_PORT_1] = { + .driver = &bb_usb_retimer, + .i2c_port = I2C_PORT1_BB_RETIMER, + .i2c_addr_flags = I2C_PORT1_BB_RETIMER_ADDR, + }, +#endif /* HAS_TASK_PD_C1 */ +}; BUILD_ASSERT(ARRAY_SIZE(usb_retimers) == CONFIG_USB_PD_PORT_MAX_COUNT); #endif /* CONFIG_USBC_RETIMER_INTEL_BB */ |