summaryrefslogtreecommitdiff
path: root/baseboard/intelrvp
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@chromium.org>2020-01-13 13:12:45 -0700
committerCommit Bot <commit-bot@chromium.org>2020-01-16 00:57:29 +0000
commit0dbd7e342cdc20d6fc7324da9440f837e87d8cf8 (patch)
tree24c05da86f22208fd2cce91d4d228e5124167bac /baseboard/intelrvp
parente45ef48d07fda7e449873de3161071774e57072c (diff)
downloadchrome-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.c24
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 */