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 JZ4740, the X1000 and the X1830 21 the X1000 and the X1830 contains 4 GPIO port !! 21 contains 4 GPIO ports, PA to PD, for a total of 128 pins. The JZ4760, the 22 pins. The X2000 and the X2100 contains 5 GPI !! 22 JZ4770 and the JZ4780 contains 6 GPIO ports, PA to PF, for a total of 192 23 160 pins. The JZ4750, the JZ4755 the JZ4760, !! 23 pins. 24 6 GPIO ports, PA to PF, for a total of 192 p << 25 ports, PA to PG, for a total of 224 pins. << 26 24 27 maintainers: 25 maintainers: 28 - Paul Cercueil <paul@crapouillou.net> 26 - Paul Cercueil <paul@crapouillou.net> 29 27 30 properties: 28 properties: >> 29 nodename: >> 30 pattern: "^pinctrl@[0-9a-f]+$" >> 31 31 compatible: 32 compatible: 32 oneOf: 33 oneOf: 33 - enum: 34 - enum: 34 - ingenic,jz4730-pinctrl << 35 - ingenic,jz4740-pinctrl 35 - ingenic,jz4740-pinctrl 36 - ingenic,jz4725b-pinctrl 36 - ingenic,jz4725b-pinctrl 37 - ingenic,jz4750-pinctrl << 38 - ingenic,jz4755-pinctrl << 39 - ingenic,jz4760-pinctrl 37 - ingenic,jz4760-pinctrl 40 - ingenic,jz4770-pinctrl 38 - ingenic,jz4770-pinctrl 41 - ingenic,jz4775-pinctrl << 42 - ingenic,jz4780-pinctrl 39 - ingenic,jz4780-pinctrl 43 - ingenic,x1000-pinctrl 40 - ingenic,x1000-pinctrl 44 - ingenic,x1500-pinctrl 41 - ingenic,x1500-pinctrl 45 - ingenic,x1830-pinctrl 42 - ingenic,x1830-pinctrl 46 - ingenic,x2000-pinctrl << 47 - ingenic,x2100-pinctrl << 48 - items: 43 - items: 49 - const: ingenic,jz4760b-pinctrl 44 - const: ingenic,jz4760b-pinctrl 50 - const: ingenic,jz4760-pinctrl 45 - const: ingenic,jz4760-pinctrl 51 - items: 46 - items: 52 - const: ingenic,x1000e-pinctrl 47 - const: ingenic,x1000e-pinctrl 53 - const: ingenic,x1000-pinctrl 48 - const: ingenic,x1000-pinctrl 54 - items: << 55 - const: ingenic,x2000e-pinctrl << 56 - const: ingenic,x2000-pinctrl << 57 49 58 reg: 50 reg: 59 maxItems: 1 51 maxItems: 1 60 52 61 "#address-cells": 53 "#address-cells": 62 const: 1 54 const: 1 63 55 64 "#size-cells": 56 "#size-cells": 65 const: 0 57 const: 0 66 58 67 patternProperties: 59 patternProperties: 68 "^gpio@[0-9]$": 60 "^gpio@[0-9]$": 69 type: object 61 type: object 70 properties: 62 properties: 71 compatible: 63 compatible: 72 enum: 64 enum: 73 - ingenic,jz4730-gpio << 74 - ingenic,jz4740-gpio 65 - ingenic,jz4740-gpio 75 - ingenic,jz4725b-gpio 66 - ingenic,jz4725b-gpio 76 - ingenic,jz4750-gpio << 77 - ingenic,jz4755-gpio << 78 - ingenic,jz4760-gpio 67 - ingenic,jz4760-gpio 79 - ingenic,jz4770-gpio 68 - ingenic,jz4770-gpio 80 - ingenic,jz4775-gpio << 81 - ingenic,jz4780-gpio 69 - ingenic,jz4780-gpio 82 - ingenic,x1000-gpio 70 - ingenic,x1000-gpio 83 - ingenic,x1500-gpio 71 - ingenic,x1500-gpio 84 - ingenic,x1830-gpio 72 - ingenic,x1830-gpio 85 - ingenic,x2000-gpio << 86 - ingenic,x2100-gpio << 87 73 88 reg: 74 reg: 89 items: 75 items: 90 - description: The GPIO bank number 76 - description: The GPIO bank number 91 77 92 gpio-controller: true 78 gpio-controller: true 93 79 94 "#gpio-cells": 80 "#gpio-cells": 95 const: 2 81 const: 2 96 82 97 gpio-ranges: 83 gpio-ranges: 98 maxItems: 1 84 maxItems: 1 99 85 100 interrupt-controller: true 86 interrupt-controller: true 101 87 102 "#interrupt-cells": 88 "#interrupt-cells": 103 const: 2 89 const: 2 104 description: 90 description: 105 Refer to ../interrupt-controller/int 91 Refer to ../interrupt-controller/interrupts.txt for more details. 106 92 107 interrupts: 93 interrupts: 108 maxItems: 1 94 maxItems: 1 109 95 110 required: 96 required: 111 - compatible 97 - compatible 112 - reg 98 - reg 113 - gpio-controller 99 - gpio-controller 114 - "#gpio-cells" 100 - "#gpio-cells" 115 - interrupts 101 - interrupts 116 - interrupt-controller 102 - interrupt-controller 117 - "#interrupt-cells" 103 - "#interrupt-cells" 118 104 119 additionalProperties: false 105 additionalProperties: false 120 106 121 allOf: << 122 - $ref: pinctrl.yaml# << 123 << 124 required: 107 required: 125 - compatible 108 - compatible 126 - reg 109 - reg 127 - "#address-cells" 110 - "#address-cells" 128 - "#size-cells" 111 - "#size-cells" 129 112 130 additionalProperties: 113 additionalProperties: 131 anyOf: 114 anyOf: 132 - type: object 115 - type: object 133 allOf: 116 allOf: 134 - $ref: pincfg-node.yaml# 117 - $ref: pincfg-node.yaml# 135 - $ref: pinmux-node.yaml# 118 - $ref: pinmux-node.yaml# 136 119 137 properties: 120 properties: >> 121 phandle: true 138 function: true 122 function: true 139 groups: true 123 groups: true 140 pins: true 124 pins: true 141 bias-disable: true 125 bias-disable: true 142 bias-pull-up: true 126 bias-pull-up: true 143 bias-pull-down: true 127 bias-pull-down: true 144 output-low: true 128 output-low: true 145 output-high: true 129 output-high: true 146 additionalProperties: false 130 additionalProperties: false 147 131 148 - type: object 132 - type: object >> 133 properties: >> 134 phandle: true 149 additionalProperties: 135 additionalProperties: 150 type: object 136 type: object 151 allOf: 137 allOf: 152 - $ref: pincfg-node.yaml# 138 - $ref: pincfg-node.yaml# 153 - $ref: pinmux-node.yaml# 139 - $ref: pinmux-node.yaml# 154 140 155 properties: 141 properties: >> 142 phandle: true 156 function: true 143 function: true 157 groups: true 144 groups: true 158 pins: true 145 pins: true 159 bias-disable: true 146 bias-disable: true 160 bias-pull-up: true 147 bias-pull-up: true 161 bias-pull-down: true 148 bias-pull-down: true 162 output-low: true 149 output-low: true 163 output-high: true 150 output-high: true 164 additionalProperties: false 151 additionalProperties: false 165 152 166 examples: 153 examples: 167 - | 154 - | 168 pinctrl@10010000 { !! 155 pin-controller@10010000 { 169 compatible = "ingenic,jz4770-pinctrl"; 156 compatible = "ingenic,jz4770-pinctrl"; 170 reg = <0x10010000 0x600>; 157 reg = <0x10010000 0x600>; 171 158 172 #address-cells = <1>; 159 #address-cells = <1>; 173 #size-cells = <0>; 160 #size-cells = <0>; 174 161 175 gpio@0 { 162 gpio@0 { 176 compatible = "ingenic,jz4770-gpio"; 163 compatible = "ingenic,jz4770-gpio"; 177 reg = <0>; 164 reg = <0>; 178 165 179 gpio-controller; 166 gpio-controller; 180 gpio-ranges = <&pinctrl 0 0 32>; 167 gpio-ranges = <&pinctrl 0 0 32>; 181 #gpio-cells = <2>; 168 #gpio-cells = <2>; 182 169 183 interrupt-controller; 170 interrupt-controller; 184 #interrupt-cells = <2>; 171 #interrupt-cells = <2>; 185 172 186 interrupt-parent = <&intc>; 173 interrupt-parent = <&intc>; 187 interrupts = <17>; 174 interrupts = <17>; 188 }; 175 }; 189 }; 176 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.