summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Chen <philipchen@google.com>2018-02-06 19:10:12 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-03-15 21:23:32 -0700
commitba0af6544fd8bf1023f83a1a5fcd234f39f395d8 (patch)
tree9aeef29a43a2a393300456ba50e461b0c8121c42
parente0a2a98b69a06fa56b30a88e87d9720c0cd2b533 (diff)
downloadchrome-ec-ba0af6544fd8bf1023f83a1a5fcd234f39f395d8.tar.gz
scarlet: Enable BC 1.2
The CLs supporting BC 1.2 with rt946x have been merged. It's time to enable BC 1.2 on Scarlet! BUG=b:65446459 BRANCH=none TEST=Charge Scarlet rev4 with SDP (500mA), DCP (1500mA), PD charger, and Type-C charger (3000mA). Change-Id: Ia3c7a700586bc15d94c4ef104fbd5afc8be9b0af Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/905934 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r--board/scarlet/board.c13
-rw-r--r--board/scarlet/board.h2
-rw-r--r--board/scarlet/ec.tasklist1
-rw-r--r--board/scarlet/gpio.inc4
4 files changed, 18 insertions, 2 deletions
diff --git a/board/scarlet/board.c b/board/scarlet/board.c
index 797d828e83..8b0dc686bd 100644
--- a/board/scarlet/board.c
+++ b/board/scarlet/board.c
@@ -238,6 +238,9 @@ static void board_init(void)
/* Enable TCPC alert interrupts */
gpio_enable_interrupt(GPIO_USB_C0_PD_INT_L);
+ /* Enable charger interrupts */
+ gpio_enable_interrupt(GPIO_CHARGER_INT_L);
+
/* Enable reboot / shutdown control inputs from AP */
gpio_enable_interrupt(GPIO_WARM_RESET_REQ);
gpio_enable_interrupt(GPIO_AP_OVERTEMP);
@@ -462,3 +465,13 @@ int tablet_get_mode(void)
/* Always in tablet mode */
return 1;
}
+
+void usb_charger_set_switches(int port, enum usb_switch setting)
+{
+ /*
+ * There is no USB2 switch anywhere on this board. But based
+ * on the discussion in b:65446459, RK3399's USB PHY is powered
+ * off when USB charging port detection is going on, so things
+ * should mostly work without a USB2 switch.
+ */
+}
diff --git a/board/scarlet/board.h b/board/scarlet/board.h
index 578f62d8f7..1ebd1e7eb2 100644
--- a/board/scarlet/board.h
+++ b/board/scarlet/board.h
@@ -78,6 +78,7 @@
#define CONFIG_CHARGER_PROFILE_OVERRIDE
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_OTG
+#define CONFIG_USB_CHARGER
#define CONFIG_USB_MUX_VIRTUAL
/* Increase tx buffer size, as we'd like to stream EC log to AP. */
@@ -113,6 +114,7 @@
#define CONFIG_USB_PD_PORT_COUNT 1
#define CONFIG_USB_PD_TCPM_FUSB302
#define CONFIG_USB_PD_VBUS_DETECT_TCPC
+#define CONFIG_USB_PD_5V_CHARGER_CTRL
#define ADC_VBUS -1
#define CONFIG_USBC_SS_MUX
#define CONFIG_USBC_VCONN
diff --git a/board/scarlet/ec.tasklist b/board/scarlet/ec.tasklist
index d2e4584fb3..384ae42993 100644
--- a/board/scarlet/ec.tasklist
+++ b/board/scarlet/ec.tasklist
@@ -19,6 +19,7 @@
#define CONFIG_TASK_LIST \
TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_ALWAYS(USB_CHG, usb_charger_task, NULL, TASK_STACK_SIZE) \
TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(PDCMD, pd_command_task, NULL, LARGER_TASK_STACK_SIZE) \
diff --git a/board/scarlet/gpio.inc b/board/scarlet/gpio.inc
index 6a84791a4b..bfede671a8 100644
--- a/board/scarlet/gpio.inc
+++ b/board/scarlet/gpio.inc
@@ -34,6 +34,8 @@ GPIO_INT(ACCEL_INT_L, PIN(D, 14), GPIO_INT_FALLING | GPIO_SEL_1P8V,
bmi160_interrupt)
GPIO_INT(SYNC_INT, PIN(A, 12), GPIO_INT_RISING | GPIO_PULL_DOWN,
sync_interrupt)
+GPIO_INT(CHARGER_INT_L, PIN(E, 6), GPIO_INT_FALLING | GPIO_PULL_UP,
+ rt946x_interrupt)
/* Voltage rails control pins */
GPIO(PP1800_S0_EN, PIN(D, 11), GPIO_OUT_LOW)
@@ -71,8 +73,6 @@ GPIO(BAT_LED_RED, PIN(E, 13), GPIO_ODR_HIGH)
GPIO(WP_L, PIN(E, 5), GPIO_INPUT)
/* TODO(philipchen): Add an interrupt handler once CCD is fully developed. */
GPIO(CCD_MODE_ODL, PIN(C, 5), GPIO_INPUT | GPIO_PULL_UP)
-/* TODO(b:63772957): Add an interrupt handler for charger rt946x */
-GPIO(CHARGER_INT_L, PIN(E, 6), GPIO_INPUT | GPIO_PULL_UP)
/* Non-INT power signal pin */
GPIO(AP_CORE_PG, PIN(D, 7), GPIO_INPUT | GPIO_PULL_UP)
/* Battery ID strap pin */