From 5b746b8e96625fc06685fa26dae73ea05013cf6d Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Fri, 22 Aug 2014 10:40:42 -0700 Subject: samus: GPIO updates for EVT build - Add BOARD_VERSION_EVT for rev 3 boards - Rename CAPSENSE_INT_L to ALS_INT_L - Rename PP3300_ACCEL_EN to PCH_RTCRST_L - PD_MCU_INT is inverted, remove internal pull and set INT on rising edge - USB_MCU_RST is inverted - USBn_ILIM_SEL are inverted - Enable CONFIG_USB_PORT_POWER_SMART_INVERTED BUG=chrome-os-partner:31549 BRANCH=samus TEST=emerge-samus chromeos-ec, not used until EVT Change-Id: I01521a55a20a230d6d4f929974112c6452c98271 Signed-off-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/213744 Reviewed-by: Alec Berg --- board/samus/board.c | 2 +- board/samus/board.h | 2 ++ board/samus/gpio.inc | 22 ++++++++++------------ common/system.c | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/board/samus/board.c b/board/samus/board.c index 06ddb8e0d7..82c9c92457 100644 --- a/board/samus/board.c +++ b/board/samus/board.c @@ -212,7 +212,7 @@ struct keyboard_scan_config keyscan_config = { /* Initialize board. */ static void board_init(void) { - gpio_enable_interrupt(GPIO_PD_MCU_INT_L); + gpio_enable_interrupt(GPIO_PD_MCU_INT); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/samus/board.h b/board/samus/board.h index 0bcaddb0bb..5344db91d5 100644 --- a/board/samus/board.h +++ b/board/samus/board.h @@ -53,6 +53,7 @@ #define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PP3300_DSW_GATED_EN #define CONFIG_UART_HOST 2 #define CONFIG_USB_PORT_POWER_SMART +#define CONFIG_USB_PORT_POWER_SMART_INVERTED #define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #define CONFIG_WIRELESS_SUSPEND \ @@ -160,6 +161,7 @@ enum board_version { BOARD_VERSION_PROTO_1_9 = 0, BOARD_VERSION_PROTO_2_A = 1, BOARD_VERSION_PROTO_2_B = 2, + BOARD_VERSION_EVT = 3, }; /* Wireless signals */ diff --git a/board/samus/gpio.inc b/board/samus/gpio.inc index d2a4754f52..c5f1e6070e 100644 --- a/board/samus/gpio.inc +++ b/board/samus/gpio.inc @@ -30,15 +30,13 @@ GPIO(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_i */ GPIO(ACCEL_INT, F, 7, GPIO_INPUT, NULL) -/* Capsense interrupt input. This connection exists but may not be configured */ -#ifdef CONFIG_CAPSENSE -GPIO(CAPSENSE_INT_L, N, 0, GPIO_INT_FALLING, capsense_interrupt) -#else -GPIO(CAPSENSE_INT_L, N, 0, GPIO_INPUT, NULL) -#endif +/* + * Ambient Light Sensor input. This could become an interrupt once supported. + */ +GPIO(ALS_INT_L, N, 0, GPIO_INPUT, NULL) -/* Interrupt signal from PD MCU */ -GPIO(PD_MCU_INT_L, J, 5, GPIO_PULL_UP | GPIO_INT_FALLING | GPIO_INT_DSLEEP, pd_mcu_interrupt) +/* Interrupt signal from PD MCU, external pull-down */ +GPIO(PD_MCU_INT, J, 5, GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt) /* Other inputs */ GPIO(BOARD_VERSION1, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */ @@ -56,20 +54,20 @@ GPIO(PP3300_DSW_EN, F, 6, GPIO_OUT_LOW, NULL) /* Enable 3.3V DSW rail */ GPIO(PP3300_DSW_GATED_EN, J, 3, GPIO_OUT_LOW, NULL) /* Enable 3.3V Gated DSW and core VDD */ GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW, NULL) /* Enable LTE radio */ GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */ -GPIO(PP3300_ACCEL_EN, J, 1, GPIO_OUT_HIGH, NULL) /* Enable Accelerometer power */ GPIO(PP1050_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */ GPIO(PP5000_USB_EN, C, 5, GPIO_OUT_LOW, NULL) /* Enable USB power */ GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */ GPIO(PP1800_EN, L, 6, GPIO_OUT_LOW, NULL) /* Enable 1.8V supply */ GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */ GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */ -GPIO(USB_MCU_RST_L, B, 0, GPIO_ODR_HIGH, NULL) /* USB PD MCU reset */ +GPIO(USB_MCU_RST, B, 0, GPIO_ODR_LOW, NULL) /* USB PD MCU reset */ GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW, NULL) /* Enable backlight power */ GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */ GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */ GPIO(LIGHTBAR_RESET_L, J, 2, GPIO_ODR_LOW, NULL) /* Reset lightbar controllers */ GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* Indicate when VccDSW is good */ GPIO(PCH_RSMRST_L, C, 4, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */ +GPIO(PCH_RTCRST_L, J, 1, GPIO_ODR_HIGH, NULL) /* Reset PCH RTC well */ /* * HDA_SDO is technically an output, but we need to leave it as an * input until we drive it high. So can't use open-drain (HI_Z). @@ -91,12 +89,12 @@ GPIO(USB1_CTL1, E, 1, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL1 GPIO(USB1_CTL2, E, 2, GPIO_OUT_HIGH, NULL) /* USB charger port 1 CTL2 output */ GPIO(USB1_CTL3, E, 3, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL3 output */ GPIO(USB1_ENABLE, E, 4, GPIO_OUT_HIGH, NULL) /* USB charger port 1 enable */ -GPIO(USB1_ILIM_SEL, E, 5, GPIO_OUT_LOW, NULL) /* USB charger port 1 ILIM_SEL output */ +GPIO(USB1_ILIM_SEL_L, E, 5, GPIO_OUT_HIGH, NULL) /* USB charger port 1 ILIM_SEL output */ GPIO(USB2_CTL1, D, 0, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL1 output */ GPIO(USB2_CTL2, D, 1, GPIO_OUT_HIGH, NULL) /* USB charger port 2 CTL2 output */ GPIO(USB2_CTL3, D, 4, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL3 output */ GPIO(USB2_ENABLE, D, 5, GPIO_OUT_HIGH, NULL) /* USB charger port 2 enable */ -GPIO(USB2_ILIM_SEL, D, 6, GPIO_OUT_LOW, NULL) /* USB charger port 2 ILIM_SEL output */ +GPIO(USB2_ILIM_SEL_L, D, 6, GPIO_OUT_HIGH, NULL) /* USB charger port 2 ILIM_SEL output */ ALTERNATE(A, 0x03, 1, MODULE_UART, 0) /* UART0 */ ALTERNATE(A, 0x40, 3, MODULE_I2C, 0) /* I2C1 SCL */ diff --git a/common/system.c b/common/system.c index a9040899f2..0782d79289 100644 --- a/common/system.c +++ b/common/system.c @@ -614,9 +614,9 @@ static int handle_pending_reboot(enum ec_reboot_cmd cmd) case EC_REBOOT_COLD: #ifdef HAS_TASK_PDCMD /* Reboot the PD chip as well */ - gpio_set_level(GPIO_USB_MCU_RST_L, 0); + gpio_set_level(GPIO_USB_MCU_RST, 1); usleep(100); - gpio_set_level(GPIO_USB_MCU_RST_L, 1); + gpio_set_level(GPIO_USB_MCU_RST, 0); #endif system_reset(SYSTEM_RESET_HARD); /* That shouldn't return... */ -- cgit v1.2.1