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:
22bf276877SKrzysztof Kozlowski          - enum:
23bf276877SKrzysztof Kozlowski              - fsl,imx8mm-gpio
24bf276877SKrzysztof Kozlowski              - fsl,imx8mn-gpio
25bf276877SKrzysztof Kozlowski              - fsl,imx8mp-gpio
26bf276877SKrzysztof Kozlowski              - fsl,imx8mq-gpio
27bf276877SKrzysztof Kozlowski              - fsl,imx8qxp-gpio
28bf276877SKrzysztof Kozlowski          - const: fsl,imx35-gpio
29493d8f46SAnson Huang
30493d8f46SAnson Huang  reg:
31493d8f46SAnson Huang    maxItems: 1
32493d8f46SAnson Huang
33493d8f46SAnson Huang  interrupts:
34493d8f46SAnson Huang    description: |
35493d8f46SAnson Huang      Should be the port interrupt shared by all 32 pins, if one number.
36493d8f46SAnson Huang      If two numbers, the first one is the interrupt shared by low 16 pins
37493d8f46SAnson Huang      and the second one is for high 16 pins.
38493d8f46SAnson Huang    minItems: 1
39493d8f46SAnson Huang    maxItems: 2
40493d8f46SAnson Huang
41493d8f46SAnson Huang  interrupt-controller: true
42493d8f46SAnson Huang
43493d8f46SAnson Huang  "#interrupt-cells":
44493d8f46SAnson Huang    const: 2
45493d8f46SAnson Huang
46493d8f46SAnson Huang  clocks:
47493d8f46SAnson Huang    maxItems: 1
48493d8f46SAnson Huang
49493d8f46SAnson Huang  "#gpio-cells":
50493d8f46SAnson Huang    const: 2
51493d8f46SAnson Huang
52493d8f46SAnson Huang  gpio-controller: true
53493d8f46SAnson Huang
540c77a86aSKrzysztof Kozlowski  gpio-ranges: true
550c77a86aSKrzysztof Kozlowski
568c0aa567SKrzysztof Kozlowski  power-domains:
578c0aa567SKrzysztof Kozlowski    maxItems: 1
588c0aa567SKrzysztof Kozlowski
59dfb49cc2SKrzysztof KozlowskipatternProperties:
60dfb49cc2SKrzysztof Kozlowski  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
61dfb49cc2SKrzysztof Kozlowski    type: object
62dfb49cc2SKrzysztof Kozlowski    properties:
63dfb49cc2SKrzysztof Kozlowski      gpio-hog: true
64dfb49cc2SKrzysztof Kozlowski      gpios: true
65dfb49cc2SKrzysztof Kozlowski      input: true
66dfb49cc2SKrzysztof Kozlowski      output-high: true
67dfb49cc2SKrzysztof Kozlowski      output-low: true
68dfb49cc2SKrzysztof Kozlowski      line-name: true
69dfb49cc2SKrzysztof Kozlowski
70dfb49cc2SKrzysztof Kozlowski    required:
71dfb49cc2SKrzysztof Kozlowski      - gpio-hog
72dfb49cc2SKrzysztof Kozlowski      - gpios
73dfb49cc2SKrzysztof Kozlowski
74dfb49cc2SKrzysztof Kozlowski    additionalProperties: false
75dfb49cc2SKrzysztof Kozlowski
76493d8f46SAnson Huangrequired:
77493d8f46SAnson Huang  - compatible
78493d8f46SAnson Huang  - reg
79493d8f46SAnson Huang  - interrupts
80493d8f46SAnson Huang  - interrupt-controller
81493d8f46SAnson Huang  - "#interrupt-cells"
82493d8f46SAnson Huang  - "#gpio-cells"
83493d8f46SAnson Huang  - gpio-controller
84493d8f46SAnson Huang
85493d8f46SAnson HuangadditionalProperties: false
86493d8f46SAnson Huang
87493d8f46SAnson Huangexamples:
88493d8f46SAnson Huang  - |
89493d8f46SAnson Huang    gpio0: gpio@73f84000 {
90493d8f46SAnson Huang        compatible = "fsl,imx35-gpio";
91493d8f46SAnson Huang        reg = <0x73f84000 0x4000>;
92493d8f46SAnson Huang        interrupts = <50 51>;
93493d8f46SAnson Huang        gpio-controller;
94493d8f46SAnson Huang        #gpio-cells = <2>;
95493d8f46SAnson Huang        interrupt-controller;
96493d8f46SAnson Huang        #interrupt-cells = <2>;
97493d8f46SAnson Huang    };
98493d8f46SAnson Huang
99493d8f46SAnson Huang...
100