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
35bf276877SKrzysztof Kozlowski              - fsl,imx8mm-gpio
36bf276877SKrzysztof Kozlowski              - fsl,imx8mn-gpio
37bf276877SKrzysztof Kozlowski              - fsl,imx8mp-gpio
38bf276877SKrzysztof Kozlowski              - fsl,imx8mq-gpio
39bf276877SKrzysztof Kozlowski              - fsl,imx8qxp-gpio
40*c4f0d16dSJesse Taube              - fsl,imxrt1050-gpio
41*c4f0d16dSJesse Taube              - fsl,imxrt1170-gpio
42bf276877SKrzysztof Kozlowski          - const: fsl,imx35-gpio
43493d8f46SAnson Huang
44493d8f46SAnson Huang  reg:
45493d8f46SAnson Huang    maxItems: 1
46493d8f46SAnson Huang
47493d8f46SAnson Huang  interrupts:
48493d8f46SAnson Huang    description: |
49493d8f46SAnson Huang      Should be the port interrupt shared by all 32 pins, if one number.
50493d8f46SAnson Huang      If two numbers, the first one is the interrupt shared by low 16 pins
51493d8f46SAnson Huang      and the second one is for high 16 pins.
52493d8f46SAnson Huang    minItems: 1
53493d8f46SAnson Huang    maxItems: 2
54493d8f46SAnson Huang
55493d8f46SAnson Huang  interrupt-controller: true
56493d8f46SAnson Huang
57493d8f46SAnson Huang  "#interrupt-cells":
58493d8f46SAnson Huang    const: 2
59493d8f46SAnson Huang
60493d8f46SAnson Huang  clocks:
61493d8f46SAnson Huang    maxItems: 1
62493d8f46SAnson Huang
63493d8f46SAnson Huang  "#gpio-cells":
64493d8f46SAnson Huang    const: 2
65493d8f46SAnson Huang
66493d8f46SAnson Huang  gpio-controller: true
6760e74329SKrzysztof Kozlowski  gpio-line-names: true
680c77a86aSKrzysztof Kozlowski  gpio-ranges: true
690c77a86aSKrzysztof Kozlowski
708c0aa567SKrzysztof Kozlowski  power-domains:
718c0aa567SKrzysztof Kozlowski    maxItems: 1
728c0aa567SKrzysztof Kozlowski
73dfb49cc2SKrzysztof KozlowskipatternProperties:
74dfb49cc2SKrzysztof Kozlowski  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
75dfb49cc2SKrzysztof Kozlowski    type: object
76dfb49cc2SKrzysztof Kozlowski    properties:
77dfb49cc2SKrzysztof Kozlowski      gpio-hog: true
78dfb49cc2SKrzysztof Kozlowski      gpios: true
79dfb49cc2SKrzysztof Kozlowski      input: true
80dfb49cc2SKrzysztof Kozlowski      output-high: true
81dfb49cc2SKrzysztof Kozlowski      output-low: true
82dfb49cc2SKrzysztof Kozlowski      line-name: true
83dfb49cc2SKrzysztof Kozlowski
84dfb49cc2SKrzysztof Kozlowski    required:
85dfb49cc2SKrzysztof Kozlowski      - gpio-hog
86dfb49cc2SKrzysztof Kozlowski      - gpios
87dfb49cc2SKrzysztof Kozlowski
88dfb49cc2SKrzysztof Kozlowski    additionalProperties: false
89dfb49cc2SKrzysztof Kozlowski
90493d8f46SAnson Huangrequired:
91493d8f46SAnson Huang  - compatible
92493d8f46SAnson Huang  - reg
93493d8f46SAnson Huang  - interrupts
94493d8f46SAnson Huang  - interrupt-controller
95493d8f46SAnson Huang  - "#interrupt-cells"
96493d8f46SAnson Huang  - "#gpio-cells"
97493d8f46SAnson Huang  - gpio-controller
98493d8f46SAnson Huang
99493d8f46SAnson HuangadditionalProperties: false
100493d8f46SAnson Huang
101493d8f46SAnson Huangexamples:
102493d8f46SAnson Huang  - |
103493d8f46SAnson Huang    gpio0: gpio@73f84000 {
104493d8f46SAnson Huang        compatible = "fsl,imx35-gpio";
105493d8f46SAnson Huang        reg = <0x73f84000 0x4000>;
106493d8f46SAnson Huang        interrupts = <50 51>;
107493d8f46SAnson Huang        gpio-controller;
108493d8f46SAnson Huang        #gpio-cells = <2>;
109493d8f46SAnson Huang        interrupt-controller;
110493d8f46SAnson Huang        #interrupt-cells = <2>;
111493d8f46SAnson Huang    };
112493d8f46SAnson Huang
113493d8f46SAnson Huang...
114