kvm tools, setup: Create private directory
[linux-2.6/next.git] / Documentation / devicetree / bindings / gpio / gpio.txt
blobedaa84d288a16d3a10d9d51ac8f343c05e99e196
1 Specifying GPIO information for devices
2 ============================================
4 1) gpios property
5 -----------------
7 Nodes that makes use of GPIOs should define them using `gpios' property,
8 format of which is: <&gpio-controller1-phandle gpio1-specifier
9                      &gpio-controller2-phandle gpio2-specifier
10                      0 /* holes are permitted, means no GPIO 3 */
11                      &gpio-controller4-phandle gpio4-specifier
12                      ...>;
14 Note that gpio-specifier length is controller dependent.
16 gpio-specifier may encode: bank, pin position inside the bank,
17 whether pin is open-drain and whether pin is logically inverted.
19 Example of the node using GPIOs:
21         node {
22                 gpios = <&qe_pio_e 18 0>;
23         };
25 In this example gpio-specifier is "18 0" and encodes GPIO pin number,
26 and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller.
28 2) gpio-controller nodes
29 ------------------------
31 Every GPIO controller node must have #gpio-cells property defined,
32 this information will be used to translate gpio-specifiers.
34 Example of two SOC GPIO banks defined as gpio-controller nodes:
36         qe_pio_a: gpio-controller@1400 {
37                 #gpio-cells = <2>;
38                 compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank";
39                 reg = <0x1400 0x18>;
40                 gpio-controller;
41         };
43         qe_pio_e: gpio-controller@1460 {
44                 #gpio-cells = <2>;
45                 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank";
46                 reg = <0x1460 0x18>;
47                 gpio-controller;
48         };