xref: /linux/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml (revision c7546e2c3cb739a3c1a2f5acaf9bb629d401afe5)
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  - Shawn Guo <shawnguo@kernel.org>
11  - Sascha Hauer <s.hauer@pengutronix.de>
12  - Fabio Estevam <festevam@gmail.com>
13
14properties:
15  compatible:
16    oneOf:
17      - enum:
18          - fsl,imx1-gpio
19          - fsl,imx21-gpio
20          - fsl,imx31-gpio
21          - fsl,imx35-gpio
22          - fsl,imx7d-gpio
23      - items:
24          - enum:
25              - fsl,imx27-gpio
26          - const: fsl,imx21-gpio
27      - items:
28          - const: fsl,imx35-gpio
29          - const: fsl,imx31-gpio
30      - items:
31          - enum:
32              - fsl,imx25-gpio
33          - const: fsl,imx35-gpio
34      - items:
35          - enum:
36              - fsl,imx50-gpio
37              - fsl,imx51-gpio
38              - fsl,imx53-gpio
39              - fsl,imx6q-gpio
40              - fsl,imx6sl-gpio
41              - fsl,imx6sll-gpio
42              - fsl,imx6sx-gpio
43              - fsl,imx6ul-gpio
44              - fsl,imx7d-gpio
45              - fsl,imx8dxl-gpio
46              - fsl,imx8mm-gpio
47              - fsl,imx8mn-gpio
48              - fsl,imx8mp-gpio
49              - fsl,imx8mq-gpio
50              - fsl,imx8qm-gpio
51              - fsl,imx8qxp-gpio
52              - fsl,imxrt1050-gpio
53              - fsl,imxrt1170-gpio
54          - const: fsl,imx35-gpio
55
56  reg:
57    maxItems: 1
58
59  interrupts:
60    description: |
61      Should be the port interrupt shared by all 32 pins, if one number.
62      If two numbers, the first one is the interrupt shared by low 16 pins
63      and the second one is for high 16 pins.
64    minItems: 1
65    maxItems: 2
66
67  interrupt-controller: true
68
69  "#interrupt-cells":
70    const: 2
71
72  clocks:
73    maxItems: 1
74
75  "#gpio-cells":
76    const: 2
77
78  gpio-controller: true
79  gpio-line-names: true
80  gpio-ranges: true
81
82  power-domains:
83    maxItems: 1
84
85patternProperties:
86  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
87    type: object
88    required:
89      - gpio-hog
90
91required:
92  - compatible
93  - reg
94  - interrupts
95  - interrupt-controller
96  - "#interrupt-cells"
97  - "#gpio-cells"
98  - gpio-controller
99
100additionalProperties: false
101
102examples:
103  - |
104    gpio0: gpio@73f84000 {
105        compatible = "fsl,imx35-gpio";
106        reg = <0x73f84000 0x4000>;
107        interrupts = <50 51>;
108        gpio-controller;
109        #gpio-cells = <2>;
110        interrupt-controller;
111        #interrupt-cells = <2>;
112    };
113
114...
115