diff options
Diffstat (limited to 'board/taniks/usbc_config.c')
-rw-r--r-- | board/taniks/usbc_config.c | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/board/taniks/usbc_config.c b/board/taniks/usbc_config.c index 0a1b7ff194..71a495c402 100644 --- a/board/taniks/usbc_config.c +++ b/board/taniks/usbc_config.c @@ -1,4 +1,4 @@ -/* Copyright 2021 The Chromium OS Authors. All rights reserved. +/* Copyright 2021 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -34,13 +34,13 @@ #include "usb_pd.h" #include "usb_pd_tcpm.h" -#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) -#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) +#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ##args) +#define CPRINTS(format, args...) cprints(CC_USBPD, format, ##args) #if 0 /* Debug only! */ -#define CPRINTSUSB(format, args...) cprints(CC_USBPD, format, ## args) -#define CPRINTFUSB(format, args...) cprintf(CC_USBPD, format, ## args) +#define CPRINTSUSB(format, args...) cprints(CC_USBPD, format, ##args) +#define CPRINTFUSB(format, args...) cprintf(CC_USBPD, format, ##args) #else #define CPRINTSUSB(format, args...) #define CPRINTFUSB(format, args...) @@ -99,24 +99,31 @@ unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); * to the virtual_usb_mux_driver so the AP gets notified of mux changes * and updates the TCSS configuration on state changes. */ -static const struct usb_mux usbc1_usb3_db_retimer = { - .usb_port = USBC_PORT_C1, - .driver = &tcpci_tcpm_usb_mux_driver, - .hpd_update = &ps8xxx_tcpc_update_hpd_status, +static const struct usb_mux_chain usbc1_usb3_db_retimer = { + .mux = + &(const struct usb_mux){ + .usb_port = USBC_PORT_C1, + .driver = &tcpci_tcpm_usb_mux_driver, + .hpd_update = &ps8xxx_tcpc_update_hpd_status, + }, }; -const struct usb_mux usb_muxes[] = { +const struct usb_mux_chain usb_muxes[] = { [USBC_PORT_C0] = { - .usb_port = USBC_PORT_C0, - .driver = &virtual_usb_mux_driver, - .hpd_update = &virtual_hpd_update, + .mux = &(const struct usb_mux) { + .usb_port = USBC_PORT_C0, + .driver = &virtual_usb_mux_driver, + .hpd_update = &virtual_hpd_update, + }, }, [USBC_PORT_C1] = { - /* PS8815 DB */ - .usb_port = USBC_PORT_C1, - .driver = &virtual_usb_mux_driver, - .hpd_update = &virtual_hpd_update, - .next_mux = &usbc1_usb3_db_retimer, + .mux = &(const struct usb_mux) { + /* PS8815 DB */ + .usb_port = USBC_PORT_C1, + .driver = &virtual_usb_mux_driver, + .hpd_update = &virtual_hpd_update, + }, + .next = &usbc1_usb3_db_retimer, }, }; BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT); @@ -169,21 +176,20 @@ static void ps8815_reset(void) CPRINTS("%s: patching ps8815 registers", __func__); - if (i2c_read8(I2C_PORT_USB_C1_TCPC, - PS8XXX_I2C_ADDR1_FLAGS, 0x0f, &val) == EC_SUCCESS) + if (i2c_read8(I2C_PORT_USB_C1_TCPC, PS8XXX_I2C_ADDR1_FLAGS, 0x0f, + &val) == EC_SUCCESS) CPRINTS("ps8815: reg 0x0f was %02x", val); else { CPRINTS("delay 10ms to make sure PS8815 is waken from idle"); msleep(10); } - - if (i2c_write8(I2C_PORT_USB_C1_TCPC, - PS8XXX_I2C_ADDR1_FLAGS, 0x0f, 0x31) == EC_SUCCESS) + if (i2c_write8(I2C_PORT_USB_C1_TCPC, PS8XXX_I2C_ADDR1_FLAGS, 0x0f, + 0x31) == EC_SUCCESS) CPRINTS("ps8815: reg 0x0f set to 0x31"); - if (i2c_read8(I2C_PORT_USB_C1_TCPC, - PS8XXX_I2C_ADDR1_FLAGS, 0x0f, &val) == EC_SUCCESS) + if (i2c_read8(I2C_PORT_USB_C1_TCPC, PS8XXX_I2C_ADDR1_FLAGS, 0x0f, + &val) == EC_SUCCESS) CPRINTS("ps8815: reg 0x0f now %02x", val); } @@ -209,10 +215,11 @@ static void board_init_ps8815_detection(void) CPRINTSUSB("%s", __func__); - rv = i2c_read8(I2C_PORT_USB_C1_TCPC, - PS8XXX_I2C_ADDR1_FLAGS, 0x00, &val); + rv = i2c_read8(I2C_PORT_USB_C1_TCPC, PS8XXX_I2C_ADDR1_FLAGS, 0x00, + &val); - db_usb_hw_pres = (rv == EC_SUCCESS)?DB_USB_PRESENT:DB_USB_NOT_PRESENT; + db_usb_hw_pres = (rv == EC_SUCCESS) ? DB_USB_PRESENT : + DB_USB_NOT_PRESENT; if (db_usb_hw_pres == DB_USB_NOT_PRESENT) CPRINTS("DB isn't plugged or something went wrong!"); @@ -230,7 +237,7 @@ static bool board_detect_ps8815_db(void) return true; if (ec_cfg_usb_db_type() == DB_USB3_PS8815 && - db_usb_hw_pres == DB_USB_PRESENT) + db_usb_hw_pres == DB_USB_PRESENT) return true; CPRINTSUSB("No PS8815 DB"); @@ -257,8 +264,7 @@ void board_reset_pd_mcu(void) /* * delay for power-on to reset-off and min. assertion time */ - msleep(GENERIC_MAX(PS8XXX_RESET_DELAY_MS, - PS8815_PWR_H_RST_H_DELAY_MS)); + msleep(GENERIC_MAX(PS8XXX_RESET_DELAY_MS, PS8815_PWR_H_RST_H_DELAY_MS)); gpio_set_level(GPIO_USB_C0_TCPC_RST_ODL, 1); gpio_set_level(GPIO_USB_C1_RT_RST_R_ODL, 1); @@ -274,7 +280,7 @@ void board_reset_pd_mcu(void) */ board_init_ps8815_detection(); usb_mux_hpd_update(USBC_PORT_C1, USB_PD_MUX_HPD_LVL_DEASSERTED | - USB_PD_MUX_HPD_IRQ_DEASSERTED); + USB_PD_MUX_HPD_IRQ_DEASSERTED); } static void board_tcpc_init(void) @@ -385,7 +391,7 @@ __override bool board_is_dts_port(int port) __override uint8_t board_get_usb_pd_port_count(void) { - CPRINTSUSB("%s is called by task_id:%d", __func__, task_get_current()); + CPRINTSUSB("%s is called by task_id:%d", __func__, task_get_current()); if (board_detect_ps8815_db()) return CONFIG_USB_PD_PORT_MAX_COUNT; |