aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Bloch <lbloch@janustech.com>2018-08-08 18:26:36 -0400
committerLinus Walleij <linus.walleij@linaro.org>2018-08-10 17:19:17 -0400
commita5ec96ddfd55c501d451cb310566a1170c267ecb (patch)
tree7b590d2780cc3d0498e4c40e19634edda86e040b
parent62885203f71b1116d6f56ae2e6014767e1d47995 (diff)
gpio: it87: Add support for IT8613
This was tested on actual hardware and found to work fine, but currently the official specifications of this chip could not be obtained to confirm the numbers. Signed-off-by: Leonid Bloch <lbloch@janustech.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/Kconfig3
-rw-r--r--drivers/gpio/gpio-it87.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 7429b30e61b0..f7a0f576f918 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -693,7 +693,8 @@ config GPIO_IT87
693 Say yes here to support GPIO functionality of IT87xx Super I/O chips. 693 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
694 694
695 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 695 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
696 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well. 696 supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
697 well.
697 698
698 To compile this driver as a module, choose M here: the module will 699 To compile this driver as a module, choose M here: the module will
699 be called gpio_it87 700 be called gpio_it87
diff --git a/drivers/gpio/gpio-it87.c b/drivers/gpio/gpio-it87.c
index d34f517fdd44..389ecd8b7d26 100644
--- a/drivers/gpio/gpio-it87.c
+++ b/drivers/gpio/gpio-it87.c
@@ -35,6 +35,7 @@
35 35
36/* Chip Id numbers */ 36/* Chip Id numbers */
37#define NO_DEV_ID 0xffff 37#define NO_DEV_ID 0xffff
38#define IT8613_ID 0x8613
38#define IT8620_ID 0x8620 39#define IT8620_ID 0x8620
39#define IT8628_ID 0x8628 40#define IT8628_ID 0x8628
40#define IT8718_ID 0x8718 41#define IT8718_ID 0x8718
@@ -308,6 +309,14 @@ static int __init it87_gpio_init(void)
308 it87_gpio->chip = it87_template_chip; 309 it87_gpio->chip = it87_template_chip;
309 310
310 switch (chip_type) { 311 switch (chip_type) {
312 case IT8613_ID:
313 gpio_ba_reg = 0x62;
314 it87_gpio->io_size = 8; /* it8613 only needs 6, use 8 for alignment */
315 it87_gpio->output_base = 0xc8;
316 it87_gpio->simple_base = 0xc0;
317 it87_gpio->simple_size = 6;
318 it87_gpio->chip.ngpio = 64; /* has 48, use 64 for convenient calc */
319 break;
311 case IT8620_ID: 320 case IT8620_ID:
312 case IT8628_ID: 321 case IT8628_ID:
313 gpio_ba_reg = 0x62; 322 gpio_ba_reg = 0x62;