GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / gpio / gpio-pca953x.txt
1 * NXP PCA953x I2C GPIO multiplexer
2
3 Required properties:
4  - compatible: Has to contain one of the following:
5         nxp,pca9505
6         nxp,pca9534
7         nxp,pca9535
8         nxp,pca9536
9         nxp,pca9537
10         nxp,pca9538
11         nxp,pca9539
12         nxp,pca9554
13         nxp,pca9555
14         nxp,pca9556
15         nxp,pca9557
16         nxp,pca9574
17         nxp,pca9575
18         nxp,pca9698
19         nxp,pcal6524
20         nxp,pcal9555a
21         maxim,max7310
22         maxim,max7312
23         maxim,max7313
24         maxim,max7315
25         ti,pca6107
26         ti,pca9536
27         ti,tca6408
28         ti,tca6416
29         ti,tca6424
30         ti,tca9539
31         ti,tca9554
32         onnn,pca9654
33         exar,xra1202
34  - gpio-controller: if used as gpio expander.
35  - #gpio-cells: if used as gpio expander.
36  - interrupt-controller: if to be used as interrupt expander.
37  - #interrupt-cells: if to be used as interrupt expander.
38
39 Optional properties:
40  - interrupts: interrupt specifier for the device's interrupt output.
41  - reset-gpios: GPIO specification for the RESET input. This is an
42                 active low signal to the PCA953x.
43  - vcc-supply:  power supply regulator.
44
45 Example:
46
47
48         gpio@20 {
49                 compatible = "nxp,pca9505";
50                 reg = <0x20>;
51                 pinctrl-names = "default";
52                 pinctrl-0 = <&pinctrl_pca9505>;
53                 gpio-controller;
54                 #gpio-cells = <2>;
55                 interrupt-parent = <&gpio3>;
56                 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
57         };
58
59
60 Example with Interrupts:
61
62
63         gpio99: gpio@22 {
64                 compatible = "nxp,pcal6524";
65                 reg = <0x22>;
66                 interrupt-parent = <&gpio6>;
67                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
68                 interrupt-controller;
69                 #interrupt-cells = <2>;
70                 vcc-supply = <&vdds_1v8_main>;
71                 gpio-controller;
72                 #gpio-cells = <2>;
73                 gpio-line-names =
74                         "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03", "vibra", "fault2", "p06", "p07",
75                         "en-usb", "en-host1", "en-host2", "chg-int", "p14", "p15", "mic-int", "en-modem",
76                         "shdn-hs-amp", "chg-status+red", "green", "blue", "en-esata", "fault1", "p26", "p27";
77         };
78
79         ts3a227@3b {
80                 compatible = "ti,ts3a227e";
81                 reg = <0x3b>;
82                 interrupt-parent = <&gpio99>;
83                 interrupts = <14 IRQ_TYPE_EDGE_RISING>;
84                 ti,micbias = <0>;       /* 2.1V */
85         };
86