summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiyu Qin <qinsiyu@huaqin.corp-partner.google.com>2021-08-26 10:25:55 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-13 23:31:51 +0000
commitedfeb40385988c6522521c1044a18be2beef393a (patch)
treebb2433b5dc0b5e5727581e3472a5e9d5f43aceaa
parentae3fc9861add88950b9463b29378b0928cd93c3c (diff)
downloadchrome-ec-edfeb40385988c6522521c1044a18be2beef393a.tar.gz
mrbland: Modify type-c port C0 configuration to match HW design
Mrbland only has one port which corresponds to port C1 in reference board. So the port C0 needs to modify to match the hardware design. BUG=b:197291418 BRANCH=trogdor TEST=make BOARD=mrbland Signed-off-by: Siyu Qin <qinsiyu@huaqin.corp-partner.google.com> Change-Id: I3235408dbbdfef5162fb43a66f436669fd0c1b71 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3118663 Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Bob Moragues <moragues@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
-rw-r--r--board/mrbland/base_detect.c2
-rw-r--r--board/mrbland/board.c43
-rw-r--r--board/mrbland/board.h6
-rw-r--r--board/mrbland/ec.tasklist5
-rw-r--r--board/mrbland/gpio.inc27
5 files changed, 20 insertions, 63 deletions
diff --git a/board/mrbland/base_detect.c b/board/mrbland/base_detect.c
index b08784357b..85bc04c4c2 100644
--- a/board/mrbland/base_detect.c
+++ b/board/mrbland/base_detect.c
@@ -3,7 +3,7 @@
* found in the LICENSE file.
*/
-/* Homestar base detection code */
+/* Mrbland base detection code */
#include "adc.h"
#include "base_state.h"
diff --git a/board/mrbland/board.c b/board/mrbland/board.c
index ce80c377d1..b837c44861 100644
--- a/board/mrbland/board.c
+++ b/board/mrbland/board.c
@@ -47,7 +47,6 @@
/* Forward declaration */
static void tcpc_alert_event(enum gpio_signal signal);
static void usb0_evt(enum gpio_signal signal);
-static void usb1_evt(enum gpio_signal signal);
static void ppc_interrupt(enum gpio_signal signal);
static void board_connect_c0_sbu(enum gpio_signal s);
static void switchcap_interrupt(enum gpio_signal signal);
@@ -63,9 +62,6 @@ static void tcpc_alert_event(enum gpio_signal signal)
case GPIO_USB_C0_PD_INT_ODL:
port = 0;
break;
- case GPIO_USB_C1_PD_INT_ODL:
- port = 1;
- break;
default:
return;
}
@@ -78,20 +74,12 @@ static void usb0_evt(enum gpio_signal signal)
task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12);
}
-static void usb1_evt(enum gpio_signal signal)
-{
- task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12);
-}
-
static void ppc_interrupt(enum gpio_signal signal)
{
switch (signal) {
case GPIO_USB_C0_SWCTL_INT_ODL:
sn5s330_interrupt(0);
break;
- case GPIO_USB_C1_SWCTL_INT_ODL:
- sn5s330_interrupt(1);
- break;
default:
break;
}
@@ -123,8 +111,6 @@ const struct i2c_port_t i2c_ports[] = {
GPIO_EC_I2C_POWER_SDA},
{"tcpc0", I2C_PORT_TCPC0, 1000, GPIO_EC_I2C_USB_C0_PD_SCL,
GPIO_EC_I2C_USB_C0_PD_SDA},
- {"tcpc1", I2C_PORT_TCPC1, 1000, GPIO_EC_I2C_USB_C1_PD_SCL,
- GPIO_EC_I2C_USB_C1_PD_SDA},
{"eeprom", I2C_PORT_EEPROM, 400, GPIO_EC_I2C_EEPROM_SCL,
GPIO_EC_I2C_EEPROM_SDA},
{"sensor", I2C_PORT_SENSOR, 400, GPIO_EC_I2C_SENSOR_SCL,
@@ -197,11 +183,6 @@ struct ppc_config_t ppc_chips[] = {
.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);
@@ -215,14 +196,6 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
},
.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,
- },
};
/*
@@ -238,20 +211,11 @@ const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
.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,
- }
};
/* 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,
},
@@ -430,7 +394,6 @@ static void board_init(void)
{
/* Enable BC1.2 interrupts */
gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L);
- gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L);
gpio_enable_interrupt(GPIO_ACCEL_GYRO_INT_L);
/*
@@ -465,7 +428,6 @@ void board_tcpc_init(void)
/* Enable TCPC interrupts */
gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C1_PD_INT_ODL);
/*
* Initialize HPD to low; after sysjump SOC needs to see
@@ -547,10 +509,8 @@ void board_reset_pd_mcu(void)
cflush();
gpio_set_level(GPIO_USB_C0_PD_RST_L, 0);
- gpio_set_level(GPIO_USB_C1_PD_RST_L, 0);
msleep(PS8XXX_RESET_DELAY_MS);
gpio_set_level(GPIO_USB_C0_PD_RST_L, 1);
- gpio_set_level(GPIO_USB_C1_PD_RST_L, 1);
}
void board_set_tcpc_power_mode(int port, int mode)
@@ -662,9 +622,6 @@ uint16_t tcpc_get_alert_status(void)
if (!gpio_get_level(GPIO_USB_C0_PD_INT_ODL))
if (gpio_get_level(GPIO_USB_C0_PD_RST_L))
status |= PD_STATUS_TCPC_ALERT_0;
- if (!gpio_get_level(GPIO_USB_C1_PD_INT_ODL))
- if (gpio_get_level(GPIO_USB_C1_PD_RST_L))
- status |= PD_STATUS_TCPC_ALERT_1;
return status;
}
diff --git a/board/mrbland/board.h b/board/mrbland/board.h
index 7ad5358963..77d8734850 100644
--- a/board/mrbland/board.h
+++ b/board/mrbland/board.h
@@ -43,7 +43,11 @@
#define CONFIG_USB_PD_TCPM_PS8755
#define CONFIG_USB_PD_TCPM_PS8805
#define CONFIG_USBC_PPC_SN5S330
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
+#define CONFIG_USB_PD_PORT_MAX_COUNT 1
+
+/* I2C */
+#undef I2C_PORT_TCPC0
+#define I2C_PORT_TCPC0 NPCX_I2C_PORT2_0
/* Lid accel/gyro */
#define CONFIG_ACCELGYRO_BMI160
diff --git a/board/mrbland/ec.tasklist b/board/mrbland/ec.tasklist
index ea2aaa97f5..493c39dc6c 100644
--- a/board/mrbland/ec.tasklist
+++ b/board/mrbland/ec.tasklist
@@ -10,13 +10,10 @@
#define CONFIG_TASK_LIST \
TASK_ALWAYS(HOOKS, hook_task, NULL, ULTRA_TASK_STACK_SIZE) \
TASK_ALWAYS(USB_CHG_P0, usb_charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(USB_CHG_P1, usb_charger_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_NOTEST(CHIPSET, chipset_task, NULL, ULTRA_TASK_STACK_SIZE) \
TASK_ALWAYS(CHARGER, charger_task, NULL, ULTRA_TASK_STACK_SIZE) \
TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_ALWAYS(HOSTCMD, host_command_task, NULL, ULTRA_TASK_STACK_SIZE) \
TASK_ALWAYS(CONSOLE, console_task, NULL, ULTRA_TASK_STACK_SIZE) \
TASK_ALWAYS(PD_C0, pd_task, NULL, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, ULTRA_TASK_STACK_SIZE)
+ TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, ULTRA_TASK_STACK_SIZE)
diff --git a/board/mrbland/gpio.inc b/board/mrbland/gpio.inc
index 3a11aff46c..6d09e87688 100644
--- a/board/mrbland/gpio.inc
+++ b/board/mrbland/gpio.inc
@@ -9,12 +9,9 @@
* Note: Those with interrupt handlers must be declared first. */
/* USB-C interrupts */
-GPIO_INT(USB_C0_PD_INT_ODL, PIN(E, 0), GPIO_INT_FALLING, tcpc_alert_event) /* Interrupt from port-0 TCPC */
-GPIO_INT(USB_C1_PD_INT_ODL, PIN(F, 5), GPIO_INT_FALLING, tcpc_alert_event) /* Interrupt from port-1 TCPC */
-GPIO_INT(USB_C0_SWCTL_INT_ODL, PIN(0, 3), GPIO_INT_FALLING, ppc_interrupt) /* Interrupt from port-0 PPC */
-GPIO_INT(USB_C1_SWCTL_INT_ODL, PIN(4, 0), GPIO_INT_FALLING, ppc_interrupt) /* Interrupt from port-1 PPC */
-GPIO_INT(USB_C0_BC12_INT_L, PIN(6, 1), GPIO_INT_FALLING | GPIO_PULL_UP, usb0_evt) /* Interrupt from port-0 BC1.2 */
-GPIO_INT(USB_C1_BC12_INT_L, PIN(8, 2), GPIO_INT_FALLING | GPIO_PULL_UP, usb1_evt) /* Interrupt from port-1 BC1.2 */
+GPIO_INT(USB_C0_PD_INT_ODL, PIN(F, 5), GPIO_INT_FALLING, tcpc_alert_event) /* Interrupt from port-0 TCPC */
+GPIO_INT(USB_C0_SWCTL_INT_ODL, PIN(4, 0), GPIO_INT_FALLING, ppc_interrupt) /* Interrupt from port-0 PPC */
+GPIO_INT(USB_C0_BC12_INT_L, PIN(8, 2), GPIO_INT_FALLING | GPIO_PULL_UP, usb0_evt) /* Interrupt from port-0 BC1.2 */
/* System interrupts */
GPIO_INT(CHG_ACOK_OD, PIN(0, 0), GPIO_INT_BOTH, extpower_interrupt) /* ACOK */
@@ -75,8 +72,7 @@ GPIO(EN_BASE, PIN(0, 4), GPIO_OUT_LOW) /* Enable power to detach
GPIO(POGO_VBUS_PRESENT, PIN(6, 2), GPIO_INPUT) /* POGO PIN */
/* USB-C */
-GPIO(USB_C0_PD_RST_L, PIN(F, 1), GPIO_ODR_HIGH) /* Port-0 TCPC chip reset, actaully Open-Drain */
-GPIO(USB_C1_PD_RST_L, PIN(E, 4), GPIO_ODR_HIGH) /* Port-1 TCPC chip reset, actually Open-Drain */
+GPIO(USB_C0_PD_RST_L, PIN(E, 4), GPIO_ODR_HIGH) /* Port-0 TCPC chip reset, actually Open-Drain */
GPIO(DP_MUX_OE_L, PIN(9, 6), GPIO_ODR_HIGH) /* DP mux enable, actually Open-Drain */
GPIO(DP_MUX_SEL, PIN(4, 5), GPIO_OUT_LOW) /* DP mux selection: L:C0, H:C1 */
GPIO(DP_HOT_PLUG_DET, PIN(9, 5), GPIO_OUT_LOW) /* DP HPD to AP */
@@ -108,10 +104,8 @@ GPIO(CHARGER_PMON, PIN(4, 2), GPIO_INPUT) /* ADC3 */
/* I2C */
GPIO(EC_I2C_POWER_SCL, PIN(B, 5), GPIO_INPUT)
GPIO(EC_I2C_POWER_SDA, PIN(B, 4), GPIO_INPUT)
-GPIO(EC_I2C_USB_C0_PD_SCL, PIN(9, 0), GPIO_INPUT)
-GPIO(EC_I2C_USB_C0_PD_SDA, PIN(8, 7), GPIO_INPUT)
-GPIO(EC_I2C_USB_C1_PD_SCL, PIN(9, 2), GPIO_INPUT)
-GPIO(EC_I2C_USB_C1_PD_SDA, PIN(9, 1), GPIO_INPUT)
+GPIO(EC_I2C_USB_C0_PD_SCL, PIN(9, 2), GPIO_INPUT)
+GPIO(EC_I2C_USB_C0_PD_SDA, PIN(9, 1), GPIO_INPUT)
GPIO(EC_I2C_EEPROM_SCL, PIN(3, 3), GPIO_INPUT)
GPIO(EC_I2C_EEPROM_SDA, PIN(3, 6), GPIO_INPUT)
GPIO(EC_I2C_SENSOR_SCL, PIN(B, 3), GPIO_INPUT | GPIO_SEL_1P8V)
@@ -177,12 +171,17 @@ UNUSED(PIN(8, 6))
UNUSED(PIN(7, 4))
UNUSED(PIN(D, 7))
UNUSED(PIN(8, 5))
+UNUSED(PIN(E, 0))
+UNUSED(PIN(0, 3))
+UNUSED(PIN(6, 1))
+UNUSED(PIN(F, 1))
+UNUSED(PIN(9, 0))
+UNUSED(PIN(8, 7))
/* Alternate functions GPIO definitions */
ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART (GPIO64/65) */
ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* I2C0 (GPIOB4/B5) */
-ALTERNATE(PIN_MASK(9, 0x07), 1, MODULE_I2C, 0) /* I2C1 SDA (GPIO90), I2C2 (GPIO91/92) */
-ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1 SCL (GPIO87) */
+ALTERNATE(PIN_MASK(9, 0x06), 1, MODULE_I2C, 0) /* I2C2 (GPIO91/92) */
ALTERNATE(PIN_MASK(3, 0x48), 1, MODULE_I2C, 0) /* I2C5 (GPIO33/36) */
ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, GPIO_SEL_1P8V) /* I2C7 (GPIOB2/B3) - 1.8V */
ALTERNATE(PIN_MASK(4, 0x1C), 0, MODULE_ADC, 0) /* ADC1 (GPIO44), ADC2 (GPIO43), ADC3 (GPIO42) */