diff options
-rw-r--r-- | board/nautilus/board.c | 10 | ||||
-rw-r--r-- | board/nautilus/board.h | 7 | ||||
-rw-r--r-- | board/nautilus/gpio.inc | 6 |
3 files changed, 21 insertions, 2 deletions
diff --git a/board/nautilus/board.c b/board/nautilus/board.c index 8f0360fab7..92800ded0d 100644 --- a/board/nautilus/board.c +++ b/board/nautilus/board.c @@ -196,6 +196,10 @@ struct pi3usb9281_config pi3usb9281_chips[] = { BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) == CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT); +const int usb_port_enable[CONFIG_USB_PORT_POWER_SMART_PORT_COUNT] = { + GPIO_USB1_ENABLE, +}; + void board_reset_pd_mcu(void) { /* Assert reset */ @@ -739,12 +743,18 @@ DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); static void board_chipset_startup(void) { + /* Enable USB-A port. */ + gpio_set_level(GPIO_USB1_ENABLE, 1); + gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1); } DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT); static void board_chipset_shutdown(void) { + /* Disable USB-A port. */ + gpio_set_level(GPIO_USB1_ENABLE, 0); + gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0); } DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); diff --git a/board/nautilus/board.h b/board/nautilus/board.h index 0624348812..c3a077ae57 100644 --- a/board/nautilus/board.h +++ b/board/nautilus/board.h @@ -99,6 +99,13 @@ #define CONFIG_POWER_S0IX #define CONFIG_POWER_TRACK_HOST_SLEEP_STATE +/* USB-A config */ +#define CONFIG_USB_PORT_POWER_SMART +#define CONFIG_USB_PORT_POWER_SMART_CDP_SDP_ONLY +#undef CONFIG_USB_PORT_POWER_SMART_PORT_COUNT +#define CONFIG_USB_PORT_POWER_SMART_PORT_COUNT 1 +#define GPIO_USB1_ILIM_SEL GPIO_USB_A_ILIM_SEL + /* Sensor */ #define CONFIG_TEMP_SENSOR #define CONFIG_TEMP_SENSOR_BD99992GW diff --git a/board/nautilus/gpio.inc b/board/nautilus/gpio.inc index 93642ac6a0..58ab5c9d37 100644 --- a/board/nautilus/gpio.inc +++ b/board/nautilus/gpio.inc @@ -62,8 +62,6 @@ GPIO(PP1800_DX_SENSOR, PIN(E, 7), GPIO_OUTPUT) GPIO(WLAN_PE_RST, PIN(1, 2), GPIO_OUTPUT) GPIO(PP3300_DX_LTE, PIN(0, 2), GPIO_OUT_LOW) -GPIO(LTE_GPS_OFF_L, PIN(0, 0), GPIO_ODR_HIGH) -GPIO(LTE_BODY_SAR_L, PIN(0, 1), GPIO_ODR_HIGH) GPIO(LTE_WAKE_L, PIN(7, 1), GPIO_INPUT) GPIO(LTE_OFF_ODL, PIN(8, 0), GPIO_ODR_LOW) /* end of TODO */ @@ -95,6 +93,10 @@ GPIO(USB_C0_TCPC_PWR, PIN(8, 4), GPIO_OUT_LOW) /* Enable C0 TCPC Power */ GPIO(USB2_OTG_ID, PIN(A, 1), GPIO_ODR_LOW) /* OTG ID */ GPIO(USB2_OTG_VBUSSENSE, PIN(9, 5), GPIO_OUT_LOW) /* OTG VBUS Sense */ +/* USB Type-A control */ +GPIO(USB_A_ILIM_SEL, PIN(0, 0), GPIO_OUT_LOW) +GPIO(USB1_ENABLE, PIN(0, 1), GPIO_OUT_LOW) + /* LEDs (2 colors on each port) */ GPIO(LED_ACIN, PIN(B, 6), GPIO_OUT_LOW) /* ACIN LED */ GPIO(POWER_LED, PIN(B, 7), GPIO_OUT_LOW) /* Power LED */ |