1# Copyright (c) 2024 ITE Corporation. All Rights Reserved.
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  ITE IT8801 ioexpander multi-function device drivers.
6  This ioexpander provides a GPIO/PWM/Keyboard function via I2C bus.
7
8  An example configuration using the it8801-common-cfg.dtsi template:
9
10  &i2c4 {
11      it8801_mfd: it8801@38 {
12          compatible = "ite,it8801-mfd";
13          /*
14           * SMBus address (7-bit without R/W)
15           * SMB_ADDR pin is 0, SMBus address is 0x38
16           * SMB_ADDR pin is 1, SMBus address is 0x39
17           */
18          reg = <0x38>;
19          irq-gpios = <&gpioa 1 0>; /* SMB_INT# */
20      }
21
22      #include <ite/it8801-common-cfg.dtsi>
23
24      /* sub-devices available at nodelabels:
25       * - ioex_it8801_port0
26       * - ioex_it8801_port1
27       * - ioex_it8801_port2
28       * - ioex_it8801_kbd
29       * - ioex_it8801_pwm
30       */
31
32      &ioex_it8801_kbd {
33          kso-mapping = <0 1 20 3 4 5 6 17 18 16 15 11 12>;
34          mfdctrl = <&kso18_gp01_default &kso20_gp23_default>;
35          row-size = <8>;
36          col-size = <13>;
37      };
38
39      &ioex_it8801_pwm {
40          status = "okay";
41      };
42  };
43
44compatible: "ite,it8801-mfd"
45
46include: i2c-device.yaml
47
48properties:
49  reg:
50    required: true
51
52  irq-gpios:
53    type: phandle-array
54    description: |
55      An interrupt can be asserted on SMB_INT# pin to notify
56      the host-side since an effective interrupt occurs.
57