diff options
author | Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> | 2020-10-29 08:56:43 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-11-17 17:26:26 +0000 |
commit | d5be226d97ca76c4cd4ba7d51ced44950b284a37 (patch) | |
tree | 0b05bb05febd78e34c695b8f7fd7b0db1ddb959c | |
parent | d0d3284cc2c8522fd7bc998e71259191067b87d5 (diff) | |
download | chrome-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.c | 6 | ||||
-rw-r--r-- | board/metaknight/board.h | 15 | ||||
-rw-r--r-- | board/metaknight/gpio.inc | 7 |
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) |