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