aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-09-07 13:53:00 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-07 13:53:00 -0400
commit27c7651a6a5f143eccd66db38c7a3035e1f8bcfb (patch)
treec20d3525a2933a8ea7e9ab03022c432b18e0e48a /Documentation
parent8b8a7df9a1d87ba413fce246b11f54c636bb456a (diff)
parent65d876564e989b63b0f769e0e06b9830db97b2d9 (diff)
Merge tag 'gpio-v3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v3.12 series: - A new driver for the TZ1090 PDC which is used on the metag architecture. - A new driver for the Kontron ETX or COMexpress GPIO block. This is found on some ETX x86 devices. - A new driver for the Fintek Super-I/O chips, used on some x86 boards. - Added device tree probing on a few select GPIO blocks. - Drop the Exynos support from the Samsung GPIO driver. The Samsung maintainers have moved over to use the modernized pin control driver to provide GPIO for the modern platforms instead. - The usual bunch of non-critical fixes and cleanups" * tag 'gpio-v3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (36 commits) gpio: return -ENOTSUPP if debounce cannot be set gpio: improve error path in gpiolib gpio: add GPIO support for F71882FG and F71889F of: add vendor prefix for Microchip Technology Inc gpio: mcp23s08: rename the device tree property gpio: samsung: Drop support for Exynos SoCs gpio: pcf857x: Remove pdata argument to pcf857x_irq_domain_init() gpio: pcf857x: Sort headers alphabetically gpio: max7301: Reverting "Do not force SPI speed when using OF Platform" gpio: Fix bit masking in Kontron PLD GPIO driver gpio: pca953x: fix gpio input on gpio offsets >= 8 drivers/gpio: simplify use of devm_ioremap_resource drivers/gpio/gpio-omap.c: convert comma to semicolon gpio-lynxpoint: Fix warning about unbalanced pm_runtime_enable gpio: Fix platform driver name in Kontron PLD GPIO driver gpio: adnp: Fix segfault if request_threaded_irq fails gpio: msm: Staticize local variable 'msm_gpio' gpio: gpiolib-of.c: make error message more meaningful by adding the node name and index gpio: use dev_get_platdata() gpio/mxc: add chained_irq_enter/exit() to mx2_gpio_irq_handler ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt26
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-palmas.txt27
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt45
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-tz1090.txt88
-rw-r--r--Documentation/devicetree/bindings/gpio/mrvl-gpio.txt7
-rw-r--r--Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt8
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt1
7 files changed, 191 insertions, 11 deletions
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
index 629d0ef17308..daa30174bcc1 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
@@ -3,10 +3,17 @@ Microchip MCP2308/MCP23S08/MCP23017/MCP23S17 driver for
3 3
4Required properties: 4Required properties:
5- compatible : Should be 5- compatible : Should be
6 - "mcp,mcp23s08" for 8 GPIO SPI version 6 - "mcp,mcp23s08" (DEPRECATED) for 8 GPIO SPI version
7 - "mcp,mcp23s17" for 16 GPIO SPI version 7 - "mcp,mcp23s17" (DEPRECATED) for 16 GPIO SPI version
8 - "mcp,mcp23008" for 8 GPIO I2C version or 8 - "mcp,mcp23008" (DEPRECATED) for 8 GPIO I2C version or
9 - "mcp,mcp23017" for 16 GPIO I2C version of the chip 9 - "mcp,mcp23017" (DEPRECATED) for 16 GPIO I2C version of the chip
10
11 - "microchip,mcp23s08" for 8 GPIO SPI version
12 - "microchip,mcp23s17" for 16 GPIO SPI version
13 - "microchip,mcp23008" for 8 GPIO I2C version or
14 - "microchip,mcp23017" for 16 GPIO I2C version of the chip
15 NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
16 removed.
10- #gpio-cells : Should be two. 17- #gpio-cells : Should be two.
11 - first cell is the pin number 18 - first cell is the pin number
12 - second cell is used to specify flags. Flags are currently unused. 19 - second cell is used to specify flags. Flags are currently unused.
@@ -15,10 +22,11 @@ Required properties:
15 SPI uses this to specify the chipselect line which the chip is 22 SPI uses this to specify the chipselect line which the chip is
16 connected to. The driver and the SPI variant of the chip support 23 connected to. The driver and the SPI variant of the chip support
17 multiple chips on the same chipselect. Have a look at 24 multiple chips on the same chipselect. Have a look at
18 mcp,spi-present-mask below. 25 microchip,spi-present-mask below.
19 26
20Required device specific properties (only for SPI chips): 27Required device specific properties (only for SPI chips):
21- mcp,spi-present-mask : This is a present flag, that makes only sense for SPI 28- mcp,spi-present-mask (DEPRECATED)
29- microchip,spi-present-mask : This is a present flag, that makes only sense for SPI
22 chips - as the name suggests. Multiple SPI chips can share the same 30 chips - as the name suggests. Multiple SPI chips can share the same
23 SPI chipselect. Set a bit in bit0-7 in this mask to 1 if there is a 31 SPI chipselect. Set a bit in bit0-7 in this mask to 1 if there is a
24 chip connected with the corresponding spi address set. For example if 32 chip connected with the corresponding spi address set. For example if
@@ -26,11 +34,13 @@ Required device specific properties (only for SPI chips):
26 which is 0x08. mcp23s08 chip variant only supports bits 0-3. It is not 34 which is 0x08. mcp23s08 chip variant only supports bits 0-3. It is not
27 possible to mix mcp23s08 and mcp23s17 on the same chipselect. Set at 35 possible to mix mcp23s08 and mcp23s17 on the same chipselect. Set at
28 least one bit to 1 for SPI chips. 36 least one bit to 1 for SPI chips.
37 NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
38 removed.
29- spi-max-frequency = The maximum frequency this chip is able to handle 39- spi-max-frequency = The maximum frequency this chip is able to handle
30 40
31Example I2C: 41Example I2C:
32gpiom1: gpio@20 { 42gpiom1: gpio@20 {
33 compatible = "mcp,mcp23017"; 43 compatible = "microchip,mcp23017";
34 gpio-controller; 44 gpio-controller;
35 #gpio-cells = <2>; 45 #gpio-cells = <2>;
36 reg = <0x20>; 46 reg = <0x20>;
@@ -38,7 +48,7 @@ gpiom1: gpio@20 {
38 48
39Example SPI: 49Example SPI:
40gpiom1: gpio@0 { 50gpiom1: gpio@0 {
41 compatible = "mcp,mcp23s17"; 51 compatible = "microchip,mcp23s17";
42 gpio-controller; 52 gpio-controller;
43 #gpio-cells = <2>; 53 #gpio-cells = <2>;
44 spi-present-mask = <0x01>; 54 spi-present-mask = <0x01>;
diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
new file mode 100644
index 000000000000..08b5b52a3ae0
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
@@ -0,0 +1,27 @@
1Palmas GPIO controller bindings
2
3Required properties:
4- compatible:
5 - "ti,palams-gpio" for palma series of the GPIO controller
6 - "ti,tps80036-gpio" for Palma series device TPS80036.
7 - "ti,tps65913-gpio" for palma series device TPS65913.
8 - "ti,tps65914-gpio" for palma series device TPS65914.
9- #gpio-cells : Should be two.
10 - first cell is the gpio pin number
11 - second cell is used to specify the gpio polarity:
12 0 = active high
13 1 = active low
14- gpio-controller : Marks the device node as a GPIO controller.
15
16Note: This gpio node will be sub node of palmas node.
17
18Example:
19 palmas: tps65913@58 {
20 :::::::::::
21 palmas_gpio: palmas_gpio {
22 compatible = "ti,palmas-gpio";
23 gpio-controller;
24 #gpio-cells = <2>;
25 };
26 :::::::::::
27 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt b/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
new file mode 100644
index 000000000000..1fd98ffa8cb7
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
@@ -0,0 +1,45 @@
1ImgTec TZ1090 PDC GPIO Controller
2
3Required properties:
4- compatible: Compatible property value should be "img,tz1090-pdc-gpio".
5
6- reg: Physical base address of the controller and length of memory mapped
7 region. This starts at and cover the SOC_GPIO_CONTROL registers.
8
9- gpio-controller: Specifies that the node is a gpio controller.
10
11- #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
12 nodes should have the following values.
13 <[phandle of the gpio controller node]
14 [PDC gpio number]
15 [gpio flags]>
16
17 Values for gpio specifier:
18 - GPIO number: a value in the range 0 to 6.
19 - GPIO flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
20 Only the following flags are supported:
21 GPIO_ACTIVE_HIGH
22 GPIO_ACTIVE_LOW
23
24Optional properties:
25- gpio-ranges: Mapping to pin controller pins (as described in
26 Documentation/devicetree/bindings/gpio/gpio.txt)
27
28- interrupts: Individual syswake interrupts (other GPIOs cannot interrupt)
29
30
31Example:
32
33 pdc_gpios: gpio-controller@02006500 {
34 gpio-controller;
35 #gpio-cells = <2>;
36
37 compatible = "img,tz1090-pdc-gpio";
38 reg = <0x02006500 0x100>;
39
40 interrupt-parent = <&pdc>;
41 interrupts = <8 IRQ_TYPE_NONE>, /* Syswake 0 */
42 <9 IRQ_TYPE_NONE>, /* Syswake 1 */
43 <10 IRQ_TYPE_NONE>; /* Syswake 2 */
44 gpio-ranges = <&pdc_pinctrl 0 0 7>;
45 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt b/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
new file mode 100644
index 000000000000..174cdf309170
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
@@ -0,0 +1,88 @@
1ImgTec TZ1090 GPIO Controller
2
3Required properties:
4- compatible: Compatible property value should be "img,tz1090-gpio".
5
6- reg: Physical base address of the controller and length of memory mapped
7 region.
8
9- #address-cells: Should be 1 (for bank subnodes)
10
11- #size-cells: Should be 0 (for bank subnodes)
12
13- Each bank of GPIOs should have a subnode to represent it.
14
15 Bank subnode required properties:
16 - reg: Index of bank in the range 0 to 2.
17
18 - gpio-controller: Specifies that the node is a gpio controller.
19
20 - #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
21 nodes should have the following values.
22 <[phandle of the gpio controller node]
23 [gpio number within the gpio bank]
24 [gpio flags]>
25
26 Values for gpio specifier:
27 - GPIO number: a value in the range 0 to 29.
28 - GPIO flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
29 Only the following flags are supported:
30 GPIO_ACTIVE_HIGH
31 GPIO_ACTIVE_LOW
32
33 Bank subnode optional properties:
34 - gpio-ranges: Mapping to pin controller pins (as described in
35 Documentation/devicetree/bindings/gpio/gpio.txt)
36
37 - interrupts: Interrupt for the entire bank
38
39 - interrupt-controller: Specifies that the node is an interrupt controller
40
41 - #interrupt-cells: Should be 2. The syntax of the interrupt specifier used by
42 client nodes should have the following values.
43 <[phandle of the interurupt controller]
44 [gpio number within the gpio bank]
45 [irq flags]>
46
47 Values for irq specifier:
48 - GPIO number: a value in the range 0 to 29
49 - IRQ flags: value to describe edge and level triggering, as defined in
50 <dt-bindings/interrupt-controller/irq.h>. Only the following flags are
51 supported:
52 IRQ_TYPE_EDGE_RISING
53 IRQ_TYPE_EDGE_FALLING
54 IRQ_TYPE_EDGE_BOTH
55 IRQ_TYPE_LEVEL_HIGH
56 IRQ_TYPE_LEVEL_LOW
57
58
59
60Example:
61
62 gpios: gpio-controller@02005800 {
63 #address-cells = <1>;
64 #size-cells = <0>;
65 compatible = "img,tz1090-gpio";
66 reg = <0x02005800 0x90>;
67
68 /* bank 0 with an interrupt */
69 gpios0: bank@0 {
70 #gpio-cells = <2>;
71 #interrupt-cells = <2>;
72 reg = <0>;
73 interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
74 gpio-controller;
75 gpio-ranges = <&pinctrl 0 0 30>;
76 interrupt-controller;
77 };
78
79 /* bank 2 without interrupt */
80 gpios2: bank@2 {
81 #gpio-cells = <2>;
82 reg = <2>;
83 gpio-controller;
84 gpio-ranges = <&pinctrl 0 60 30>;
85 };
86 };
87
88
diff --git a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
index 9b3f1d4a88d6..66416261e14d 100644
--- a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
@@ -10,8 +10,9 @@ Required properties:
10 There're three gpio interrupts in arch-pxa, and they're gpio0, 10 There're three gpio interrupts in arch-pxa, and they're gpio0,
11 gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp, 11 gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp,
12 gpio_mux. 12 gpio_mux.
13- interrupt-name : Should be the name of irq resource. Each interrupt 13- interrupt-names : Should be the names of irq resources. Each interrupt
14 binds its interrupt-name. 14 uses its own interrupt name, so there should be as many interrupt names
15 as referenced interrups.
15- interrupt-controller : Identifies the node as an interrupt controller. 16- interrupt-controller : Identifies the node as an interrupt controller.
16- #interrupt-cells: Specifies the number of cells needed to encode an 17- #interrupt-cells: Specifies the number of cells needed to encode an
17 interrupt source. 18 interrupt source.
@@ -24,7 +25,7 @@ Example:
24 compatible = "marvell,mmp-gpio"; 25 compatible = "marvell,mmp-gpio";
25 reg = <0xd4019000 0x1000>; 26 reg = <0xd4019000 0x1000>;
26 interrupts = <49>; 27 interrupts = <49>;
27 interrupt-name = "gpio_mux"; 28 interrupt-names = "gpio_mux";
28 gpio-controller; 29 gpio-controller;
29 #gpio-cells = <1>; 30 #gpio-cells = <1>;
30 interrupt-controller; 31 interrupt-controller;
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
index cb3dc7bcd8e6..8655df9440d5 100644
--- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
+++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
@@ -23,6 +23,10 @@ Required Properties:
23Please refer to gpio.txt in this directory for details of gpio-ranges property 23Please refer to gpio.txt in this directory for details of gpio-ranges property
24and the common GPIO bindings used by client devices. 24and the common GPIO bindings used by client devices.
25 25
26The GPIO controller also acts as an interrupt controller. It uses the default
27two cells specifier as described in Documentation/devicetree/bindings/
28interrupt-controller/interrupts.txt.
29
26Example: R8A7779 (R-Car H1) GPIO controller nodes 30Example: R8A7779 (R-Car H1) GPIO controller nodes
27 31
28 gpio0: gpio@ffc40000 { 32 gpio0: gpio@ffc40000 {
@@ -33,6 +37,8 @@ Example: R8A7779 (R-Car H1) GPIO controller nodes
33 #gpio-cells = <2>; 37 #gpio-cells = <2>;
34 gpio-controller; 38 gpio-controller;
35 gpio-ranges = <&pfc 0 0 32>; 39 gpio-ranges = <&pfc 0 0 32>;
40 interrupt-controller;
41 #interrupt-cells = <2>;
36 }; 42 };
37 ... 43 ...
38 gpio6: gpio@ffc46000 { 44 gpio6: gpio@ffc46000 {
@@ -43,4 +49,6 @@ Example: R8A7779 (R-Car H1) GPIO controller nodes
43 #gpio-cells = <2>; 49 #gpio-cells = <2>;
44 gpio-controller; 50 gpio-controller;
45 gpio-ranges = <&pfc 0 192 9>; 51 gpio-ranges = <&pfc 0 192 9>;
52 interrupt-controller;
53 #interrupt-cells = <2>;
46 }; 54 };
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index b571560ed5f9..2956800f0240 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -38,6 +38,7 @@ linux Linux-specific binding
38lsi LSI Corp. (LSI Logic) 38lsi LSI Corp. (LSI Logic)
39marvell Marvell Technology Group Ltd. 39marvell Marvell Technology Group Ltd.
40maxim Maxim Integrated Products 40maxim Maxim Integrated Products
41microchip Microchip Technology Inc.
41mosaixtech Mosaix Technologies, Inc. 42mosaixtech Mosaix Technologies, Inc.
42national National Semiconductor 43national National Semiconductor
43nintendo Nintendo 44nintendo Nintendo