summaryrefslogtreecommitdiff
path: root/board/taniks/usbc_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/taniks/usbc_config.c')
-rw-r--r--board/taniks/usbc_config.c72
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;