diff options
author | Lu Zhang <lu.zhang@bitland.corp-partner.google.com> | 2020-06-09 11:38:09 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-10 04:05:49 +0000 |
commit | 1587e30266cf7e2efdd6c11872fe98d2034e5279 (patch) | |
tree | e87cdce30dd63cf3df83c5ea3dadfcd16b51f052 /baseboard | |
parent | d2ffb374350e59ac93a8cda6b38a58423b6f055e (diff) | |
download | chrome-ec-1587e30266cf7e2efdd6c11872fe98d2034e5279.tar.gz |
vilboz: Split mux to dalboz and vilboz
BUG=b:158125500
BRANCH=none
TEST=make buildall -j
Signed-off-by: Lu Zhang <lu.zhang@bitland.corp-partner.google.com>
Change-Id: I0836daf254f1c1c1fb2d7fd45868b55517689cf9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2235236
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r-- | baseboard/zork/baseboard.c | 16 | ||||
-rw-r--r-- | baseboard/zork/baseboard.h | 6 | ||||
-rw-r--r-- | baseboard/zork/variant_dalboz.c | 71 | ||||
-rw-r--r-- | baseboard/zork/variant_trembyle.c | 16 |
4 files changed, 18 insertions, 91 deletions
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c index 8e78105a44..41fda62343 100644 --- a/baseboard/zork/baseboard.c +++ b/baseboard/zork/baseboard.c @@ -325,22 +325,6 @@ __override uint32_t board_override_feature_flags0(uint32_t flags0) return flags0; } -void board_overcurrent_event(int port, int is_overcurrented) -{ - switch (port) { - case USBC_PORT_C0: - ioex_set_level(IOEX_USB_C0_FAULT_ODL, !is_overcurrented); - break; - - case USBC_PORT_C1: - ioex_set_level(IOEX_USB_C1_FAULT_ODL, !is_overcurrented); - break; - - default: - break; - } -} - void board_hibernate(void) { int port; diff --git a/baseboard/zork/baseboard.h b/baseboard/zork/baseboard.h index 708ba40e4d..287f6293c9 100644 --- a/baseboard/zork/baseboard.h +++ b/baseboard/zork/baseboard.h @@ -150,7 +150,6 @@ #define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE #define CONFIG_USB_PD_LOGGING #define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0 -#define CONFIG_USB_PD_PORT_MAX_COUNT 2 #define CONFIG_USB_PD_TCPC_LOW_POWER #define CONFIG_USB_PD_TCPM_MUX #define CONFIG_USB_PD_TCPM_NCT38XX @@ -160,7 +159,6 @@ #define CONFIG_USBC_PPC #define CONFIG_USBC_PPC_SBU #define CONFIG_USBC_PPC_AOZ1380 -#define CONFIG_USBC_PPC_NX20P3483 #define CONFIG_USBC_RETIMER_PI3HDX1204 #define CONFIG_USBC_SS_MUX #define CONFIG_USBC_SS_MUX_DFP_ONLY @@ -170,12 +168,12 @@ #define CONFIG_USB_MUX_RUNTIME_CONFIG #if defined(VARIANT_ZORK_TREMBYLE) + #define CONFIG_USB_PD_PORT_MAX_COUNT 2 + #define CONFIG_USBC_PPC_NX20P3483 #define CONFIG_USBC_RETIMER_PS8802 #define CONFIG_USBC_RETIMER_PS8818 #define CONFIG_IO_EXPANDER_PORT_COUNT USBC_PORT_COUNT #elif defined(VARIANT_ZORK_DALBOZ) - #define CONFIG_USB_MUX_PS8740 - #define CONFIG_USB_MUX_PS8743 #define CONFIG_IO_EXPANDER_PORT_COUNT IOEX_PORT_COUNT #define CONFIG_USB_PORT_ENABLE_DYNAMIC #endif diff --git a/baseboard/zork/variant_dalboz.c b/baseboard/zork/variant_dalboz.c index c7a9ae7e97..a3eb193e3e 100644 --- a/baseboard/zork/variant_dalboz.c +++ b/baseboard/zork/variant_dalboz.c @@ -5,17 +5,10 @@ #include "charger.h" #include "common.h" -#include "console.h" #include "driver/charger/isl9241.h" -#include "driver/ioexpander/pcal6408.h" -#include "driver/tcpm/nct38xx.h" -#include "driver/usb_mux/amd_fp5.h" -#include "driver/usb_mux/ps8743.h" #include "gpio.h" #include "hooks.h" #include "i2c.h" -#include "ioexpander.h" -#include "usb_mux.h" const struct i2c_port_t i2c_ports[] = { { @@ -90,67 +83,3 @@ const struct charger_config_t chg_chips[] = { }; const unsigned int chg_cnt = ARRAY_SIZE(chg_chips); -/***************************************************************************** - * USB-C - */ - -/* - * USB C0 port SBU mux use standalone FSUSB42UMX - * chip and it need a board specific driver. - * Overall, it will use chained mux framework. - */ -static int fsusb42umx_set_mux(const struct usb_mux *me, mux_state_t mux_state) -{ - if (mux_state & USB_PD_MUX_POLARITY_INVERTED) - ioex_set_level(IOEX_USB_C0_SBU_FLIP, 1); - else - ioex_set_level(IOEX_USB_C0_SBU_FLIP, 0); - - return EC_SUCCESS; -} - -/* - * .init is not necessary here because it has nothing - * to do. Primary mux will handle mux state so .get is - * not needed as well. usb_mux.c can handle the situation - * properly. - */ -const struct usb_mux_driver usbc0_sbu_mux_driver = { - .set = fsusb42umx_set_mux, -}; - -/* - * Since FSUSB42UMX is not a i2c device, .i2c_port and - * .i2c_addr_flags are not required here. - */ -const struct usb_mux usbc0_sbu_mux = { - .usb_port = USBC_PORT_C0, - .driver = &usbc0_sbu_mux_driver, -}; - -struct usb_mux usbc1_amd_fp5_usb_mux = { - .usb_port = USBC_PORT_C1, - .i2c_port = I2C_PORT_USB_AP_MUX, - .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, - .driver = &amd_fp5_usb_mux_driver, - .flags = USB_MUX_FLAG_SET_WITHOUT_FLIP, -}; - -struct usb_mux usb_muxes[] = { - [USBC_PORT_C0] = { - .usb_port = USBC_PORT_C0, - .i2c_port = I2C_PORT_USB_AP_MUX, - .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, - .driver = &amd_fp5_usb_mux_driver, - .next_mux = &usbc0_sbu_mux, - }, - [USBC_PORT_C1] = { - .usb_port = USBC_PORT_C1, - .i2c_port = I2C_PORT_TCPC1, - .i2c_addr_flags = PS8743_I2C_ADDR1_FLAG, - .driver = &ps8743_usb_mux_driver, - .next_mux = &usbc1_amd_fp5_usb_mux, - } -}; -BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT); - diff --git a/baseboard/zork/variant_trembyle.c b/baseboard/zork/variant_trembyle.c index ac39568835..3e76cc2bdf 100644 --- a/baseboard/zork/variant_trembyle.c +++ b/baseboard/zork/variant_trembyle.c @@ -228,6 +228,22 @@ int board_set_active_charge_port(int port) return EC_SUCCESS; } +void board_overcurrent_event(int port, int is_overcurrented) +{ + switch (port) { + case USBC_PORT_C0: + ioex_set_level(IOEX_USB_C0_FAULT_ODL, !is_overcurrented); + break; + + case USBC_PORT_C1: + ioex_set_level(IOEX_USB_C1_FAULT_ODL, !is_overcurrented); + break; + + default: + break; + } +} + const struct tcpc_config_t tcpc_config[] = { [USBC_PORT_C0] = { .bus_type = EC_BUS_TYPE_I2C, |