Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / gpio / fsl-imx-gpio.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/gpio/fsl-imx-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale i.MX/MXC GPIO controller
8
9 maintainers:
10   - Anson Huang <Anson.Huang@nxp.com>
11
12 properties:
13   compatible:
14     oneOf:
15       - enum:
16           - fsl,imx1-gpio
17           - fsl,imx21-gpio
18           - fsl,imx31-gpio
19           - fsl,imx35-gpio
20           - fsl,imx7d-gpio
21       - items:
22           - const: fsl,imx35-gpio
23           - const: fsl,imx31-gpio
24       - items:
25           - enum:
26               - fsl,imx50-gpio
27               - fsl,imx51-gpio
28               - fsl,imx53-gpio
29               - fsl,imx6q-gpio
30               - fsl,imx6sl-gpio
31               - fsl,imx6sll-gpio
32               - fsl,imx6sx-gpio
33               - fsl,imx6ul-gpio
34               - fsl,imx7d-gpio
35               - fsl,imx8mm-gpio
36               - fsl,imx8mn-gpio
37               - fsl,imx8mp-gpio
38               - fsl,imx8mq-gpio
39               - fsl,imx8qxp-gpio
40           - const: fsl,imx35-gpio
41
42   reg:
43     maxItems: 1
44
45   interrupts:
46     description: |
47       Should be the port interrupt shared by all 32 pins, if one number.
48       If two numbers, the first one is the interrupt shared by low 16 pins
49       and the second one is for high 16 pins.
50     minItems: 1
51     maxItems: 2
52
53   interrupt-controller: true
54
55   "#interrupt-cells":
56     const: 2
57
58   clocks:
59     maxItems: 1
60
61   "#gpio-cells":
62     const: 2
63
64   gpio-controller: true
65   gpio-line-names: true
66   gpio-ranges: true
67
68   power-domains:
69     maxItems: 1
70
71 patternProperties:
72   "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
73     type: object
74     properties:
75       gpio-hog: true
76       gpios: true
77       input: true
78       output-high: true
79       output-low: true
80       line-name: true
81
82     required:
83       - gpio-hog
84       - gpios
85
86     additionalProperties: false
87
88 required:
89   - compatible
90   - reg
91   - interrupts
92   - interrupt-controller
93   - "#interrupt-cells"
94   - "#gpio-cells"
95   - gpio-controller
96
97 additionalProperties: false
98
99 examples:
100   - |
101     gpio0: gpio@73f84000 {
102         compatible = "fsl,imx35-gpio";
103         reg = <0x73f84000 0x4000>;
104         interrupts = <50 51>;
105         gpio-controller;
106         #gpio-cells = <2>;
107         interrupt-controller;
108         #interrupt-cells = <2>;
109     };
110
111 ...