summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiong.huang <xiong.huang@bitland.corp-partner.google.com>2020-06-09 15:59:32 +0800
committerCommit Bot <commit-bot@chromium.org>2020-06-11 05:57:27 +0000
commit2dd31c0c7e4f23233830ceb09724896cfe50541c (patch)
tree7b4c66d1ac6b99f2dcf8e1dffee2485a9add4ed0
parent0d11e89afe3ac74dbdc0a77377f5a1b6a2dc760c (diff)
downloadchrome-ec-2dd31c0c7e4f23233830ceb09724896cfe50541c.tar.gz
boten: remove DB type-C port and peripheral chips
Remove chips: Charge chip - SM5803 TCPC and USB mux chip - ANX7447 USB retimer chip - TUSB544 BC1.2 chip - PI3USB9201 BUG=b:157626290, b:158023819 BRANCH=none TEST=make buildall -j Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: Iac30f683774368b2b5706c5f804caf549a54139a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2235238 Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r--baseboard/dedede/baseboard.h7
-rw-r--r--board/boten/board.c176
-rw-r--r--board/boten/board.h7
-rw-r--r--board/boten/ec.tasklist5
-rw-r--r--board/boten/gpio.inc4
-rw-r--r--board/waddledee/board.h7
-rw-r--r--board/waddledoo/board.h7
-rw-r--r--board/wheelie/board.h7
8 files changed, 34 insertions, 186 deletions
diff --git a/baseboard/dedede/baseboard.h b/baseboard/dedede/baseboard.h
index 940765137c..8b15a0f6ad 100644
--- a/baseboard/dedede/baseboard.h
+++ b/baseboard/dedede/baseboard.h
@@ -129,7 +129,6 @@
#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 15001
#define CONFIG_USB_CHARGER
#define CONFIG_TRICKLE_CHARGING
-#undef CONFIG_CHARGER_SINGLE_CHIP
/* Keyboard */
#define CONFIG_KEYBOARD_COL2_INVERTED
@@ -229,12 +228,6 @@
#error "Must define a VARIANT_DEDEDE_EC!"
#endif
-enum chg_id {
- CHARGER_PRIMARY,
- CHARGER_SECONDARY,
- CHARGER_NUM,
-};
-
/* Interrupt handler for signals that are used to generate ALL_SYS_PGOOD. */
void baseboard_all_sys_pgood_interrupt(enum gpio_signal signal);
diff --git a/board/boten/board.c b/board/boten/board.c
index 5730749735..17d0066258 100644
--- a/board/boten/board.c
+++ b/board/boten/board.c
@@ -14,9 +14,7 @@
#include "driver/bc12/pi3usb9201.h"
#include "driver/charger/sm5803.h"
#include "driver/sync.h"
-#include "driver/retimer/tusb544.h"
#include "driver/temp_sensor/thermistor.h"
-#include "driver/tcpm/anx7447.h"
#include "driver/tcpm/it83xx_pd.h"
#include "driver/usb_mux/it5205.h"
#include "gpio.h"
@@ -44,9 +42,6 @@
#define INT_RECHECK_US 5000
-/* C1 interrupt line swapped between board versions, track it in a variable */
-static enum gpio_signal c1_int_line;
-
/* C0 interrupt line shared by BC 1.2 and charger */
static void check_c0_line(void);
DECLARE_DEFERRED(check_c0_line);
@@ -81,41 +76,6 @@ static void usb_c0_interrupt(enum gpio_signal s)
hook_call_deferred(&check_c0_line_data, INT_RECHECK_US);
}
-/* C1 interrupt line shared by BC 1.2, TCPC, and charger */
-static void check_c1_line(void);
-DECLARE_DEFERRED(check_c1_line);
-
-static void notify_c1_chips(void)
-{
- schedule_deferred_pd_interrupt(1);
- task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12, 0);
- sm5803_interrupt(1);
-}
-
-static void check_c1_line(void)
-{
- /*
- * If line is still being held low, see if there's more to process from
- * one of the chips.
- */
- if (!gpio_get_level(c1_int_line)) {
- notify_c1_chips();
- hook_call_deferred(&check_c1_line_data, INT_RECHECK_US);
- }
-}
-
-static void usb_c1_interrupt(enum gpio_signal s)
-{
- /* Cancel any previous calls to check the interrupt line */
- hook_call_deferred(&check_c1_line_data, -1);
-
- /* Notify all chips using this line that an interrupt came in */
- notify_c1_chips();
-
- /* Check the line again in 5ms */
- hook_call_deferred(&check_c1_line_data, INT_RECHECK_US);
-}
-
static void c0_ccsbu_ovp_interrupt(enum gpio_signal s)
{
cprints(CC_USBPD, "C0: CC OVP, SBU OVP, or thermal event");
@@ -132,25 +92,15 @@ const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = {
.i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
.flags = PI3USB9201_ALWAYS_POWERED,
},
- {
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
- .flags = PI3USB9201_ALWAYS_POWERED,
- },
};
/* Charger chips */
const struct charger_config_t chg_chips[] = {
- [CHARGER_PRIMARY] = {
+ {
.i2c_port = I2C_PORT_USB_C0,
.i2c_addr_flags = SM5803_ADDR_CHARGER_FLAGS,
.drv = &sm5803_drv,
},
- [CHARGER_SECONDARY] = {
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = SM5803_ADDR_CHARGER_FLAGS,
- .drv = &sm5803_drv,
- },
};
const unsigned int chg_cnt = ARRAY_SIZE(chg_chips);
@@ -160,23 +110,6 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
.bus_type = EC_BUS_TYPE_EMBEDDED,
.drv = &it83xx_tcpm_drv,
},
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_SUB_USB_C1,
- .addr_flags = AN7447_TCPC0_I2C_ADDR_FLAGS,
- },
- .drv = &anx7447_tcpm_drv,
- .flags = TCPC_FLAGS_TCPCI_REV2_0,
- },
-};
-
-/* USB Retimer */
-const struct usb_mux usbc1_retimer = {
- .usb_port = 1,
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = TUSB544_I2C_ADDR_FLAGS0,
- .driver = &tusb544_drv,
};
/* USB Muxes */
@@ -187,41 +120,16 @@ const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
.i2c_addr_flags = IT5205_I2C_ADDR1_FLAGS,
.driver = &it5205_usb_mux_driver,
},
- {
- .usb_port = 1,
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = AN7447_TCPC0_I2C_ADDR_FLAGS,
- .driver = &anx7447_usb_mux_driver,
- .next_mux = &usbc1_retimer,
- },
};
void board_init(void)
{
- int on;
-
- if (system_get_board_version() <= 0) {
- pd_set_max_voltage(5000);
- c1_int_line = GPIO_USB_C1_INT_V0_ODL;
- } else {
- c1_int_line = GPIO_USB_C1_INT_V1_ODL;
- }
-
-
gpio_enable_interrupt(GPIO_USB_C0_INT_ODL);
- gpio_enable_interrupt(c1_int_line);
gpio_enable_interrupt(GPIO_USB_C0_CCSBU_OVP_ODL);
/* Charger on the MB will be outputting PROCHOT_ODL and OD CHG_DET */
- sm5803_configure_gpio0(CHARGER_PRIMARY, GPIO0_MODE_PROCHOT, 1);
- sm5803_configure_chg_det_od(CHARGER_PRIMARY, 1);
-
- /* Charger on the sub-board will be a push-pull GPIO */
- sm5803_configure_gpio0(CHARGER_SECONDARY, GPIO0_MODE_OUTPUT, 0);
-
- /* Turn on 5V if the system is on, otherwise turn it off */
- on = chipset_in_state(CHIPSET_STATE_ON | CHIPSET_STATE_ANY_SUSPEND);
- board_power_5v_enable(on);
+ sm5803_configure_gpio0(CHARGER_SOLO, GPIO0_MODE_PROCHOT, 1);
+ sm5803_configure_chg_det_od(CHARGER_SOLO, 1);
}
DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
@@ -233,34 +141,12 @@ void board_reset_pd_mcu(void)
*/
}
-__override void board_power_5v_enable(int enable)
-{
- /*
- * Motherboard has a GPIO to turn on the 5V regulator, but the sub-board
- * sets it through the charger GPIO.
- */
- gpio_set_level(GPIO_EN_PP5000, !!enable);
- if (sm5803_set_gpio0_level(1, !!enable))
- CPRINTUSB("Failed to %sable sub rails!", enable ? "en" : "dis");
-}
-
uint16_t tcpc_get_alert_status(void)
{
/*
- * TCPC 0 is embedded in the EC and processes interrupts in the chip
- * code (it83xx/intc.c)
+ * TODO(b/157626290): Boten will use one TCPC RAA489000.
*/
-
uint16_t status = 0;
- int regval;
-
- /* Check whether TCPC 1 pulled the shared interrupt line */
- if (!gpio_get_level(c1_int_line)) {
- if (!tcpc_read16(1, TCPC_REG_ALERT, &regval)) {
- if (regval)
- status = PD_STATUS_TCPC_ALERT_1;
- }
- }
return status;
}
@@ -268,12 +154,10 @@ uint16_t tcpc_get_alert_status(void)
int extpower_is_present(void)
{
int chg0 = 0;
- int chg1 = 0;
sm5803_get_chg_det(0, &chg0);
- sm5803_get_chg_det(1, &chg1);
- return chg0 || chg1;
+ return chg0;
}
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
@@ -290,55 +174,9 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int board_set_active_charge_port(int port)
{
- int is_valid_port = (port >= 0 && port < CONFIG_USB_PD_PORT_MAX_COUNT);
- int p0_otg, p1_otg;
-
- if (!is_valid_port && port != CHARGE_PORT_NONE)
- return EC_ERROR_INVAL;
-
- /* TODO(b/147440290): charger functions should take chgnum */
- p0_otg = chg_chips[0].drv->is_sourcing_otg_power(0, 0);
- p1_otg = chg_chips[1].drv->is_sourcing_otg_power(1, 1);
-
- if (port == CHARGE_PORT_NONE) {
- CPRINTUSB("Disabling all charge ports");
-
- if (!p0_otg)
- chg_chips[0].drv->set_mode(0,
- CHARGE_FLAG_INHIBIT_CHARGE);
- if (!p1_otg)
- chg_chips[1].drv->set_mode(1,
- CHARGE_FLAG_INHIBIT_CHARGE);
-
- return EC_SUCCESS;
- }
-
- CPRINTUSB("New chg p%d", port);
-
/*
- * Charger task will take care of enabling charging on the new charge
- * port. Here, we ensure the other port is not charging by changing
- * CHG_EN
+ * TODO(b/157626290): Boten will use one charge RAA489000.
*/
- if (port == 0) {
- if (p0_otg) {
- CPRINTUSB("Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
- if (!p1_otg) {
- chg_chips[1].drv->set_mode(1,
- CHARGE_FLAG_INHIBIT_CHARGE);
- }
- } else {
- if (p1_otg) {
- CPRINTUSB("Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
- if (!p0_otg) {
- chg_chips[0].drv->set_mode(0,
- CHARGE_FLAG_INHIBIT_CHARGE);
- }
- }
return EC_SUCCESS;
}
@@ -360,7 +198,7 @@ __override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
{
int current;
- if (port < 0 || port > CONFIG_USB_PD_PORT_MAX_COUNT)
+ if (port != 0)
return;
current = (rp == TYPEC_RP_3A0) ? 3000 : 1500;
diff --git a/board/boten/board.h b/board/boten/board.h
index 8452a98acf..be1adabdcf 100644
--- a/board/boten/board.h
+++ b/board/boten/board.h
@@ -22,7 +22,7 @@
#define CONFIG_BC12_DETECT_PI3USB9201
/* Charger */
-#define CONFIG_CHARGER_SM5803 /* C0 and C1: Charger */
+#define CONFIG_CHARGER_SM5803 /* C0 Charger */
#define CONFIG_USB_PD_VBUS_DETECT_CHARGER
#define CONFIG_USB_PD_5V_CHARGER_CTRL
#define CONFIG_CHARGER_OTG
@@ -57,8 +57,9 @@
#define CONFIG_GMR_TABLET_MODE
/* TCPC */
+#undef CONFIG_USB_PD_PORT_MAX_COUNT
+#define CONFIG_USB_PD_PORT_MAX_COUNT 1
#define CONFIG_USB_PD_TCPM_ITE_ON_CHIP /* C0: ITE EC TCPC */
-#define CONFIG_USB_PD_TCPM_ANX7447 /* C1: ANX TCPC + Mux */
#define CONFIG_USB_PD_ITE_ACTIVE_PORT_COUNT 1
/* Thermistors */
@@ -71,8 +72,6 @@
#define CONFIG_USB_MUX_IT5205 /* C1: ITE Mux */
#define I2C_PORT_USB_MUX I2C_PORT_USB_C0 /* Required for ITE Mux */
-#define CONFIG_USBC_RETIMER_TUSB544 /* C1 Redriver: TUSB544 */
-
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/boten/ec.tasklist b/board/boten/ec.tasklist
index 607a1407fd..7a73a8fdcc 100644
--- a/board/boten/ec.tasklist
+++ b/board/boten/ec.tasklist
@@ -11,7 +11,6 @@
TASK_ALWAYS(HOOKS, hook_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_ALWAYS(USB_CHG_P0, usb_charger_task, 0, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(USB_CHG_P1, usb_charger_task, 1, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(CHARGER, charger_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(CHIPSET, chipset_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \
@@ -19,6 +18,4 @@
TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_ALWAYS(POWERBTN, power_button_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C0, pd_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, VENTI_TASK_STACK_SIZE)
+ TASK_ALWAYS(PD_C0, pd_task, NULL, VENTI_TASK_STACK_SIZE)
diff --git a/board/boten/gpio.inc b/board/boten/gpio.inc
index cfa9841d5e..6f7286792b 100644
--- a/board/boten/gpio.inc
+++ b/board/boten/gpio.inc
@@ -30,8 +30,6 @@ GPIO_INT(UART1_RX, PIN(B, 0), GPIO_INT_BOTH, uart_deepsleep_interrupt) /* UART_
/* USB-C interrupts */
GPIO_INT(USB_C0_INT_ODL, PIN(K, 0), GPIO_INT_FALLING | GPIO_PULL_UP, usb_c0_interrupt) /* BC12 and charger */
-GPIO_INT(USB_C1_INT_V0_ODL, PIN(B, 5), GPIO_INT_FALLING | GPIO_PULL_UP, usb_c1_interrupt) /* TCPC, charger, BC12 - board version 0 */
-GPIO_INT(USB_C1_INT_V1_ODL, PIN(E, 6), GPIO_INT_FALLING | GPIO_PULL_UP, usb_c1_interrupt) /* TCPC, charger, BC12 - board version 1 */
GPIO_INT(USB_C0_CCSBU_OVP_ODL, PIN(K, 6), GPIO_INT_FALLING | GPIO_PULL_UP, c0_ccsbu_ovp_interrupt) /* Fault protection */
/* Other interrupts */
@@ -102,12 +100,14 @@ GPIO(EC_ENTERING_RW, PIN(G, 0), GPIO_OUT_LOW)
GPIO(CCD_MODE_ODL, PIN(H, 5), GPIO_INPUT)
GPIO(EC_BATTERY_PRES_ODL, PIN(I, 4), GPIO_INPUT)
GPIO(PEN_DET_ODL, PIN(J, 1), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(EN_PP5000_PEN, PIN(B, 5), GPIO_OUT_LOW)
GPIO(EN_KB_BL, PIN(J, 3), GPIO_OUT_LOW) /* Currently unused */
GPIO(ECH1_PACKET_MODE, PIN(H, 1), GPIO_OUT_LOW)
/* NC pins, enable internal pull-down to avoid floating state. */
GPIO(GPIOC0_NC, PIN(C, 0), GPIO_INPUT | GPIO_PULL_DOWN)
GPIO(GPIOC3_NC, PIN(C, 3), GPIO_INPUT | GPIO_PULL_DOWN)
+GPIO(GPIOE6_NC, PIN(E, 6), GPIO_INPUT | GPIO_PULL_DOWN)
GPIO(GPIOG3_NC, PIN(G, 3), GPIO_INPUT | GPIO_PULL_DOWN)
GPIO(GPIOG4_NC, PIN(G, 4), GPIO_INPUT | GPIO_PULL_DOWN)
GPIO(GPIOG5_NC, PIN(G, 5), GPIO_INPUT | GPIO_PULL_DOWN)
diff --git a/board/waddledee/board.h b/board/waddledee/board.h
index 8452a98acf..faa3e1aa13 100644
--- a/board/waddledee/board.h
+++ b/board/waddledee/board.h
@@ -26,6 +26,7 @@
#define CONFIG_USB_PD_VBUS_DETECT_CHARGER
#define CONFIG_USB_PD_5V_CHARGER_CTRL
#define CONFIG_CHARGER_OTG
+#undef CONFIG_CHARGER_SINGLE_CHIP
/* LED */
#define CONFIG_LED_PWM_COUNT 1
@@ -78,6 +79,12 @@
#include "gpio_signal.h"
#include "registers.h"
+enum chg_id {
+ CHARGER_PRIMARY,
+ CHARGER_SECONDARY,
+ CHARGER_NUM,
+};
+
enum pwm_channel {
PWM_CH_KBLIGHT,
PWM_CH_LED_RED,
diff --git a/board/waddledoo/board.h b/board/waddledoo/board.h
index 6b09e34d3f..d4bdf284ac 100644
--- a/board/waddledoo/board.h
+++ b/board/waddledoo/board.h
@@ -24,6 +24,7 @@
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_OCPC_DEF_RBATT_MOHMS 22 /* R_DS(on) 11.6mOhm + 10mOhm sns rstr */
#define CONFIG_OCPC
+#undef CONFIG_CHARGER_SINGLE_CHIP
/* EC console commands */
#define CONFIG_CMD_TCPC_DUMP
@@ -100,6 +101,12 @@
#include "gpio_signal.h"
#include "registers.h"
+enum chg_id {
+ CHARGER_PRIMARY,
+ CHARGER_SECONDARY,
+ CHARGER_NUM,
+};
+
enum adc_channel {
ADC_TEMP_SENSOR_1, /* ADC0 */
ADC_TEMP_SENSOR_2, /* ADC1 */
diff --git a/board/wheelie/board.h b/board/wheelie/board.h
index 91054cd6fd..fbeb23f576 100644
--- a/board/wheelie/board.h
+++ b/board/wheelie/board.h
@@ -27,6 +27,7 @@
#define CONFIG_USB_PD_VBUS_DETECT_CHARGER
#define CONFIG_USB_PD_5V_CHARGER_CTRL
#define CONFIG_CHARGER_OTG
+#undef CONFIG_CHARGER_SINGLE_CHIP
/* LED */
#define CONFIG_LED_PWM_COUNT 1
@@ -79,6 +80,12 @@
#include "gpio_signal.h"
#include "registers.h"
+enum chg_id {
+ CHARGER_PRIMARY,
+ CHARGER_SECONDARY,
+ CHARGER_NUM,
+};
+
enum pwm_channel {
PWM_CH_KBLIGHT,
PWM_CH_LED_RED,