summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu-An Chen <yu-an.chen@quanta.corp-partner.google.com>2020-10-29 08:56:43 +0800
committerCommit Bot <commit-bot@chromium.org>2020-11-17 17:26:26 +0000
commitd5be226d97ca76c4cd4ba7d51ced44950b284a37 (patch)
tree0b05bb05febd78e34c695b8f7fd7b0db1ddb959c
parentd0d3284cc2c8522fd7bc998e71259191067b87d5 (diff)
downloadchrome-ec-d5be226d97ca76c4cd4ba7d51ced44950b284a37.tar.gz
Metaknight: Support USB-A
config USB-A pin define, and enable USB SMART function BUG=b:169615752 BRANCH=master TEST=make BOARD=metaknight Signed-off-by: Yu-An.Chen@quanta.corp-partner.google.com Change-Id: I1a4d45952f40304ea8374991dc4ee2e648e566c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2505404 Tested-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Auto-Submit: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com>
-rw-r--r--board/metaknight/board.c6
-rw-r--r--board/metaknight/board.h15
-rw-r--r--board/metaknight/gpio.inc7
3 files changed, 22 insertions, 6 deletions
diff --git a/board/metaknight/board.c b/board/metaknight/board.c
index ecdec45608..79347ead32 100644
--- a/board/metaknight/board.c
+++ b/board/metaknight/board.c
@@ -45,6 +45,12 @@
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
+/* USB-A Configuration */
+const int usb_port_enable[USB_PORT_COUNT] = {
+ GPIO_EN_USB_A0_VBUS,
+ GPIO_EN_USB_A1_VBUS,
+};
+
static void tcpc_alert_event(enum gpio_signal s)
{
int port = (s == GPIO_USB_C0_INT_ODL) ? 0 : 1;
diff --git a/board/metaknight/board.h b/board/metaknight/board.h
index a2b8d4a209..deee0f527b 100644
--- a/board/metaknight/board.h
+++ b/board/metaknight/board.h
@@ -28,10 +28,6 @@
#define CONFIG_OCPC
#undef CONFIG_CHARGER_SINGLE_CHIP
-/* EC console commands */
-#define CONFIG_CMD_TCPC_DUMP
-#define CONFIG_CMD_CHARGER_DUMP
-
/*
* GPIO for C1 interrupts, for baseboard use
*
@@ -54,6 +50,15 @@
#define CONFIG_BC12_DETECT_PI3USB9201
#define CONFIG_USBC_RETIMER_NB7V904M
+/* Common USB-A defines */
+#define USB_PORT_COUNT 2
+#define CONFIG_USB_PORT_POWER_SMART
+#define CONFIG_USB_PORT_POWER_SMART_CDP_SDP_ONLY
+#define CONFIG_USB_PORT_POWER_SMART_DEFAULT_MODE USB_CHARGE_MODE_CDP
+#define CONFIG_USB_PORT_POWER_SMART_INVERTED
+#define GPIO_USB1_ILIM_SEL GPIO_USB_A0_CHARGE_EN_L
+#define GPIO_USB2_ILIM_SEL GPIO_USB_A1_CHARGE_EN_L
+
/* USB PD */
#define CONFIG_USB_PD_PORT_MAX_COUNT 2
#define CONFIG_USB_PD_TCPM_RAA489000
@@ -119,6 +124,8 @@
#define CONFIG_MKBP_EVENT
#define CONFIG_MKBP_USE_GPIO
+#define CONFIG_CHIP_INIT_ROM_REGION
+
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/metaknight/gpio.inc b/board/metaknight/gpio.inc
index 9c493f6f19..95bd3aa9b4 100644
--- a/board/metaknight/gpio.inc
+++ b/board/metaknight/gpio.inc
@@ -52,7 +52,6 @@ GPIO(EC_I2C_USB_C0_SDA, PIN(8, 7), GPIO_INPUT)
GPIO(EC_I2C_SUB_C1_SCL_HDMI_EN_ODL, PIN(9, 2), GPIO_INPUT) /* C1 I2C SCL OR HDMI en */
/* Extra Sub-board I/O pins */
-GPIO(EC_SUB_IO_1, PIN(3, 7), GPIO_OUT_LOW)
GPIO(EC_SUB_IO_2, PIN(3, 4), GPIO_OUT_LOW)
/* Misc Enables */
@@ -89,11 +88,16 @@ GPIO(ALL_SYS_PWRGD, PIN(A, 0), GPIO_OUT_LOW)
GPIO(SYS_RST_ODL, PIN(C, 5), GPIO_ODR_HIGH)
GPIO(CCD_MODE_ODL, PIN(E, 5), GPIO_INPUT)
+/* USB pins */
GPIO(USB_C0_RST_ODL, PIN(9, 7), GPIO_OUT_HIGH) /* currently unused */
GPIO(EC_AP_USB_C1_HDMI_HPD, PIN(9, 6), GPIO_OUT_LOW)
GPIO(EC_AP_USB_C0_HPD, PIN(9, 3), GPIO_OUT_LOW)
GPIO(HDMI_SEL_L, PIN(7, 2), GPIO_OUT_HIGH)
GPIO(EC_BATTERY_PRES_ODL, PIN(E, 1), GPIO_INPUT)
+GPIO(USB_A0_CHARGE_EN_L, PIN(3, 7), GPIO_OUT_HIGH) /* Enable A0 1.5A Charging */
+GPIO(USB_A1_CHARGE_EN_L, PIN(F, 3), GPIO_OUT_HIGH) /* Enable A1 1.5A Charging */
+GPIO(EN_USB_A0_VBUS, PIN(4, 1), GPIO_OUT_LOW) /* Enable A1 5V Charging */
+GPIO(EN_USB_A1_VBUS, PIN(F, 2), GPIO_OUT_LOW) /* Enable A1 5V Charging */
/*
* Waddledoo doesn't have these physical pins coming to the EC but uses other
@@ -132,7 +136,6 @@ ALTERNATE(PIN_MASK(8, 0x80), 0, MODULE_I2C, 0) /* I2C1 SDA */
/* NC pins, enable internal pull-up to avoid floating state. */
GPIO(GPIO32_NC, PIN(3, 2), GPIO_INPUT | GPIO_PULL_UP)
GPIO(GPIO35_NC, PIN(3, 5), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO41_NC, PIN(4, 1), GPIO_INPUT | GPIO_PULL_UP)
GPIO(GPIO57_NC, PIN(5, 7), GPIO_INPUT | GPIO_PULL_UP)
GPIO(GPIO81_NC, PIN(8, 1), GPIO_INPUT | GPIO_PULL_UP)
GPIO(GPIO86_NC, PIN(8, 6), GPIO_INPUT | GPIO_PULL_UP)