xref: /openbmc/linux/Documentation/devicetree/bindings/gpio/gpio-mxs.yaml (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
11ade7d1fSAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21ade7d1fSAnson Huang%YAML 1.2
31ade7d1fSAnson Huang---
41ade7d1fSAnson Huang$id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml#
51ade7d1fSAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml#
61ade7d1fSAnson Huang
71ade7d1fSAnson Huangtitle: Freescale MXS GPIO controller
81ade7d1fSAnson Huang
91ade7d1fSAnson Huangmaintainers:
10*e65b85ddSFabio Estevam  - Shawn Guo <shawnguo@kernel.org>
111ade7d1fSAnson Huang  - Anson Huang <Anson.Huang@nxp.com>
121ade7d1fSAnson Huang
131ade7d1fSAnson Huangdescription: |
141ade7d1fSAnson Huang  The Freescale MXS GPIO controller is part of MXS PIN controller.
151ade7d1fSAnson Huang  The GPIOs are organized in port/bank, each port consists of 32 GPIOs.
161ade7d1fSAnson Huang  As the GPIO controller is embedded in the PIN controller and all the
171ade7d1fSAnson Huang  GPIO ports share the same IO space with PIN controller, the GPIO node
181ade7d1fSAnson Huang  will be represented as sub-nodes of MXS pinctrl node.
191ade7d1fSAnson Huang
201ade7d1fSAnson Huangproperties:
211ade7d1fSAnson Huang  compatible:
221ade7d1fSAnson Huang    enum:
231ade7d1fSAnson Huang      - fsl,imx23-pinctrl
241ade7d1fSAnson Huang      - fsl,imx28-pinctrl
251ade7d1fSAnson Huang
261ade7d1fSAnson Huang  '#address-cells':
271ade7d1fSAnson Huang    const: 1
281ade7d1fSAnson Huang  '#size-cells':
291ade7d1fSAnson Huang    const: 0
301ade7d1fSAnson Huang
311ade7d1fSAnson Huang  reg:
321ade7d1fSAnson Huang    maxItems: 1
331ade7d1fSAnson Huang
341ade7d1fSAnson HuangpatternProperties:
351ade7d1fSAnson Huang  "gpio@[0-9]+$":
361ade7d1fSAnson Huang    type: object
371ade7d1fSAnson Huang    properties:
381ade7d1fSAnson Huang      compatible:
391ade7d1fSAnson Huang        enum:
401ade7d1fSAnson Huang          - fsl,imx23-gpio
411ade7d1fSAnson Huang          - fsl,imx28-gpio
421ade7d1fSAnson Huang
431ade7d1fSAnson Huang      reg:
441ade7d1fSAnson Huang        maxItems: 1
451ade7d1fSAnson Huang
461ade7d1fSAnson Huang      interrupts:
471ade7d1fSAnson Huang        description: Should be the port interrupt shared by all 32 pins.
481ade7d1fSAnson Huang        maxItems: 1
491ade7d1fSAnson Huang
501ade7d1fSAnson Huang      interrupt-controller: true
511ade7d1fSAnson Huang
521ade7d1fSAnson Huang      "#interrupt-cells":
531ade7d1fSAnson Huang        const: 2
541ade7d1fSAnson Huang
551ade7d1fSAnson Huang      "#gpio-cells":
561ade7d1fSAnson Huang        const: 2
571ade7d1fSAnson Huang
581ade7d1fSAnson Huang      gpio-controller: true
591ade7d1fSAnson Huang
601ade7d1fSAnson Huang    required:
611ade7d1fSAnson Huang      - compatible
621ade7d1fSAnson Huang      - reg
631ade7d1fSAnson Huang      - interrupts
641ade7d1fSAnson Huang      - interrupt-controller
651ade7d1fSAnson Huang      - "#interrupt-cells"
661ade7d1fSAnson Huang      - "#gpio-cells"
671ade7d1fSAnson Huang      - gpio-controller
681ade7d1fSAnson Huang
691ade7d1fSAnson Huang    additionalProperties: false
701ade7d1fSAnson Huang
711ade7d1fSAnson Huangrequired:
721ade7d1fSAnson Huang  - compatible
731ade7d1fSAnson Huang  - reg
741ade7d1fSAnson Huang  - '#address-cells'
751ade7d1fSAnson Huang  - '#size-cells'
761ade7d1fSAnson Huang
771ade7d1fSAnson HuangadditionalProperties: false
781ade7d1fSAnson Huang
791ade7d1fSAnson Huangexamples:
801ade7d1fSAnson Huang  - |
811ade7d1fSAnson Huang    pinctrl@80018000 {
821ade7d1fSAnson Huang        #address-cells = <1>;
831ade7d1fSAnson Huang        #size-cells = <0>;
841ade7d1fSAnson Huang        compatible = "fsl,imx28-pinctrl";
851ade7d1fSAnson Huang        reg = <0x80018000 0x2000>;
861ade7d1fSAnson Huang
871ade7d1fSAnson Huang        gpio@0 {
881ade7d1fSAnson Huang                compatible = "fsl,imx28-gpio";
891ade7d1fSAnson Huang                reg = <0>;
901ade7d1fSAnson Huang                interrupts = <127>;
911ade7d1fSAnson Huang                gpio-controller;
921ade7d1fSAnson Huang                #gpio-cells = <2>;
931ade7d1fSAnson Huang                interrupt-controller;
941ade7d1fSAnson Huang                #interrupt-cells = <2>;
951ade7d1fSAnson Huang        };
961ade7d1fSAnson Huang
971ade7d1fSAnson Huang        gpio@1 {
981ade7d1fSAnson Huang                compatible = "fsl,imx28-gpio";
991ade7d1fSAnson Huang                reg = <1>;
1001ade7d1fSAnson Huang                interrupts = <126>;
1011ade7d1fSAnson Huang                gpio-controller;
1021ade7d1fSAnson Huang                #gpio-cells = <2>;
1031ade7d1fSAnson Huang                interrupt-controller;
1041ade7d1fSAnson Huang                #interrupt-cells = <2>;
1051ade7d1fSAnson Huang        };
1061ade7d1fSAnson Huang
1071ade7d1fSAnson Huang        gpio@2 {
1081ade7d1fSAnson Huang                compatible = "fsl,imx28-gpio";
1091ade7d1fSAnson Huang                reg = <2>;
1101ade7d1fSAnson Huang                interrupts = <125>;
1111ade7d1fSAnson Huang                gpio-controller;
1121ade7d1fSAnson Huang                #gpio-cells = <2>;
1131ade7d1fSAnson Huang                interrupt-controller;
1141ade7d1fSAnson Huang                #interrupt-cells = <2>;
1151ade7d1fSAnson Huang        };
1161ade7d1fSAnson Huang
1171ade7d1fSAnson Huang        gpio@3 {
1181ade7d1fSAnson Huang                compatible = "fsl,imx28-gpio";
1191ade7d1fSAnson Huang                reg = <3>;
1201ade7d1fSAnson Huang                interrupts = <124>;
1211ade7d1fSAnson Huang                gpio-controller;
1221ade7d1fSAnson Huang                #gpio-cells = <2>;
1231ade7d1fSAnson Huang                interrupt-controller;
1241ade7d1fSAnson Huang                #interrupt-cells = <2>;
1251ade7d1fSAnson Huang        };
1261ade7d1fSAnson Huang
1271ade7d1fSAnson Huang        gpio@4 {
1281ade7d1fSAnson Huang                compatible = "fsl,imx28-gpio";
1291ade7d1fSAnson Huang                reg = <4>;
1301ade7d1fSAnson Huang                interrupts = <123>;
1311ade7d1fSAnson Huang                gpio-controller;
1321ade7d1fSAnson Huang                #gpio-cells = <2>;
1331ade7d1fSAnson Huang                interrupt-controller;
1341ade7d1fSAnson Huang                #interrupt-cells = <2>;
1351ade7d1fSAnson Huang        };
1361ade7d1fSAnson Huang    };
137