1 # SPDX-License-Identifier: GPL-2.0-only 1 # SPDX-License-Identifier: GPL-2.0-only 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/gpio/mrvl-g 4 $id: http://devicetree.org/schemas/gpio/mrvl-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Marvell PXA GPIO controller 7 title: Marvell PXA GPIO controller 8 8 9 maintainers: 9 maintainers: 10 - Linus Walleij <linus.walleij@linaro.org> 10 - Linus Walleij <linus.walleij@linaro.org> 11 - Bartosz Golaszewski <bgolaszewski@baylibre. 11 - Bartosz Golaszewski <bgolaszewski@baylibre.com> 12 - Rob Herring <robh@kernel.org> 12 - Rob Herring <robh@kernel.org> 13 13 14 allOf: 14 allOf: 15 - if: 15 - if: 16 properties: 16 properties: 17 compatible: 17 compatible: 18 contains: 18 contains: 19 enum: 19 enum: 20 - intel,pxa25x-gpio 20 - intel,pxa25x-gpio 21 - intel,pxa26x-gpio 21 - intel,pxa26x-gpio 22 - intel,pxa27x-gpio 22 - intel,pxa27x-gpio 23 - intel,pxa3xx-gpio 23 - intel,pxa3xx-gpio 24 then: 24 then: 25 properties: 25 properties: 26 interrupts: 26 interrupts: 27 minItems: 3 27 minItems: 3 28 maxItems: 3 28 maxItems: 3 29 interrupt-names: 29 interrupt-names: 30 items: 30 items: 31 - const: gpio0 31 - const: gpio0 32 - const: gpio1 32 - const: gpio1 33 - const: gpio_mux 33 - const: gpio_mux 34 - if: 34 - if: 35 properties: 35 properties: 36 compatible: 36 compatible: 37 contains: 37 contains: 38 enum: 38 enum: 39 - marvell,mmp-gpio 39 - marvell,mmp-gpio 40 - marvell,mmp2-gpio 40 - marvell,mmp2-gpio 41 then: 41 then: 42 properties: 42 properties: 43 interrupts: 43 interrupts: 44 maxItems: 1 44 maxItems: 1 45 interrupt-names: 45 interrupt-names: 46 items: 46 items: 47 - const: gpio_mux 47 - const: gpio_mux 48 48 49 properties: 49 properties: 50 $nodename: 50 $nodename: 51 pattern: '^gpio@[0-9a-f]+$' 51 pattern: '^gpio@[0-9a-f]+$' 52 52 53 compatible: 53 compatible: 54 enum: 54 enum: 55 - intel,pxa25x-gpio 55 - intel,pxa25x-gpio 56 - intel,pxa26x-gpio 56 - intel,pxa26x-gpio 57 - intel,pxa27x-gpio 57 - intel,pxa27x-gpio 58 - intel,pxa3xx-gpio 58 - intel,pxa3xx-gpio 59 - marvell,mmp-gpio 59 - marvell,mmp-gpio 60 - marvell,mmp2-gpio 60 - marvell,mmp2-gpio 61 - marvell,pxa93x-gpio 61 - marvell,pxa93x-gpio 62 62 63 reg: 63 reg: 64 maxItems: 1 64 maxItems: 1 65 65 66 clocks: 66 clocks: 67 maxItems: 1 67 maxItems: 1 68 68 69 resets: 69 resets: 70 maxItems: 1 70 maxItems: 1 71 71 72 ranges: true 72 ranges: true 73 73 74 '#address-cells': 74 '#address-cells': 75 const: 1 75 const: 1 76 76 77 '#size-cells': 77 '#size-cells': 78 const: 1 78 const: 1 79 79 80 gpio-controller: true 80 gpio-controller: true 81 81 82 '#gpio-cells': 82 '#gpio-cells': 83 const: 2 83 const: 2 84 84 85 gpio-ranges: true 85 gpio-ranges: true 86 86 87 interrupts: true 87 interrupts: true 88 88 89 interrupt-names: true 89 interrupt-names: true 90 90 91 interrupt-controller: true 91 interrupt-controller: true 92 92 93 '#interrupt-cells': 93 '#interrupt-cells': 94 const: 2 94 const: 2 95 95 96 patternProperties: 96 patternProperties: 97 '^gpio@[0-9a-f]*$': 97 '^gpio@[0-9a-f]*$': 98 type: object 98 type: object 99 properties: 99 properties: 100 reg: 100 reg: 101 maxItems: 1 101 maxItems: 1 102 102 103 required: 103 required: 104 - reg 104 - reg 105 105 106 additionalProperties: false 106 additionalProperties: false 107 107 108 required: 108 required: 109 - compatible 109 - compatible 110 - '#address-cells' 110 - '#address-cells' 111 - '#size-cells' 111 - '#size-cells' 112 - reg 112 - reg 113 - gpio-controller 113 - gpio-controller 114 - '#gpio-cells' 114 - '#gpio-cells' 115 - interrupts 115 - interrupts 116 - interrupt-names 116 - interrupt-names 117 - interrupt-controller 117 - interrupt-controller 118 - '#interrupt-cells' 118 - '#interrupt-cells' 119 119 120 additionalProperties: false 120 additionalProperties: false 121 121 122 examples: 122 examples: 123 - | 123 - | 124 #include <dt-bindings/clock/pxa-clock.h> 124 #include <dt-bindings/clock/pxa-clock.h> 125 gpio@40e00000 { 125 gpio@40e00000 { 126 compatible = "intel,pxa3xx-gpio"; 126 compatible = "intel,pxa3xx-gpio"; 127 #address-cells = <1>; 127 #address-cells = <1>; 128 #size-cells = <1>; 128 #size-cells = <1>; 129 reg = <0x40e00000 0x10000>; 129 reg = <0x40e00000 0x10000>; 130 gpio-controller; 130 gpio-controller; 131 #gpio-cells = <2>; 131 #gpio-cells = <2>; 132 interrupts = <8>, <9>, <10>; 132 interrupts = <8>, <9>, <10>; 133 interrupt-names = "gpio0", "gpio1", "g 133 interrupt-names = "gpio0", "gpio1", "gpio_mux"; 134 clocks = <&clks CLK_GPIO>; 134 clocks = <&clks CLK_GPIO>; 135 interrupt-controller; 135 interrupt-controller; 136 #interrupt-cells = <2>; 136 #interrupt-cells = <2>; 137 }; 137 }; 138 - | 138 - | 139 #include <dt-bindings/clock/marvell,pxa910 139 #include <dt-bindings/clock/marvell,pxa910.h> 140 gpio@d4019000 { 140 gpio@d4019000 { 141 compatible = "marvell,mmp-gpio"; 141 compatible = "marvell,mmp-gpio"; 142 #address-cells = <1>; 142 #address-cells = <1>; 143 #size-cells = <1>; 143 #size-cells = <1>; 144 reg = <0xd4019000 0x1000>; 144 reg = <0xd4019000 0x1000>; 145 gpio-controller; 145 gpio-controller; 146 #gpio-cells = <2>; 146 #gpio-cells = <2>; 147 interrupts = <49>; 147 interrupts = <49>; 148 interrupt-names = "gpio_mux"; 148 interrupt-names = "gpio_mux"; 149 clocks = <&soc_clocks PXA910_CLK_GPIO> 149 clocks = <&soc_clocks PXA910_CLK_GPIO>; 150 resets = <&soc_clocks PXA910_CLK_GPIO> 150 resets = <&soc_clocks PXA910_CLK_GPIO>; 151 interrupt-controller; 151 interrupt-controller; 152 #interrupt-cells = <2>; 152 #interrupt-cells = <2>; 153 ranges; 153 ranges; 154 154 155 gpio@d4019000 { 155 gpio@d4019000 { 156 reg = <0xd4019000 0x4>; 156 reg = <0xd4019000 0x4>; 157 }; 157 }; 158 158 159 gpio@d4019004 { 159 gpio@d4019004 { 160 reg = <0xd4019004 0x4>; 160 reg = <0xd4019004 0x4>; 161 }; 161 }; 162 162 163 gpio@d4019008 { 163 gpio@d4019008 { 164 reg = <0xd4019008 0x4>; 164 reg = <0xd4019008 0x4>; 165 }; 165 }; 166 166 167 gpio@d4019100 { 167 gpio@d4019100 { 168 reg = <0xd4019100 0x4>; 168 reg = <0xd4019100 0x4>; 169 }; 169 }; 170 }; 170 }; 171 171 172 ... 172 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.