diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 17:50:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 17:50:57 -0400 |
commit | c7c8518498e82591d7784452f5674c3aeb4d079c (patch) | |
tree | 790ff7e6b6741daf32ec686b9a302b957b07c0f4 /Documentation | |
parent | ece236ce2fad9c27a6fd2530f899289025194bce (diff) | |
parent | 591567a5ea25852f20b7ef2953f6f72020121199 (diff) |
Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6
* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: (61 commits)
gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming
mcp23s08: add i2c support
mcp23s08: isolate spi specific parts
mcp23s08: get rid of setup/teardown callbacks
gpio/tegra: dt: add binding for gpio polarity
mcp23s08: remove unused work queue
gpio/da9052: remove a redundant assignment for gpio->da9052
gpio/mxc: add device tree probe support
ARM: mxc: use ARCH_NR_GPIOS to define gpio number
gpio/mxc: get rid of the uses of cpu_is_mx()
gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables
gpio: Move mpc5200 gpio driver to drivers/gpio
GPIO: DA9052 GPIO module v3
gpio/tegra: Use engineering names in DT compatible property
of/gpio: Add new method for getting gpios under different property names
gpio/dt: Refine GPIO device tree binding
gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err
gpio/pca953x: Deprecate meaningless device-tree bindings
gpio/pca953x: Remove dynamic platform data pointer
gpio/pca953x: Fix IRQ support.
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt | 22 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/gpio/gpio.txt | 46 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/gpio/gpio_nvidia.txt | 8 |
3 files changed, 67 insertions, 9 deletions
diff --git a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt new file mode 100644 index 000000000000..4363ae4b3c14 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * Freescale i.MX/MXC GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "fsl,<soc>-gpio" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : Should be the port interrupt shared by all 32 pins, if | ||
7 | one number. If two numbers, the first one is the interrupt shared | ||
8 | by low 16 pins and the second one is for high 16 pins. | ||
9 | - gpio-controller : Marks the device node as a gpio controller. | ||
10 | - #gpio-cells : Should be two. The first cell is the pin number and | ||
11 | the second cell is used to specify optional parameters (currently | ||
12 | unused). | ||
13 | |||
14 | Example: | ||
15 | |||
16 | gpio0: gpio@73f84000 { | ||
17 | compatible = "fsl,imx51-gpio", "fsl,imx31-gpio"; | ||
18 | reg = <0x73f84000 0x4000>; | ||
19 | interrupts = <50 51>; | ||
20 | gpio-controller; | ||
21 | #gpio-cells = <2>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt index edaa84d288a1..4e16ba4feab0 100644 --- a/Documentation/devicetree/bindings/gpio/gpio.txt +++ b/Documentation/devicetree/bindings/gpio/gpio.txt | |||
@@ -4,17 +4,45 @@ Specifying GPIO information for devices | |||
4 | 1) gpios property | 4 | 1) gpios property |
5 | ----------------- | 5 | ----------------- |
6 | 6 | ||
7 | Nodes that makes use of GPIOs should define them using `gpios' property, | 7 | Nodes that makes use of GPIOs should specify them using one or more |
8 | format of which is: <&gpio-controller1-phandle gpio1-specifier | 8 | properties, each containing a 'gpio-list': |
9 | &gpio-controller2-phandle gpio2-specifier | ||
10 | 0 /* holes are permitted, means no GPIO 3 */ | ||
11 | &gpio-controller4-phandle gpio4-specifier | ||
12 | ...>; | ||
13 | 9 | ||
14 | Note that gpio-specifier length is controller dependent. | 10 | gpio-list ::= <single-gpio> [gpio-list] |
11 | single-gpio ::= <gpio-phandle> <gpio-specifier> | ||
12 | gpio-phandle : phandle to gpio controller node | ||
13 | gpio-specifier : Array of #gpio-cells specifying specific gpio | ||
14 | (controller specific) | ||
15 | |||
16 | GPIO properties should be named "[<name>-]gpios". Exact | ||
17 | meaning of each gpios property must be documented in the device tree | ||
18 | binding for each device. | ||
19 | |||
20 | For example, the following could be used to describe gpios pins to use | ||
21 | as chip select lines; with chip selects 0, 1 and 3 populated, and chip | ||
22 | select 2 left empty: | ||
23 | |||
24 | gpio1: gpio1 { | ||
25 | gpio-controller | ||
26 | #gpio-cells = <2>; | ||
27 | }; | ||
28 | gpio2: gpio2 { | ||
29 | gpio-controller | ||
30 | #gpio-cells = <1>; | ||
31 | }; | ||
32 | [...] | ||
33 | chipsel-gpios = <&gpio1 12 0>, | ||
34 | <&gpio1 13 0>, | ||
35 | <0>, /* holes are permitted, means no GPIO 2 */ | ||
36 | <&gpio2 2>; | ||
37 | |||
38 | Note that gpio-specifier length is controller dependent. In the | ||
39 | above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2 | ||
40 | only uses one. | ||
15 | 41 | ||
16 | gpio-specifier may encode: bank, pin position inside the bank, | 42 | gpio-specifier may encode: bank, pin position inside the bank, |
17 | whether pin is open-drain and whether pin is logically inverted. | 43 | whether pin is open-drain and whether pin is logically inverted. |
44 | Exact meaning of each specifier cell is controller specific, and must | ||
45 | be documented in the device tree binding for the device. | ||
18 | 46 | ||
19 | Example of the node using GPIOs: | 47 | Example of the node using GPIOs: |
20 | 48 | ||
@@ -28,8 +56,8 @@ and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller. | |||
28 | 2) gpio-controller nodes | 56 | 2) gpio-controller nodes |
29 | ------------------------ | 57 | ------------------------ |
30 | 58 | ||
31 | Every GPIO controller node must have #gpio-cells property defined, | 59 | Every GPIO controller node must both an empty "gpio-controller" |
32 | this information will be used to translate gpio-specifiers. | 60 | property, and have #gpio-cells contain the size of the gpio-specifier. |
33 | 61 | ||
34 | Example of two SOC GPIO banks defined as gpio-controller nodes: | 62 | Example of two SOC GPIO banks defined as gpio-controller nodes: |
35 | 63 | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio_nvidia.txt b/Documentation/devicetree/bindings/gpio/gpio_nvidia.txt new file mode 100644 index 000000000000..eb4b530d64e1 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio_nvidia.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | NVIDIA Tegra 2 GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-gpio" | ||
5 | - #gpio-cells : Should be two. The first cell is the pin number and the | ||
6 | second cell is used to specify optional parameters: | ||
7 | - bit 0 specifies polarity (0 for normal, 1 for inverted) | ||
8 | - gpio-controller : Marks the device node as a GPIO controller. | ||