diff options
author | Ben Lok <ben.lok@mediatek.com> | 2015-12-21 20:57:34 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-03-01 08:25:58 -0800 |
commit | 0c9e75f01729d3589d408f3345db7deaa9c04783 (patch) | |
tree | 5411023f080821f7c2984a539412096d6f00fb6b /board/oak/gpio.inc | |
parent | a36a6ca96e864b2ce193df0874d84360cfce0c9e (diff) | |
download | chrome-ec-0c9e75f01729d3589d408f3345db7deaa9c04783.tar.gz |
oak: Add base accel & gyro via SPI bus for rev5
refer to commit d341615383f1ea5d3a540a67bcec777ba902bdfb,
adds the base accelerometer as well as the gyroscope to the list of
motion sensors on the board, connect with SPI bus. They are currently
wrapped behind an ifdef for HAS_TASK_MOTIONSENSE and OAK_REV5.
BUG=chrome-os-partner:50312
BRANCH=none
TEST=Build Oak EC with driver enabled and verify that we can calcuate
a valid lid angle.
TEST=Verify that signs of accelerometer conform to those shown in the
Chrome/Android/HTML5 doc/spec. See description in accelerometer_types.h
TEST=Verify that signs of gyroscope conform to those shown in the
"Sysfs interface to EC accelerometers" document.
TEST=make buildall tests
Change-Id: I4d900bc6bd7329db6ea53660fae86e5e2bbe9028
Signed-off-by: Ben Lok <ben.lok@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/319295
Commit-Ready: Rong Chang <rongchang@chromium.org>
Tested-by: Rong Chang <rongchang@chromium.org>
Reviewed-by: Rong Chang <rongchang@chromium.org>
Diffstat (limited to 'board/oak/gpio.inc')
-rw-r--r-- | board/oak/gpio.inc | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/board/oak/gpio.inc b/board/oak/gpio.inc index 9bef78d8c1..29de1f276f 100644 --- a/board/oak/gpio.inc +++ b/board/oak/gpio.inc @@ -110,7 +110,7 @@ GPIO(KB_OUT12, PIN(D, 5), GPIO_KB_OUTPUT) GPIO(DP_MUX_EN_L, PIN(E, 6), GPIO_OUT_LOW) GPIO(DP_SWITCH_CTL, PIN(E, 5), GPIO_OUT_LOW) -#else /* BOARD_REV >= 3 */ +#elif BOARD_REV <= OAK_REV4 /* BOARD_REV 3 or 4 */ GPIO(AP_RESET_L, PIN(C, 3), GPIO_ODR_HIGH) /* Connect to the PMU_SYSRSTB */ GPIO(USB_C_BC12_SEL, PIN(D, 7), GPIO_OUT_LOW) GPIO(KB_OUT00, PIN(B, 0), GPIO_KB_OUTPUT) @@ -126,12 +126,33 @@ GPIO(KB_OUT09, PIN(B, 1), GPIO_KB_OUTPUT) GPIO(KB_OUT10, PIN(C, 5), GPIO_KB_OUTPUT) GPIO(KB_OUT11, PIN(C, 4), GPIO_KB_OUTPUT) GPIO(KB_OUT12, PIN(C, 2), GPIO_KB_OUTPUT) + +#else /* >= OAK_REV5 */ +GPIO(AP_RESET_L, PIN(C, 3), GPIO_ODR_HIGH) /* Connect to the PMU_SYSRSTB */ +GPIO(USB_C_BC12_SEL, PIN(D, 7), GPIO_OUT_LOW) +GPIO(KB_OUT00, PIN(B, 0), GPIO_KB_OUTPUT) +GPIO(KB_OUT01, PIN(B, 8), GPIO_KB_OUTPUT) +GPIO(KB_OUT02, PIN(B, 12), GPIO_OUT_LOW) /* KSO2 is inverted */ +GPIO(KB_OUT03, PIN(B, 2), GPIO_KB_OUTPUT) +GPIO(KB_OUT04, PIN(A, 8), GPIO_KB_OUTPUT) +GPIO(KB_OUT05, PIN(D, 14), GPIO_KB_OUTPUT) +GPIO(KB_OUT06, PIN(D, 13), GPIO_KB_OUTPUT) +GPIO(KB_OUT07, PIN(D, 15), GPIO_KB_OUTPUT) +GPIO(KB_OUT08, PIN(D, 5), GPIO_KB_OUTPUT) +GPIO(KB_OUT09, PIN(B, 1), GPIO_KB_OUTPUT) +GPIO(KB_OUT10, PIN(C, 5), GPIO_KB_OUTPUT) +GPIO(KB_OUT11, PIN(C, 4), GPIO_KB_OUTPUT) +GPIO(KB_OUT12, PIN(C, 2), GPIO_KB_OUTPUT) #endif /* BOARD_REV */ GPIO(SYSTEM_POWER_H, PIN(B, 10), GPIO_OUT_LOW) GPIO(PMIC_PWRON_H, PIN(A, 12), GPIO_OUT_LOW) GPIO(PMIC_WARM_RESET_H, PIN(B, 3), GPIO_OUT_LOW) +#if BOARD_REV <= OAK_REV4 GPIO(LEVEL_SHIFT_EN_L, PIN(D, 3), GPIO_OUT_LOW) /* LID/AC level shift */ +#else /* >= OAK_REV5 */ +GPIO(LEVEL_SHIFT_EN_L, PIN(F, 10), GPIO_OUT_LOW) /* LID/AC level shift */ +#endif GPIO(USB_PD_RST_L, PIN(A, 15), GPIO_OUT_HIGH) /* PD reset */ GPIO(USB_C0_5V_EN, PIN(D, 8), GPIO_OUT_LOW) /* USBC port 0 5V */ GPIO(USB_C0_CHARGE_L, PIN(D, 9), GPIO_OUT_LOW) /* USBC port 0 charge */ @@ -158,7 +179,13 @@ GPIO(I2C0_SDA, PIN(B, 7), GPIO_INPUT) GPIO(I2C1_SCL, PIN(B, 13), GPIO_INPUT) /* PD I2C */ GPIO(I2C1_SDA, PIN(B, 14), GPIO_INPUT) -ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0) /* USART1: PA9/PA10 */ -ALTERNATE(PIN_MASK(B, 0x00c0), 1, MODULE_I2C, 0) /* I2C MASTER:PB6/7 */ -ALTERNATE(PIN_MASK(B, 0x6000), 5, MODULE_I2C, 0) /* I2C MASTER:PB13/14 */ -ALTERNATE(PIN_MASK(A, 0x00f0), 0, MODULE_SPI, 0) /* SPI SLAVE:PA4/5/6/7 */ +/* SPI MASTER. For SPI sensor */ +GPIO(SPI2_NSS, PIN(D, 0), GPIO_OUT_LOW) + +ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0) /* USART1: PA9/PA10 */ +ALTERNATE(PIN_MASK(B, 0x00c0), 1, MODULE_I2C, 0) /* I2C MASTER:PB6/7 */ +ALTERNATE(PIN_MASK(B, 0x6000), 5, MODULE_I2C, 0) /* I2C MASTER:PB13/14 */ +ALTERNATE(PIN_MASK(A, 0x00f0), 0, MODULE_SPI, 0) /* SPI SLAVE:PA4/5/6/7 */ +#if BOARD_REV >= OAK_REV5 +ALTERNATE(PIN_MASK(D, 0x001A), 1, MODULE_SPI_MASTER, 0) /* SPI MASTER:PD1/3/4 */ +#endif |