summaryrefslogtreecommitdiff
path: root/board/kakadu/gpio.inc
diff options
context:
space:
mode:
authorCasper Chang <casper.chang@bitland.corp-partner.google.com>2019-11-14 00:46:38 -0800
committerCommit Bot <commit-bot@chromium.org>2020-02-10 07:21:43 +0000
commit8a76b57ce6c78bbca830a17756e3a4c8bbc1e847 (patch)
tree9b7b4fc887c0834adea6132815c3bb8ea66299d7 /board/kakadu/gpio.inc
parent4df1c3adb1fb1707560b718ac7879bd5bbc24d0f (diff)
downloadchrome-ec-8a76b57ce6c78bbca830a17756e3a4c8bbc1e847.tar.gz
kakadu: add initial content for the build
This initial content of kakadu is taken after kukui. It will need to be revised later. 1. Delete BC1.2 function no use U6555 2. No support E-compass 3. G-sensor change from BMI160 to LSM6DS3TR-C 4. backlight use MT6370 BUG=b:144470535 BRANCH=kukui TEST=make buildall -j TEST=make -j BOARD=kakadu Cq-Depend: chromium:1985641 Change-Id: Ifc313c63644cef5cc8540fff5f94b6483352069f Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1916161 (cherry picked from commit 04eac8d4613667571c39b82fb285acfa38de9f38) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2044251 Tested-by: Casper Chang <casper.chang@bitland.corp-partner.google.com>
Diffstat (limited to 'board/kakadu/gpio.inc')
-rw-r--r--board/kakadu/gpio.inc105
1 files changed, 105 insertions, 0 deletions
diff --git a/board/kakadu/gpio.inc b/board/kakadu/gpio.inc
new file mode 100644
index 0000000000..6388ca796d
--- /dev/null
+++ b/board/kakadu/gpio.inc
@@ -0,0 +1,105 @@
+/* -*- mode:c -*-
+ *
+ * Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/*
+ * Declare symbolic names for all the GPIOs that we care about.
+ * Note: Those with interrupt handlers must be declared first.
+ */
+
+/* Interrupts */
+GPIO_INT(USB_C0_PD_INT_ODL, PIN(B, 1), GPIO_INT_FALLING | GPIO_PULL_UP,
+ tcpc_alert_event)
+GPIO_INT(VOLUME_UP_L, PIN(B, 10), GPIO_INT_BOTH | GPIO_PULL_UP,
+ button_interrupt) /* EC_VOLUP_BTN_ODL */
+GPIO_INT(VOLUME_DOWN_L, PIN(B, 11), GPIO_INT_BOTH | GPIO_PULL_UP,
+ button_interrupt) /* EC_VOLDN_BTN_ODL */
+GPIO_INT(POWER_BUTTON_L, PIN(A, 0), GPIO_INT_BOTH | GPIO_PULL_UP,
+ power_button_interrupt) /* EC_PWR_BTN_ODL */
+
+GPIO_INT(AP_IN_SLEEP_L, PIN(C, 12), GPIO_INT_BOTH | GPIO_PULL_DOWN,
+ power_signal_interrupt)
+GPIO_INT(PMIC_EC_RESETB, PIN(B, 7), GPIO_INT_BOTH | GPIO_PULL_DOWN,
+ power_signal_interrupt)
+GPIO_INT(WARM_RESET_REQ, PIN(A, 3), GPIO_INT_RISING | GPIO_PULL_DOWN,
+ chipset_reset_request_interrupt)
+GPIO_INT(AP_EC_WATCHDOG_L, PIN(C, 2), GPIO_INT_FALLING,
+ chipset_watchdog_interrupt)
+
+GPIO_INT_RW(ACCEL_INT_ODL, PIN(A, 4), GPIO_INT_FALLING | GPIO_SEL_1P8V | GPIO_PULL_UP,
+ lsm6dsm_interrupt)
+GPIO_INT(CHARGER_INT_ODL, PIN(C, 13), GPIO_INT_FALLING | GPIO_PULL_UP,
+ rt946x_interrupt)
+GPIO_INT_RO(EMMC_CMD, PIN(B, 15), GPIO_INT_FALLING,
+ emmc_cmd_interrupt)
+GPIO_INT(SPI1_NSS, PIN(A, 15), GPIO_INT_BOTH,
+ spi_event)
+GPIO_INT_RW(SYNC_INT, PIN(A, 8), GPIO_INT_RISING | GPIO_PULL_DOWN,
+ sync_interrupt)
+GPIO_INT(HALL_INT_L, PIN(C, 5), GPIO_INT_BOTH,
+ lid_interrupt)
+GPIO_INT(GAUGE_INT_ODL, PIN(C, 9), GPIO_INT_FALLING | GPIO_PULL_UP,
+ gauge_interrupt)
+GPIO_INT(POGO_ADC_INT_L, PIN(A, 6), GPIO_INT_BOTH,
+ pogo_adc_interrupt)
+
+/* unused */
+GPIO(POGO_VBUS_PRESENT, PIN(A, 14), GPIO_INPUT)
+/* unused after board rev 5 */
+GPIO(USB_C0_DP_POLARITY, PIN(C, 14), GPIO_INPUT)
+
+/* Reset pins */
+GPIO(AP_SYS_RST_L, PIN(C, 11), GPIO_OUT_LOW)
+GPIO(PMIC_WATCHDOG_L, PIN(C, 3), GPIO_OUT_LOW)
+GPIO(PMIC_EN_ODL, PIN(C, 10), GPIO_ODR_HIGH)
+GPIO(PMIC_FORCE_RESET_ODL, PIN(A, 2), GPIO_ODR_HIGH)
+GPIO(MT6370_RST_L, PIN(F, 0), GPIO_OUT_LOW)
+
+/*
+ * I2C pins should be configured as inputs until I2C module is
+ * initialized. This will avoid driving the lines unintentionally.
+ */
+GPIO(I2C1_SCL, PIN(B, 8), GPIO_INPUT)
+GPIO(I2C1_SDA, PIN(B, 9), GPIO_INPUT)
+GPIO(I2C2_SCL, PIN(A, 11), GPIO_INPUT)
+GPIO(I2C2_SDA, PIN(A, 12), GPIO_INPUT)
+
+/* Analog pins */
+GPIO(BATT_ID, PIN(A, 7), GPIO_ANALOG)
+GPIO(BOARD_ID, PIN(C, 0), GPIO_ANALOG)
+GPIO(EC_SKU_ID, PIN(B, 0), GPIO_ANALOG)
+
+/* Other input pins */
+GPIO(WP_L, PIN(C, 8), GPIO_INPUT) /* EC_FLASH_WP_ODL */
+GPIO(BOOT0, PIN(F, 11), GPIO_INPUT)
+GPIO(CCD_MODE_ODL, PIN(A, 1), GPIO_INPUT)
+
+/* Other output pins */
+GPIO(ENTERING_RW, PIN(C, 6), GPIO_ODR_HIGH) /* EC_ENTERING_RW_ODL */
+GPIO(EC_INT_L, PIN(B, 12), GPIO_ODR_HIGH) /* EC_AP_INT_ODL */
+GPIO(EC_BOARD_ID_EN_L, PIN(C, 15), GPIO_ODR_HIGH) /* EC_BOARD_ID_EN_ODL */
+GPIO(USB_C0_HPD_OD, PIN(F, 1), GPIO_ODR_LOW)
+GPIO(BOOTBLOCK_EN_L, PIN(C, 1), GPIO_ODR_HIGH)
+GPIO(EN_PP3300_POGO, PIN(A, 13), GPIO_OUT_LOW)
+GPIO(EN_POGO_CHARGE_L, PIN(B, 6), GPIO_OUT_HIGH)
+GPIO(EN_USBC_CHARGE_L, PIN(C, 7), GPIO_OUT_LOW)
+GPIO(EN_PP5000_USBC, PIN(D, 2), GPIO_OUT_LOW)
+GPIO(BC12_DET_EN, PIN(C, 4), GPIO_OUT_LOW)
+
+/* USART1: PA9/PA10 */
+ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0)
+/* I2C MASTER: PB8/9 */
+ALTERNATE(PIN_MASK(B, 0x0300), 1, MODULE_I2C, GPIO_ODR_HIGH )
+/* I2C MASTER: PA11/12 */
+ALTERNATE(PIN_MASK(A, 0x1800), 5, MODULE_I2C, GPIO_ODR_HIGH )
+/* SPI SLAVE: PB3/4/5 */
+ALTERNATE(PIN_MASK(B, 0x0038), 0, MODULE_SPI, 0)
+#ifdef SECTION_IS_RO
+/* SPI SLAVE: PB13/14/15 */
+ALTERNATE(PIN_MASK(B, 0xE000), 0, MODULE_SPI_FLASH, 0)
+#endif
+/* SPI SLAVE CS: PA15 */
+ALTERNATE(PIN_MASK(A, 0x8000), 0, MODULE_SPI, 0)