summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lok <ben.lok@mediatek.com>2015-09-18 15:07:51 +0800
committerchrome-bot <chrome-bot@chromium.org>2015-09-23 05:02:30 -0700
commit6a11d9ae705d911ba79b4d909000243a29db1233 (patch)
tree86e591711ac6b695924e1b70825f794c638d3575
parentc6deb911399ee6ec5e747b3f403c0c44fbf0eef4 (diff)
downloadchrome-ec-6a11d9ae705d911ba79b4d909000243a29db1233.tar.gz
oak: updates GPIO setting for rev4
Modify the GPIO seeting according to the Oak rev4 schematic. BRANCH=none BUG=none TEST=manual Confirm all reversion of oak can be built pass: make -j EXTRA_CFLAGS=-DBOARD_REV=4 BOARD=oak make -j BOARD=oak clean make -j EXTRA_CFLAGS=-DBOARD_REV=3 BOARD=oak make -j BOARD=oak clean make -j EXTRA_CFLAGS=-DBOARD_REV=2 BOARD=oak make -j BOARD=oak clean make -j EXTRA_CFLAGS=-DBOARD_REV=1 BOARD=oak Change-Id: Ib1051f29df9d1919f0ae3ecaf55dc0997ea29c3e Signed-off-by: Ben Lok <ben.lok@mediatek.com> Reviewed-on: https://chromium-review.googlesource.com/300728 Reviewed-by: Rong Chang <rongchang@chromium.org>
-rw-r--r--board/oak/gpio.inc13
-rw-r--r--power/mediatek.c6
2 files changed, 15 insertions, 4 deletions
diff --git a/board/oak/gpio.inc b/board/oak/gpio.inc
index 18341f3b91..d6450e0795 100644
--- a/board/oak/gpio.inc
+++ b/board/oak/gpio.inc
@@ -8,7 +8,6 @@
/* Inputs with interrupt handlers are first for efficiency */
GPIO_INT(AC_PRESENT, PIN(C, 6), GPIO_INT_BOTH, extpower_interrupt)
GPIO_INT(POWER_BUTTON_L, PIN(B, 5), GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt)
-GPIO_INT(SOC_POWER_GOOD, PIN(A, 3), GPIO_INT_BOTH | GPIO_PULL_DOWN, power_signal_interrupt)
GPIO_INT(LID_OPEN, PIN(C, 13), GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
GPIO_INT(SUSPEND_L, PIN(C, 7), GPIO_INT_BOTH | GPIO_PULL_DOWN, power_signal_interrupt) /* AP suspend/resume state */
GPIO_INT(PD_MCU_INT, PIN(E, 0), GPIO_INT_FALLING, pd_mcu_interrupt) /* Signal from PD MCU, external pull-up */
@@ -25,15 +24,24 @@ GPIO_INT(KB_IN06, PIN(C, 15), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
GPIO_INT(KB_IN07, PIN(D, 2), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Board specific interrupt and input */
-#if BOARD_REV == OAK_REV2
+#if BOARD_REV <= OAK_REV1
+GPIO_INT(SOC_POWER_GOOD, PIN(A, 3), GPIO_INT_BOTH | GPIO_PULL_DOWN, power_signal_interrupt)
+GPIO(EC_INT_L, PIN(B, 9), GPIO_OUT_HIGH)
+#elif BOARD_REV == OAK_REV2
+GPIO_INT(SOC_POWER_GOOD, PIN(A, 3), GPIO_INT_BOTH | GPIO_PULL_DOWN, power_signal_interrupt)
+GPIO(EC_INT_L, PIN(B, 9), GPIO_OUT_HIGH)
GPIO(USB_VBUS_WAKE_L, PIN(E, 1), GPIO_INPUT)
#elif BOARD_REV == OAK_REV3
+GPIO_INT(SOC_POWER_GOOD, PIN(A, 3), GPIO_INT_BOTH | GPIO_PULL_DOWN, power_signal_interrupt)
+GPIO(EC_INT_L, PIN(B, 9), GPIO_OUT_HIGH)
GPIO(USB_C0_VBUS_WAKE_L, PIN(E, 1), GPIO_INPUT)
GPIO(USB_C1_VBUS_WAKE_L, PIN(F, 2), GPIO_INPUT)
#elif BOARD_REV >= OAK_REV4
+GPIO_INT(SOC_POWER_GOOD, PIN(A, 3), GPIO_INT_BOTH , power_signal_interrupt)
GPIO_INT(USB_BC12_INT, PIN(E, 1), GPIO_INT_FALLING, usb_evt)
GPIO(USB_C0_VBUS_WAKE_L, PIN(D, 12), GPIO_INPUT)
GPIO(USB_C1_VBUS_WAKE_L, PIN(F, 2), GPIO_INPUT)
+GPIO(EC_INT_L, PIN(B, 9), GPIO_ODR_HIGH)
#endif
/* Inputs without interrupt handlers */
@@ -54,7 +62,6 @@ GPIO(BAT_LED1, PIN(A, 11), GPIO_OUT_LOW) /* LED_ORANGE or LED_RED(>re
GPIO(PWR_LED0, PIN(F, 10), GPIO_OUT_LOW) /* LED_GREEN */
GPIO(PWR_LED1, PIN(F, 9), GPIO_OUT_LOW) /* LED_ORANGE */
GPIO(EC_BL_OVERRIDE, PIN(F, 1), GPIO_OUT_LOW)
-GPIO(EC_INT_L, PIN(B, 9), GPIO_OUT_HIGH)
GPIO(ENTERING_RW, PIN(F, 0), GPIO_OUT_LOW)
diff --git a/power/mediatek.c b/power/mediatek.c
index 05ec085429..90a23aa2d4 100644
--- a/power/mediatek.c
+++ b/power/mediatek.c
@@ -599,7 +599,11 @@ static void power_on(void)
/* enable interrupt */
gpio_set_flags(GPIO_SUSPEND_L, INT_BOTH_PULL_UP);
- gpio_set_flags(GPIO_EC_INT_L, GPIO_OUTPUT | GPIO_OUT_HIGH);
+
+ if(system_get_board_version() <= 3)
+ gpio_set_flags(GPIO_EC_INT_L, GPIO_OUTPUT | GPIO_OUT_HIGH);
+ else
+ gpio_set_flags(GPIO_EC_INT_L, GPIO_ODR_HIGH);
disable_sleep(SLEEP_MASK_AP_RUN);
#ifdef HAS_TASK_POWERLED