diff options
author | Zhuohao Lee <zhuohao@chromium.org> | 2020-02-06 16:43:00 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-10 20:07:04 +0000 |
commit | e554690210a61a7e778ff84a2515b196a1586c80 (patch) | |
tree | f88efb125a2f75666b2fe5f18f8efc19a713a55a /baseboard/hatch | |
parent | 45932634859f7156d1cbdf7cec5ec1e9de8861c9 (diff) | |
download | chrome-ec-e554690210a61a7e778ff84a2515b196a1586c80.tar.gz |
palkia: remove 1 typec port, enable USB A, remove all sensors
This patch includes the changes as below:
1. Change baseboard setting to adopt the change for the palkia
2. Modify GPIO according to the palkia schematics.
3. Remove all sensors
4. Remove USB typec port 1
5. Enable USB A
Battery and keyboard setting are put to the separate CL.
BUG=b:147078849
BRANCH=firmware-hatch-12669.B
TEST=run on DUT
Change-Id: I86a7eb4e9680bf66475d3a5331e870da01526128
Signed-off-by: Zhuohao Lee <zhuohao@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2040759
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'baseboard/hatch')
-rw-r--r-- | baseboard/hatch/baseboard.c | 32 | ||||
-rw-r--r-- | baseboard/hatch/baseboard.h | 10 |
2 files changed, 35 insertions, 7 deletions
diff --git a/baseboard/hatch/baseboard.c b/baseboard/hatch/baseboard.c index e91a37ea98..79533ea79e 100644 --- a/baseboard/hatch/baseboard.c +++ b/baseboard/hatch/baseboard.c @@ -72,9 +72,13 @@ struct keyboard_scan_config keyscan_config = { /******************************************************************************/ /* I2C port map configuration */ const struct i2c_port_t i2c_ports[] = { +#ifdef CONFIG_ACCEL_FIFO {"sensor", I2C_PORT_SENSOR, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA}, +#endif {"ppc0", I2C_PORT_PPC0, 100, GPIO_I2C1_SCL, GPIO_I2C1_SDA}, +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 {"tcpc1", I2C_PORT_TCPC1, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA}, +#endif {"tcpc0", I2C_PORT_TCPC0, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA}, #ifdef BOARD_AKEMI {"thermal", I2C_PORT_THERMAL, 400, GPIO_I2C4_SCL, GPIO_I2C4_SDA}, @@ -177,12 +181,13 @@ struct ppc_config_t ppc_chips[CONFIG_USB_PD_PORT_MAX_COUNT] = { .i2c_addr_flags = SN5S330_ADDR0_FLAGS, .drv = &sn5s330_drv }, - +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 [USB_PD_PORT_TCPC_1] = { .i2c_port = I2C_PORT_TCPC1, .i2c_addr_flags = SN5S330_ADDR0_FLAGS, .drv = &sn5s330_drv }, +#endif }; unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); @@ -195,15 +200,19 @@ void baseboard_tcpc_init(void) /* Enable PPC interrupts. */ gpio_enable_interrupt(GPIO_USB_C0_PPC_INT_ODL); - gpio_enable_interrupt(GPIO_USB_C1_PPC_INT_ODL); - /* Enable TCPC interrupts. */ gpio_enable_interrupt(GPIO_USB_C0_TCPC_INT_ODL); - gpio_enable_interrupt(GPIO_USB_C1_TCPC_INT_ODL); - /* Enable BC 1.2 interrupts */ gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_ODL); + +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 + /* Enable PPC interrupts. */ + gpio_enable_interrupt(GPIO_USB_C1_PPC_INT_ODL); + /* Enable TCPC interrupts. */ + gpio_enable_interrupt(GPIO_USB_C1_TCPC_INT_ODL); + /* Enable BC 1.2 interrupts */ gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_ODL); +#endif } DECLARE_HOOK(HOOK_INIT, baseboard_tcpc_init, HOOK_PRIO_INIT_I2C + 1); @@ -223,12 +232,14 @@ uint16_t tcpc_get_alert_status(void) status |= PD_STATUS_TCPC_ALERT_0; } +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 if (!gpio_get_level(GPIO_USB_C1_TCPC_INT_ODL)) { level = !!(tcpc_config[USB_PD_PORT_TCPC_1].flags & TCPC_FLAGS_RESET_ACTIVE_HIGH); if (gpio_get_level(GPIO_USB_C1_TCPC_RST) != level) status |= PD_STATUS_TCPC_ALERT_1; } +#endif return status; } @@ -261,10 +272,12 @@ void board_reset_pd_mcu(void) BOARD_TCPC_C0_RESET_HOLD_DELAY, BOARD_TCPC_C0_RESET_POST_DELAY); +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 /* Reset TCPC1 */ reset_pd_port(USB_PD_PORT_TCPC_1, GPIO_USB_C1_TCPC_RST, BOARD_TCPC_C1_RESET_HOLD_DELAY, BOARD_TCPC_C1_RESET_POST_DELAY); +#endif } int board_set_active_charge_port(int port) @@ -325,8 +338,13 @@ int ppc_get_alert_status(int port) { if (port == USB_PD_PORT_TCPC_0) return gpio_get_level(GPIO_USB_C0_PPC_INT_ODL) == 0; - else - return gpio_get_level(GPIO_USB_C1_PPC_INT_ODL) == 0; + return port == USB_PD_PORT_TCPC_0 ? + gpio_get_level(GPIO_USB_C0_PPC_INT_ODL) == 0 : +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 + gpio_get_level(GPIO_USB_C1_PPC_INT_ODL) == 0; +#else + EC_SUCCESS; +#endif } void board_set_charge_limit(int port, int supplier, int charge_ma, diff --git a/baseboard/hatch/baseboard.h b/baseboard/hatch/baseboard.h index be5b678c59..f077de20e4 100644 --- a/baseboard/hatch/baseboard.h +++ b/baseboard/hatch/baseboard.h @@ -78,6 +78,7 @@ #define I2C_PORT_ACCEL I2C_PORT_SENSOR /* Enable sensor fifo, must also define the _SIZE and _THRES */ +#if !defined(BOARD_PALKIA) #define CONFIG_ACCEL_FIFO /* FIFO size is in power of 2. */ #define CONFIG_ACCEL_FIFO_SIZE 256 @@ -87,6 +88,7 @@ /* Sensor console commands */ #define CONFIG_CMD_ACCELS #define CONFIG_CMD_ACCEL_INFO +#endif /* !BOARD_PALKIA */ /* Common charger defines */ #define CONFIG_CHARGE_MANAGER @@ -122,7 +124,11 @@ /* USB Type C and USB PD defines */ #define CONFIG_USB_POWER_DELIVERY #define CONFIG_USB_PD_TCPMV1 +#if defined(BOARD_PALKIA) +#define CONFIG_USB_PD_PORT_MAX_COUNT 1 +#else #define CONFIG_USB_PD_PORT_MAX_COUNT 2 +#endif #define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0 #define CONFIG_USB_PD_TCPC_LOW_POWER #define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE @@ -149,13 +155,17 @@ #define CONFIG_CMD_CHARGEN #define USB_PD_PORT_TCPC_0 0 +#if CONFIG_USB_PD_PORT_MAX_COUNT > 1 #define USB_PD_PORT_TCPC_1 1 +#endif /* BC 1.2 */ #define CONFIG_USB_CHARGER +#if !defined(BOARD_PALKIA) /* Common Sensor Defines */ #define CONFIG_TABLET_MODE +#endif /* TODO(b/122273953): Use correct PD delay values */ #define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */ |