Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
[sfrench/cifs-2.6.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,pcal6416
20         nxp,pcal6524
21         nxp,pcal9555a
22         maxim,max7310
23         maxim,max7312
24         maxim,max7313
25         maxim,max7315
26         ti,pca6107
27         ti,pca9536
28         ti,tca6408
29         ti,tca6416
30         ti,tca6424
31         ti,tca9539
32         ti,tca9554
33         onnn,pca9654
34         exar,xra1202
35  - gpio-controller: if used as gpio expander.
36  - #gpio-cells: if used as gpio expander.
37  - interrupt-controller: if to be used as interrupt expander.
38  - #interrupt-cells: if to be used as interrupt expander.
39
40 Optional properties:
41  - interrupts: interrupt specifier for the device's interrupt output.
42  - reset-gpios: GPIO specification for the RESET input. This is an
43                 active low signal to the PCA953x.
44  - vcc-supply:  power supply regulator.
45
46 Example:
47
48
49         gpio@20 {
50                 compatible = "nxp,pca9505";
51                 reg = <0x20>;
52                 pinctrl-names = "default";
53                 pinctrl-0 = <&pinctrl_pca9505>;
54                 gpio-controller;
55                 #gpio-cells = <2>;
56                 interrupt-parent = <&gpio3>;
57                 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
58         };
59
60
61 Example with Interrupts:
62
63
64         gpio99: gpio@22 {
65                 compatible = "nxp,pcal6524";
66                 reg = <0x22>;
67                 interrupt-parent = <&gpio6>;
68                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
69                 interrupt-controller;
70                 #interrupt-cells = <2>;
71                 vcc-supply = <&vdds_1v8_main>;
72                 gpio-controller;
73                 #gpio-cells = <2>;
74                 gpio-line-names =
75                         "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03", "vibra", "fault2", "p06", "p07",
76                         "en-usb", "en-host1", "en-host2", "chg-int", "p14", "p15", "mic-int", "en-modem",
77                         "shdn-hs-amp", "chg-status+red", "green", "blue", "en-esata", "fault1", "p26", "p27";
78         };
79
80         ts3a227@3b {
81                 compatible = "ti,ts3a227e";
82                 reg = <0x3b>;
83                 interrupt-parent = <&gpio99>;
84                 interrupts = <14 IRQ_TYPE_EDGE_RISING>;
85                 ti,micbias = <0>;       /* 2.1V */
86         };
87