summaryrefslogtreecommitdiff
path: root/board/jacuzzi
diff options
context:
space:
mode:
authortim <tim2.lin@ite.corp-partner.google.com>2020-02-14 11:55:48 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-17 10:24:39 +0000
commitc2797a55a58678e3118aa0b95431c78f02b1ec3d (patch)
tree04290d466feeadef28ad620a22da9bca73f92b24 /board/jacuzzi
parenta3cf5101156136e6a17434f57e9e521ed624eca8 (diff)
downloadchrome-ec-c2797a55a58678e3118aa0b95431c78f02b1ec3d.tar.gz
driver/ioexpander_it8801: add I/O expander driver for GPIO
IT8801 is an I/O expander with the gpio. Add api compatible with ioexpander_drv so the main io expander framework can make use of the pins on the it8801. BUG=b/138352732, b/146996723 BRANCH=none TEST=Use gpio.inc to declare the gpio state. The console command #ioexget can get as follows: 0 O L IT8801_G0_00 1 O H IT8801_G0_03 1 O H IT8801_G0_04 0 O L IT8801_G0_06 0 O L IT8801_G0_07 1 O H ODR IT8801_G1_10 1 O H ODR IT8801_G1_11 1 O H ODR IT8801_G1_12 1 I H IT8801_G1_13 1 I H IT8801_G1_14 1 I H IT8801_G1_15 1 O H ODR IT8801_G2_20 1 O H ODR IT8801_G2_21 0 O L ODR IT8801_G2_22 0 O L ODR IT8801_G2_23 TEST=jacuzzi, juniper and kappa still compile TEST=keyboard scanning still works TEST=keyboard scanning now uses fewer i2c packets due to caching of GPIO23 Change-Id: I7ad89058ccd43b073d648e93877b86d6f187b5df Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Signed-off-by: Alexandru M Stan <amstan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1712887 Reviewed-by: David Huang <David.Huang@quantatw.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Tested-by: David Huang <David.Huang@quantatw.com>
Diffstat (limited to 'board/jacuzzi')
-rw-r--r--board/jacuzzi/board.c8
-rw-r--r--board/jacuzzi/board.h6
2 files changed, 12 insertions, 2 deletions
diff --git a/board/jacuzzi/board.c b/board/jacuzzi/board.c
index 8becdc3328..9029fa764b 100644
--- a/board/jacuzzi/board.c
+++ b/board/jacuzzi/board.c
@@ -107,6 +107,14 @@ struct keyboard_scan_config keyscan_config = {
},
};
+struct ioexpander_config_t ioex_config[CONFIG_IO_EXPANDER_PORT_COUNT] = {
+ [0] = {
+ .i2c_host_port = I2C_PORT_IO_EXPANDER_IT8801,
+ .i2c_slave_addr = IT8801_I2C_ADDR,
+ .drv = &it8801_ioexpander_drv,
+ },
+};
+
/******************************************************************************/
/* SPI devices */
const struct spi_device_t spi_devices[] = {
diff --git a/board/jacuzzi/board.h b/board/jacuzzi/board.h
index faab414edd..a3ca10e276 100644
--- a/board/jacuzzi/board.h
+++ b/board/jacuzzi/board.h
@@ -91,13 +91,15 @@
(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
-#define CONFIG_EC_KEYBOARD
+#define CONFIG_IO_EXPANDER
+#define CONFIG_IO_EXPANDER_IT8801
+#define CONFIG_IO_EXPANDER_PORT_COUNT 1
#define CONFIG_KEYBOARD_DEBUG
#define CONFIG_KEYBOARD_NOT_RAW
-#define CONFIG_IO_EXPANDER_IT8801
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_COL2_INVERTED
+
#define PD_OPERATING_POWER_MW 30000
#define CONFIG_LED_PWM