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          - enum:
23              - fsl,imx8mm-gpio
24              - fsl,imx8mn-gpio
25              - fsl,imx8mp-gpio
26              - fsl,imx8mq-gpio
27              - fsl,imx8qxp-gpio
28          - const: fsl,imx35-gpio
29
30  reg:
31    maxItems: 1
32
33  interrupts:
34    description: |
35      Should be the port interrupt shared by all 32 pins, if one number.
36      If two numbers, the first one is the interrupt shared by low 16 pins
37      and the second one is for high 16 pins.
38    minItems: 1
39    maxItems: 2
40
41  interrupt-controller: true
42
43  "#interrupt-cells":
44    const: 2
45
46  clocks:
47    maxItems: 1
48
49  "#gpio-cells":
50    const: 2
51
52  gpio-controller: true
53
54  gpio-ranges: true
55
56required:
57  - compatible
58  - reg
59  - interrupts
60  - interrupt-controller
61  - "#interrupt-cells"
62  - "#gpio-cells"
63  - gpio-controller
64
65additionalProperties: false
66
67examples:
68  - |
69    gpio0: gpio@73f84000 {
70        compatible = "fsl,imx35-gpio";
71        reg = <0x73f84000 0x4000>;
72        interrupts = <50 51>;
73        gpio-controller;
74        #gpio-cells = <2>;
75        interrupt-controller;
76        #interrupt-cells = <2>;
77    };
78
79...
80