1493d8f46SAnson Huang# SPDX-License-Identifier: GPL-2.0
2493d8f46SAnson Huang%YAML 1.2
3493d8f46SAnson Huang---
4493d8f46SAnson Huang$id: http://devicetree.org/schemas/gpio/fsl-imx-gpio.yaml#
5493d8f46SAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml#
6493d8f46SAnson Huang
7493d8f46SAnson Huangtitle: Freescale i.MX/MXC GPIO controller
8493d8f46SAnson Huang
9493d8f46SAnson Huangmaintainers:
10493d8f46SAnson Huang  - Anson Huang <Anson.Huang@nxp.com>
11493d8f46SAnson Huang
12493d8f46SAnson Huangproperties:
13493d8f46SAnson Huang  compatible:
14bf276877SKrzysztof Kozlowski    oneOf:
15bf276877SKrzysztof Kozlowski      - enum:
16493d8f46SAnson Huang          - fsl,imx1-gpio
17493d8f46SAnson Huang          - fsl,imx21-gpio
18493d8f46SAnson Huang          - fsl,imx31-gpio
19493d8f46SAnson Huang          - fsl,imx35-gpio
20493d8f46SAnson Huang          - fsl,imx7d-gpio
21bf276877SKrzysztof Kozlowski      - items:
22256012abSKrzysztof Kozlowski          - const: fsl,imx35-gpio
23256012abSKrzysztof Kozlowski          - const: fsl,imx31-gpio
24256012abSKrzysztof Kozlowski      - items:
25bf276877SKrzysztof Kozlowski          - enum:
26256012abSKrzysztof Kozlowski              - fsl,imx50-gpio
27256012abSKrzysztof Kozlowski              - fsl,imx51-gpio
28256012abSKrzysztof Kozlowski              - fsl,imx53-gpio
29256012abSKrzysztof Kozlowski              - fsl,imx6q-gpio
30256012abSKrzysztof Kozlowski              - fsl,imx6sl-gpio
31256012abSKrzysztof Kozlowski              - fsl,imx6sll-gpio
32256012abSKrzysztof Kozlowski              - fsl,imx6sx-gpio
33256012abSKrzysztof Kozlowski              - fsl,imx6ul-gpio
34256012abSKrzysztof Kozlowski              - fsl,imx7d-gpio
35*27d5a3ccSPeng Fan              - fsl,imx8dxl-gpio
36bf276877SKrzysztof Kozlowski              - fsl,imx8mm-gpio
37bf276877SKrzysztof Kozlowski              - fsl,imx8mn-gpio
38bf276877SKrzysztof Kozlowski              - fsl,imx8mp-gpio
39bf276877SKrzysztof Kozlowski              - fsl,imx8mq-gpio
40*27d5a3ccSPeng Fan              - fsl,imx8qm-gpio
41bf276877SKrzysztof Kozlowski              - fsl,imx8qxp-gpio
42c4f0d16dSJesse Taube              - fsl,imxrt1050-gpio
43c4f0d16dSJesse Taube              - fsl,imxrt1170-gpio
44bf276877SKrzysztof Kozlowski          - const: fsl,imx35-gpio
45493d8f46SAnson Huang
46493d8f46SAnson Huang  reg:
47493d8f46SAnson Huang    maxItems: 1
48493d8f46SAnson Huang
49493d8f46SAnson Huang  interrupts:
50493d8f46SAnson Huang    description: |
51493d8f46SAnson Huang      Should be the port interrupt shared by all 32 pins, if one number.
52493d8f46SAnson Huang      If two numbers, the first one is the interrupt shared by low 16 pins
53493d8f46SAnson Huang      and the second one is for high 16 pins.
54493d8f46SAnson Huang    minItems: 1
55493d8f46SAnson Huang    maxItems: 2
56493d8f46SAnson Huang
57493d8f46SAnson Huang  interrupt-controller: true
58493d8f46SAnson Huang
59493d8f46SAnson Huang  "#interrupt-cells":
60493d8f46SAnson Huang    const: 2
61493d8f46SAnson Huang
62493d8f46SAnson Huang  clocks:
63493d8f46SAnson Huang    maxItems: 1
64493d8f46SAnson Huang
65493d8f46SAnson Huang  "#gpio-cells":
66493d8f46SAnson Huang    const: 2
67493d8f46SAnson Huang
68493d8f46SAnson Huang  gpio-controller: true
6960e74329SKrzysztof Kozlowski  gpio-line-names: true
700c77a86aSKrzysztof Kozlowski  gpio-ranges: true
710c77a86aSKrzysztof Kozlowski
728c0aa567SKrzysztof Kozlowski  power-domains:
738c0aa567SKrzysztof Kozlowski    maxItems: 1
748c0aa567SKrzysztof Kozlowski
75dfb49cc2SKrzysztof KozlowskipatternProperties:
76dfb49cc2SKrzysztof Kozlowski  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
77dfb49cc2SKrzysztof Kozlowski    type: object
78dfb49cc2SKrzysztof Kozlowski    properties:
79dfb49cc2SKrzysztof Kozlowski      gpio-hog: true
80dfb49cc2SKrzysztof Kozlowski      gpios: true
81dfb49cc2SKrzysztof Kozlowski      input: true
82dfb49cc2SKrzysztof Kozlowski      output-high: true
83dfb49cc2SKrzysztof Kozlowski      output-low: true
84dfb49cc2SKrzysztof Kozlowski      line-name: true
85dfb49cc2SKrzysztof Kozlowski
86dfb49cc2SKrzysztof Kozlowski    required:
87dfb49cc2SKrzysztof Kozlowski      - gpio-hog
88dfb49cc2SKrzysztof Kozlowski      - gpios
89dfb49cc2SKrzysztof Kozlowski
90dfb49cc2SKrzysztof Kozlowski    additionalProperties: false
91dfb49cc2SKrzysztof Kozlowski
92493d8f46SAnson Huangrequired:
93493d8f46SAnson Huang  - compatible
94493d8f46SAnson Huang  - reg
95493d8f46SAnson Huang  - interrupts
96493d8f46SAnson Huang  - interrupt-controller
97493d8f46SAnson Huang  - "#interrupt-cells"
98493d8f46SAnson Huang  - "#gpio-cells"
99493d8f46SAnson Huang  - gpio-controller
100493d8f46SAnson Huang
101493d8f46SAnson HuangadditionalProperties: false
102493d8f46SAnson Huang
103493d8f46SAnson Huangexamples:
104493d8f46SAnson Huang  - |
105493d8f46SAnson Huang    gpio0: gpio@73f84000 {
106493d8f46SAnson Huang        compatible = "fsl,imx35-gpio";
107493d8f46SAnson Huang        reg = <0x73f84000 0x4000>;
108493d8f46SAnson Huang        interrupts = <50 51>;
109493d8f46SAnson Huang        gpio-controller;
110493d8f46SAnson Huang        #gpio-cells = <2>;
111493d8f46SAnson Huang        interrupt-controller;
112493d8f46SAnson Huang        #interrupt-cells = <2>;
113493d8f46SAnson Huang    };
114493d8f46SAnson Huang
115493d8f46SAnson Huang...
116