diff options
author | Simon Glass <sjg@chromium.org> | 2021-03-22 15:56:13 +1300 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-03-24 04:53:32 +0000 |
commit | 18dd72e55c6ea7bb8a3a0429cf8df782f898e511 (patch) | |
tree | 29effd1e469476cd6e1a44b34d3b042a1b528e7b | |
parent | 60278c000562205e9795fe4b91594b6514d9c344 (diff) | |
download | chrome-ec-18dd72e55c6ea7bb8a3a0429cf8df782f898e511.tar.gz |
lazor: Move PPC/TCPC, muxes and BC1.2 to usbc_config
Move these definitions into the common file so that Zephyr can build
them also.
BUG=b:183296099
BRANCH=none
TEST=make BOARD=lazor -j4
Change-Id: I5234b265cf876eb06b9f6ca2b7175152d952bb47
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2777640
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | board/lazor/board.c | 76 | ||||
-rw-r--r-- | board/lazor/usbc_config.c | 72 |
2 files changed, 74 insertions, 74 deletions
diff --git a/board/lazor/board.c b/board/lazor/board.c index d8b1e6ec6c..eb39f7673a 100644 --- a/board/lazor/board.c +++ b/board/lazor/board.c @@ -17,13 +17,10 @@ #include "driver/accel_kx022.h" #include "driver/ln9310.h" #include "driver/ppc/sn5s330.h" -#include "driver/tcpm/ps8xxx.h" -#include "driver/tcpm/tcpci.h" #include "gpio.h" #include "hooks.h" #include "keyboard_scan.h" #include "lid_switch.h" -#include "pi3usb9201.h" #include "power.h" #include "power/sc7180.h" #include "power_button.h" @@ -34,8 +31,10 @@ #include "switch.h" #include "tablet_mode.h" #include "task.h" +#include "usb_charge.h" #include "usbc_config.h" #include "usbc_ocp.h" +#include "usb_mux.h" #include "usbc_ppc.h" #define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -175,77 +174,6 @@ const struct pwm_t pwm_channels[] = { }; BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); -/* Power Path Controller */ -struct ppc_config_t ppc_chips[] = { - { - .i2c_port = I2C_PORT_TCPC0, - .i2c_addr_flags = SN5S330_ADDR0_FLAGS, - .drv = &sn5s330_drv - }, - { - .i2c_port = I2C_PORT_TCPC1, - .i2c_addr_flags = SN5S330_ADDR0_FLAGS, - .drv = &sn5s330_drv - }, -}; -unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); - -/* TCPC mux configuration */ -const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC0, - .addr_flags = PS8751_I2C_ADDR1_FLAGS, - }, - .drv = &ps8xxx_tcpm_drv, - }, - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC1, - .addr_flags = PS8751_I2C_ADDR1_FLAGS, - }, - .drv = &ps8xxx_tcpm_drv, - }, -}; - -/* - * Port-0/1 USB mux driver. - * - * The USB mux is handled by TCPC chip and the HPD update is through a GPIO - * to AP. But the TCPC chip is also needed to know the HPD status; otherwise, - * the mux misbehaves. - */ -const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .usb_port = 0, - .driver = &tcpci_tcpm_usb_mux_driver, - .hpd_update = &ps8xxx_tcpc_update_hpd_status, - }, - { - .usb_port = 1, - .driver = &tcpci_tcpm_usb_mux_driver, - .hpd_update = &ps8xxx_tcpc_update_hpd_status, - } -}; - -const int usb_port_enable[USB_PORT_COUNT] = { - GPIO_EN_USB_A_5V, -}; - -/* BC1.2 */ -const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = { - { - .i2c_port = I2C_PORT_POWER, - .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, - }, - { - .i2c_port = I2C_PORT_EEPROM, - .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, - }, -}; - /* Mutexes */ static struct mutex g_base_mutex; static struct mutex g_lid_mutex; diff --git a/board/lazor/usbc_config.c b/board/lazor/usbc_config.c index 99b69b3751..00c5a7df54 100644 --- a/board/lazor/usbc_config.c +++ b/board/lazor/usbc_config.c @@ -6,6 +6,7 @@ /* Lazor board-specific USB-C configuration */ #include "bc12/pi3usb9201_public.h" +#include "charge_manager.h" #include "charge_state.h" #include "common.h" #include "config.h" @@ -41,6 +42,77 @@ void tcpc_alert_event(enum gpio_signal signal) schedule_deferred_pd_interrupt(port); } +/* Power Path Controller */ +struct ppc_config_t ppc_chips[] = { + { + .i2c_port = I2C_PORT_TCPC0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv + }, + { + .i2c_port = I2C_PORT_TCPC1, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv + }, +}; +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/* TCPC mux configuration */ +const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { + { + .bus_type = EC_BUS_TYPE_I2C, + .i2c_info = { + .port = I2C_PORT_TCPC0, + .addr_flags = PS8751_I2C_ADDR1_FLAGS, + }, + .drv = &ps8xxx_tcpm_drv, + }, + { + .bus_type = EC_BUS_TYPE_I2C, + .i2c_info = { + .port = I2C_PORT_TCPC1, + .addr_flags = PS8751_I2C_ADDR1_FLAGS, + }, + .drv = &ps8xxx_tcpm_drv, + }, +}; + +/* + * Port-0/1 USB mux driver. + * + * The USB mux is handled by TCPC chip and the HPD update is through a GPIO + * to AP. But the TCPC chip is also needed to know the HPD status; otherwise, + * the mux misbehaves. + */ +const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { + { + .usb_port = 0, + .driver = &tcpci_tcpm_usb_mux_driver, + .hpd_update = &ps8xxx_tcpc_update_hpd_status, + }, + { + .usb_port = 1, + .driver = &tcpci_tcpm_usb_mux_driver, + .hpd_update = &ps8xxx_tcpc_update_hpd_status, + } +}; + +const int usb_port_enable[USB_PORT_COUNT] = { + GPIO_EN_USB_A_5V, +}; + +/* BC1.2 */ +const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = { + { + .i2c_port = I2C_PORT_POWER, + .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, + }, + { + .i2c_port = I2C_PORT_EEPROM, + .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, + }, +}; + void board_reset_pd_mcu(void) { cprints(CC_USB, "Resetting TCPCs..."); |