blob: 8ff54369d16c888620c7fe9ea79e7fa0a2b62008 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale MXS GPIO controller
8
9maintainers:
10 - Shawn Guo <shawnguo@kernel.org>
Tom Rini53633a82024-02-29 12:33:36 -050011
12description: |
13 The Freescale MXS GPIO controller is part of MXS PIN controller.
14 The GPIOs are organized in port/bank, each port consists of 32 GPIOs.
15 As the GPIO controller is embedded in the PIN controller and all the
16 GPIO ports share the same IO space with PIN controller, the GPIO node
17 will be represented as sub-nodes of MXS pinctrl node.
18
19properties:
20 compatible:
21 enum:
22 - fsl,imx23-pinctrl
23 - fsl,imx28-pinctrl
24
25 '#address-cells':
26 const: 1
27 '#size-cells':
28 const: 0
29
30 reg:
31 maxItems: 1
32
33patternProperties:
34 "gpio@[0-9]+$":
35 type: object
36 properties:
37 compatible:
38 enum:
39 - fsl,imx23-gpio
40 - fsl,imx28-gpio
41
42 reg:
43 maxItems: 1
44
45 interrupts:
46 description: Should be the port interrupt shared by all 32 pins.
47 maxItems: 1
48
49 interrupt-controller: true
50
51 "#interrupt-cells":
52 const: 2
53
54 "#gpio-cells":
55 const: 2
56
57 gpio-controller: true
58
59 required:
60 - compatible
61 - reg
62 - interrupts
63 - interrupt-controller
64 - "#interrupt-cells"
65 - "#gpio-cells"
66 - gpio-controller
67
68 additionalProperties: false
69
70required:
71 - compatible
72 - reg
73 - '#address-cells'
74 - '#size-cells'
75
76additionalProperties: false
77
78examples:
79 - |
80 pinctrl@80018000 {
81 #address-cells = <1>;
82 #size-cells = <0>;
83 compatible = "fsl,imx28-pinctrl";
84 reg = <0x80018000 0x2000>;
85
86 gpio@0 {
87 compatible = "fsl,imx28-gpio";
88 reg = <0>;
89 interrupts = <127>;
90 gpio-controller;
91 #gpio-cells = <2>;
92 interrupt-controller;
93 #interrupt-cells = <2>;
94 };
95
96 gpio@1 {
97 compatible = "fsl,imx28-gpio";
98 reg = <1>;
99 interrupts = <126>;
100 gpio-controller;
101 #gpio-cells = <2>;
102 interrupt-controller;
103 #interrupt-cells = <2>;
104 };
105
106 gpio@2 {
107 compatible = "fsl,imx28-gpio";
108 reg = <2>;
109 interrupts = <125>;
110 gpio-controller;
111 #gpio-cells = <2>;
112 interrupt-controller;
113 #interrupt-cells = <2>;
114 };
115
116 gpio@3 {
117 compatible = "fsl,imx28-gpio";
118 reg = <3>;
119 interrupts = <124>;
120 gpio-controller;
121 #gpio-cells = <2>;
122 interrupt-controller;
123 #interrupt-cells = <2>;
124 };
125
126 gpio@4 {
127 compatible = "fsl,imx28-gpio";
128 reg = <4>;
129 interrupts = <123>;
130 gpio-controller;
131 #gpio-cells = <2>;
132 interrupt-controller;
133 #interrupt-cells = <2>;
134 };
135 };