~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php