1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/pinctrl/ingenic,pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Ingenic SoCs pin controller devicetree bindings
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".
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 JZ4740, the X1000 and the X1830
21 contains 4 GPIO ports, PA to PD, for a total of 128 pins. The JZ4760, the
22 JZ4770 and the JZ4780 contains 6 GPIO ports, PA to PF, for a total of 192
26 - Paul Cercueil <paul@crapouillou.net>
30 pattern: "^pinctrl@[0-9a-f]+$"
35 - ingenic,jz4740-pinctrl
36 - ingenic,jz4725b-pinctrl
37 - ingenic,jz4760-pinctrl
38 - ingenic,jz4770-pinctrl
39 - ingenic,jz4780-pinctrl
40 - ingenic,x1000-pinctrl
41 - ingenic,x1500-pinctrl
42 - ingenic,x1830-pinctrl
44 - const: ingenic,jz4760b-pinctrl
45 - const: ingenic,jz4760-pinctrl
47 - const: ingenic,x1000e-pinctrl
48 - const: ingenic,x1000-pinctrl
66 - ingenic,jz4725b-gpio
76 - description: The GPIO bank number
86 interrupt-controller: true
91 Refer to ../interrupt-controller/interrupts.txt for more details.
102 - interrupt-controller
105 additionalProperties: false
113 additionalProperties:
117 - $ref: pincfg-node.yaml#
118 - $ref: pinmux-node.yaml#
130 additionalProperties: false
135 additionalProperties:
138 - $ref: pincfg-node.yaml#
139 - $ref: pinmux-node.yaml#
151 additionalProperties: false
155 pin-controller@10010000 {
156 compatible = "ingenic,jz4770-pinctrl";
157 reg = <0x10010000 0x600>;
159 #address-cells = <1>;
163 compatible = "ingenic,jz4770-gpio";
167 gpio-ranges = <&pinctrl 0 0 32>;
170 interrupt-controller;
171 #interrupt-cells = <2>;
173 interrupt-parent = <&intc>;