Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 1 | * Marvell PXA GPIO controller |
| 2 | |
| 3 | Required properties: |
Haojian Zhuang | f873117 | 2013-04-09 22:27:50 +0800 | [diff] [blame] | 4 | - compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio", |
| 5 | "intel,pxa27x-gpio", "intel,pxa3xx-gpio", |
Rob Herring | 9948004 | 2015-01-26 22:46:05 -0600 | [diff] [blame] | 6 | "marvell,pxa93x-gpio", "marvell,mmp-gpio", |
| 7 | "marvell,mmp2-gpio" or marvell,pxa1928-gpio. |
Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 8 | - reg : Address and length of the register set for the device |
Haojian Zhuang | ace1297 | 2012-04-27 16:21:08 +0800 | [diff] [blame] | 9 | - interrupts : Should be the port interrupt shared by all gpio pins. |
| 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, |
| 12 | gpio_mux. |
Daniel Mack | ee56884 | 2013-07-11 17:17:54 +0200 | [diff] [blame] | 13 | - interrupt-names : Should be the names of irq resources. Each interrupt |
| 14 | uses its own interrupt name, so there should be as many interrupt names |
Josh Wu | 3952109 | 2015-03-04 11:50:29 +0800 | [diff] [blame] | 15 | as referenced interrupts. |
Haojian Zhuang | ace1297 | 2012-04-27 16:21:08 +0800 | [diff] [blame] | 16 | - interrupt-controller : Identifies the node as an interrupt controller. |
| 17 | - #interrupt-cells: Specifies the number of cells needed to encode an |
| 18 | interrupt source. |
Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 19 | - gpio-controller : Marks the device node as a gpio controller. |
| 20 | - #gpio-cells : Should be one. It is the pin number. |
| 21 | |
Daniel Mack | a879891 | 2014-08-14 11:40:24 +0200 | [diff] [blame] | 22 | Example for a MMP platform: |
Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 23 | |
| 24 | gpio: gpio@d4019000 { |
Haojian Zhuang | f873117 | 2013-04-09 22:27:50 +0800 | [diff] [blame] | 25 | compatible = "marvell,mmp-gpio"; |
Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 26 | reg = <0xd4019000 0x1000>; |
Haojian Zhuang | ace1297 | 2012-04-27 16:21:08 +0800 | [diff] [blame] | 27 | interrupts = <49>; |
Daniel Mack | ee56884 | 2013-07-11 17:17:54 +0200 | [diff] [blame] | 28 | interrupt-names = "gpio_mux"; |
Haojian Zhuang | 46e446d | 2012-03-01 13:49:57 +0800 | [diff] [blame] | 29 | gpio-controller; |
| 30 | #gpio-cells = <1>; |
| 31 | interrupt-controller; |
| 32 | #interrupt-cells = <1>; |
| 33 | }; |
Andrew Lunn | 278b45b | 2012-06-27 13:40:04 +0200 | [diff] [blame] | 34 | |
Daniel Mack | a879891 | 2014-08-14 11:40:24 +0200 | [diff] [blame] | 35 | Example for a PXA3xx platform: |
| 36 | |
| 37 | gpio: gpio@40e00000 { |
| 38 | compatible = "intel,pxa3xx-gpio"; |
| 39 | reg = <0x40e00000 0x10000>; |
| 40 | interrupt-names = "gpio0", "gpio1", "gpio_mux"; |
| 41 | interrupts = <8 9 10>; |
| 42 | gpio-controller; |
| 43 | #gpio-cells = <0x2>; |
| 44 | interrupt-controller; |
| 45 | #interrupt-cells = <0x2>; |
| 46 | }; |