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
7title: Freescale i.MX/MXC GPIO controller
8
9maintainers:
10  - Anson Huang <Anson.Huang@nxp.com>
11
12properties:
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              - fsl,imxrt1050-gpio
41              - fsl,imxrt1170-gpio
42          - const: fsl,imx35-gpio
43
44  reg:
45    maxItems: 1
46
47  interrupts:
48    description: |
49      Should be the port interrupt shared by all 32 pins, if one number.
50      If two numbers, the first one is the interrupt shared by low 16 pins
51      and the second one is for high 16 pins.
52    minItems: 1
53    maxItems: 2
54
55  interrupt-controller: true
56
57  "#interrupt-cells":
58    const: 2
59
60  clocks:
61    maxItems: 1
62
63  "#gpio-cells":
64    const: 2
65
66  gpio-controller: true
67  gpio-line-names: true
68  gpio-ranges: true
69
70  power-domains:
71    maxItems: 1
72
73patternProperties:
74  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
75    type: object
76    properties:
77      gpio-hog: true
78      gpios: true
79      input: true
80      output-high: true
81      output-low: true
82      line-name: true
83
84    required:
85      - gpio-hog
86      - gpios
87
88    additionalProperties: false
89
90required:
91  - compatible
92  - reg
93  - interrupts
94  - interrupt-controller
95  - "#interrupt-cells"
96  - "#gpio-cells"
97  - gpio-controller
98
99additionalProperties: false
100
101examples:
102  - |
103    gpio0: gpio@73f84000 {
104        compatible = "fsl,imx35-gpio";
105        reg = <0x73f84000 0x4000>;
106        interrupts = <50 51>;
107        gpio-controller;
108        #gpio-cells = <2>;
109        interrupt-controller;
110        #interrupt-cells = <2>;
111    };
112
113...
114