1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/ing 4 $id: http://devicetree.org/schemas/pinctrl/ingenic,pinctrl.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Ingenic SoCs pin controller !! 7 title: Ingenic SoCs pin controller devicetree bindings 8 8 9 description: > 9 description: > 10 Please refer to pinctrl-bindings.txt in this 10 Please refer to pinctrl-bindings.txt in this directory for details of the 11 common pinctrl bindings used by client devic 11 common pinctrl bindings used by client devices, including the meaning of the 12 phrase "pin configuration node". 12 phrase "pin configuration node". 13 13 14 For the Ingenic SoCs, pin control is tightly 14 For the Ingenic SoCs, pin control is tightly bound with GPIO ports. All pins 15 may be used as GPIOs, multiplexed device fun 15 may be used as GPIOs, multiplexed device functions are configured within the 16 GPIO port configuration registers and it is 16 GPIO port configuration registers and it is typical to refer to pins using the 17 naming scheme "PxN" where x is a character i 17 naming scheme "PxN" where x is a character identifying the GPIO port with 18 which the pin is associated and N is an inte 18 which the pin is associated and N is an integer from 0 to 31 identifying the 19 pin within that GPIO port. For example PA0 i 19 pin within that GPIO port. For example PA0 is the first pin in GPIO port A, 20 and PB31 is the last pin in GPIO port B. The 20 and PB31 is the last pin in GPIO port B. The JZ4730, the JZ4740, the JZ4725B, 21 the X1000 and the X1830 contains 4 GPIO port 21 the X1000 and the X1830 contains 4 GPIO ports, PA to PD, for a total of 128 22 pins. The X2000 and the X2100 contains 5 GPI 22 pins. The X2000 and the X2100 contains 5 GPIO ports, PA to PE, for a total of 23 160 pins. The JZ4750, the JZ4755 the JZ4760, 23 160 pins. The JZ4750, the JZ4755 the JZ4760, the JZ4770 and the JZ4780 contains 24 6 GPIO ports, PA to PF, for a total of 192 p 24 6 GPIO ports, PA to PF, for a total of 192 pins. The JZ4775 contains 7 GPIO 25 ports, PA to PG, for a total of 224 pins. 25 ports, PA to PG, for a total of 224 pins. 26 26 27 maintainers: 27 maintainers: 28 - Paul Cercueil <paul@crapouillou.net> 28 - Paul Cercueil <paul@crapouillou.net> 29 29 30 properties: 30 properties: >> 31 nodename: >> 32 pattern: "^pinctrl@[0-9a-f]+$" >> 33 31 compatible: 34 compatible: 32 oneOf: 35 oneOf: 33 - enum: 36 - enum: 34 - ingenic,jz4730-pinctrl 37 - ingenic,jz4730-pinctrl 35 - ingenic,jz4740-pinctrl 38 - ingenic,jz4740-pinctrl 36 - ingenic,jz4725b-pinctrl 39 - ingenic,jz4725b-pinctrl 37 - ingenic,jz4750-pinctrl 40 - ingenic,jz4750-pinctrl 38 - ingenic,jz4755-pinctrl 41 - ingenic,jz4755-pinctrl 39 - ingenic,jz4760-pinctrl 42 - ingenic,jz4760-pinctrl 40 - ingenic,jz4770-pinctrl 43 - ingenic,jz4770-pinctrl 41 - ingenic,jz4775-pinctrl 44 - ingenic,jz4775-pinctrl 42 - ingenic,jz4780-pinctrl 45 - ingenic,jz4780-pinctrl 43 - ingenic,x1000-pinctrl 46 - ingenic,x1000-pinctrl 44 - ingenic,x1500-pinctrl 47 - ingenic,x1500-pinctrl 45 - ingenic,x1830-pinctrl 48 - ingenic,x1830-pinctrl 46 - ingenic,x2000-pinctrl 49 - ingenic,x2000-pinctrl 47 - ingenic,x2100-pinctrl 50 - ingenic,x2100-pinctrl 48 - items: 51 - items: 49 - const: ingenic,jz4760b-pinctrl 52 - const: ingenic,jz4760b-pinctrl 50 - const: ingenic,jz4760-pinctrl 53 - const: ingenic,jz4760-pinctrl 51 - items: 54 - items: 52 - const: ingenic,x1000e-pinctrl 55 - const: ingenic,x1000e-pinctrl 53 - const: ingenic,x1000-pinctrl 56 - const: ingenic,x1000-pinctrl 54 - items: 57 - items: 55 - const: ingenic,x2000e-pinctrl 58 - const: ingenic,x2000e-pinctrl 56 - const: ingenic,x2000-pinctrl 59 - const: ingenic,x2000-pinctrl 57 60 58 reg: 61 reg: 59 maxItems: 1 62 maxItems: 1 60 63 61 "#address-cells": 64 "#address-cells": 62 const: 1 65 const: 1 63 66 64 "#size-cells": 67 "#size-cells": 65 const: 0 68 const: 0 66 69 67 patternProperties: 70 patternProperties: 68 "^gpio@[0-9]$": 71 "^gpio@[0-9]$": 69 type: object 72 type: object 70 properties: 73 properties: 71 compatible: 74 compatible: 72 enum: 75 enum: 73 - ingenic,jz4730-gpio 76 - ingenic,jz4730-gpio 74 - ingenic,jz4740-gpio 77 - ingenic,jz4740-gpio 75 - ingenic,jz4725b-gpio 78 - ingenic,jz4725b-gpio 76 - ingenic,jz4750-gpio 79 - ingenic,jz4750-gpio 77 - ingenic,jz4755-gpio 80 - ingenic,jz4755-gpio 78 - ingenic,jz4760-gpio 81 - ingenic,jz4760-gpio 79 - ingenic,jz4770-gpio 82 - ingenic,jz4770-gpio 80 - ingenic,jz4775-gpio 83 - ingenic,jz4775-gpio 81 - ingenic,jz4780-gpio 84 - ingenic,jz4780-gpio 82 - ingenic,x1000-gpio 85 - ingenic,x1000-gpio 83 - ingenic,x1500-gpio 86 - ingenic,x1500-gpio 84 - ingenic,x1830-gpio 87 - ingenic,x1830-gpio 85 - ingenic,x2000-gpio 88 - ingenic,x2000-gpio 86 - ingenic,x2100-gpio 89 - ingenic,x2100-gpio 87 90 88 reg: 91 reg: 89 items: 92 items: 90 - description: The GPIO bank number 93 - description: The GPIO bank number 91 94 92 gpio-controller: true 95 gpio-controller: true 93 96 94 "#gpio-cells": 97 "#gpio-cells": 95 const: 2 98 const: 2 96 99 97 gpio-ranges: 100 gpio-ranges: 98 maxItems: 1 101 maxItems: 1 99 102 100 interrupt-controller: true 103 interrupt-controller: true 101 104 102 "#interrupt-cells": 105 "#interrupt-cells": 103 const: 2 106 const: 2 104 description: 107 description: 105 Refer to ../interrupt-controller/int 108 Refer to ../interrupt-controller/interrupts.txt for more details. 106 109 107 interrupts: 110 interrupts: 108 maxItems: 1 111 maxItems: 1 109 112 110 required: 113 required: 111 - compatible 114 - compatible 112 - reg 115 - reg 113 - gpio-controller 116 - gpio-controller 114 - "#gpio-cells" 117 - "#gpio-cells" 115 - interrupts 118 - interrupts 116 - interrupt-controller 119 - interrupt-controller 117 - "#interrupt-cells" 120 - "#interrupt-cells" 118 121 119 additionalProperties: false 122 additionalProperties: false 120 123 121 allOf: << 122 - $ref: pinctrl.yaml# << 123 << 124 required: 124 required: 125 - compatible 125 - compatible 126 - reg 126 - reg 127 - "#address-cells" 127 - "#address-cells" 128 - "#size-cells" 128 - "#size-cells" 129 129 130 additionalProperties: 130 additionalProperties: 131 anyOf: 131 anyOf: 132 - type: object 132 - type: object 133 allOf: 133 allOf: 134 - $ref: pincfg-node.yaml# 134 - $ref: pincfg-node.yaml# 135 - $ref: pinmux-node.yaml# 135 - $ref: pinmux-node.yaml# 136 136 137 properties: 137 properties: >> 138 phandle: true 138 function: true 139 function: true 139 groups: true 140 groups: true 140 pins: true 141 pins: true 141 bias-disable: true 142 bias-disable: true 142 bias-pull-up: true 143 bias-pull-up: true 143 bias-pull-down: true 144 bias-pull-down: true 144 output-low: true 145 output-low: true 145 output-high: true 146 output-high: true 146 additionalProperties: false 147 additionalProperties: false 147 148 148 - type: object 149 - type: object >> 150 properties: >> 151 phandle: true 149 additionalProperties: 152 additionalProperties: 150 type: object 153 type: object 151 allOf: 154 allOf: 152 - $ref: pincfg-node.yaml# 155 - $ref: pincfg-node.yaml# 153 - $ref: pinmux-node.yaml# 156 - $ref: pinmux-node.yaml# 154 157 155 properties: 158 properties: >> 159 phandle: true 156 function: true 160 function: true 157 groups: true 161 groups: true 158 pins: true 162 pins: true 159 bias-disable: true 163 bias-disable: true 160 bias-pull-up: true 164 bias-pull-up: true 161 bias-pull-down: true 165 bias-pull-down: true 162 output-low: true 166 output-low: true 163 output-high: true 167 output-high: true 164 additionalProperties: false 168 additionalProperties: false 165 169 166 examples: 170 examples: 167 - | 171 - | 168 pinctrl@10010000 { !! 172 pin-controller@10010000 { 169 compatible = "ingenic,jz4770-pinctrl"; 173 compatible = "ingenic,jz4770-pinctrl"; 170 reg = <0x10010000 0x600>; 174 reg = <0x10010000 0x600>; 171 175 172 #address-cells = <1>; 176 #address-cells = <1>; 173 #size-cells = <0>; 177 #size-cells = <0>; 174 178 175 gpio@0 { 179 gpio@0 { 176 compatible = "ingenic,jz4770-gpio"; 180 compatible = "ingenic,jz4770-gpio"; 177 reg = <0>; 181 reg = <0>; 178 182 179 gpio-controller; 183 gpio-controller; 180 gpio-ranges = <&pinctrl 0 0 32>; 184 gpio-ranges = <&pinctrl 0 0 32>; 181 #gpio-cells = <2>; 185 #gpio-cells = <2>; 182 186 183 interrupt-controller; 187 interrupt-controller; 184 #interrupt-cells = <2>; 188 #interrupt-cells = <2>; 185 189 186 interrupt-parent = <&intc>; 190 interrupt-parent = <&intc>; 187 interrupts = <17>; 191 interrupts = <17>; 188 }; 192 }; 189 }; 193 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.