diff options
author | tim <tim2.lin@ite.corp-partner.google.com> | 2020-02-14 11:55:48 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-17 10:24:39 +0000 |
commit | c2797a55a58678e3118aa0b95431c78f02b1ec3d (patch) | |
tree | 04290d466feeadef28ad620a22da9bca73f92b24 /board/jacuzzi/board.c | |
parent | a3cf5101156136e6a17434f57e9e521ed624eca8 (diff) | |
download | chrome-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/board.c')
-rw-r--r-- | board/jacuzzi/board.c | 8 |
1 files changed, 8 insertions, 0 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[] = { |