summaryrefslogtreecommitdiff
path: root/baseboard/hatch
diff options
context:
space:
mode:
authorZhuohao Lee <zhuohao@chromium.org>2020-02-06 16:43:00 +0800
committerCommit Bot <commit-bot@chromium.org>2020-03-10 20:07:04 +0000
commite554690210a61a7e778ff84a2515b196a1586c80 (patch)
treef88efb125a2f75666b2fe5f18f8efc19a713a55a /baseboard/hatch
parent45932634859f7156d1cbdf7cec5ec1e9de8861c9 (diff)
downloadchrome-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.c32
-rw-r--r--baseboard/hatch/baseboard.h10
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 */