11c571187SAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21c571187SAnson Huang%YAML 1.2
31c571187SAnson Huang---
41c571187SAnson Huang$id: http://devicetree.org/schemas/gpio/gpio-vf610.yaml#
51c571187SAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml#
61c571187SAnson Huang
71c571187SAnson Huangtitle: Freescale VF610 PORT/GPIO module
81c571187SAnson Huang
91c571187SAnson Huangmaintainers:
101c571187SAnson Huang  - Stefan Agner <stefan@agner.ch>
111c571187SAnson Huang
121c571187SAnson Huangdescription: |
131c571187SAnson Huang  The Freescale PORT/GPIO modules are two adjacent modules providing GPIO
141c571187SAnson Huang  functionality. Each pair serves 32 GPIOs. The VF610 has 5 instances of
151c571187SAnson Huang  each, and each PORT module has its own interrupt.
161c571187SAnson Huang
171c571187SAnson Huang  Note: Each GPIO port should have an alias correctly numbered in "aliases"
181c571187SAnson Huang  node.
191c571187SAnson Huang
201c571187SAnson Huangproperties:
211c571187SAnson Huang  compatible:
221c36e50fSKrzysztof Kozlowski    oneOf:
231c36e50fSKrzysztof Kozlowski      - const: fsl,vf610-gpio
241c36e50fSKrzysztof Kozlowski      - items:
251c36e50fSKrzysztof Kozlowski          - const: fsl,imx7ulp-gpio
261c36e50fSKrzysztof Kozlowski          - const: fsl,vf610-gpio
27*c61d8b57SJacky Bai      - items:
28*c61d8b57SJacky Bai          - const: fsl,imx8ulp-gpio
29*c61d8b57SJacky Bai          - const: fsl,imx7ulp-gpio
301c571187SAnson Huang
311c571187SAnson Huang  reg:
321c571187SAnson Huang    description: The first reg tuple represents the PORT module, the second tuple
331c571187SAnson Huang      represents the GPIO module.
341c571187SAnson Huang    maxItems: 2
351c571187SAnson Huang
361c571187SAnson Huang  interrupts:
371c571187SAnson Huang    maxItems: 1
381c571187SAnson Huang
391c571187SAnson Huang  interrupt-controller: true
401c571187SAnson Huang
411c571187SAnson Huang  "#interrupt-cells":
421c571187SAnson Huang    const: 2
431c571187SAnson Huang
441c571187SAnson Huang  "#gpio-cells":
451c571187SAnson Huang    const: 2
461c571187SAnson Huang
471c571187SAnson Huang  gpio-controller: true
481c571187SAnson Huang
491c571187SAnson Huang  clocks:
501c571187SAnson Huang    items:
511c571187SAnson Huang      - description: SoC GPIO clock
521c571187SAnson Huang      - description: SoC PORT clock
531c571187SAnson Huang
541c571187SAnson Huang  clock-names:
551c571187SAnson Huang    items:
561c571187SAnson Huang      - const: gpio
571c571187SAnson Huang      - const: port
581c571187SAnson Huang
591c571187SAnson Huang  gpio-ranges:
601c571187SAnson Huang    maxItems: 1
611c571187SAnson Huang
621c571187SAnson Huangrequired:
631c571187SAnson Huang  - compatible
641c571187SAnson Huang  - reg
651c571187SAnson Huang  - interrupts
661c571187SAnson Huang  - interrupt-controller
671c571187SAnson Huang  - "#interrupt-cells"
681c571187SAnson Huang  - "#gpio-cells"
691c571187SAnson Huang  - gpio-controller
701c571187SAnson Huang
711c571187SAnson HuangadditionalProperties: false
721c571187SAnson Huang
731c571187SAnson Huangexamples:
741c571187SAnson Huang  - |
751c571187SAnson Huang    #include <dt-bindings/interrupt-controller/arm-gic.h>
761c571187SAnson Huang
771c571187SAnson Huang    gpio1: gpio@40049000 {
781c571187SAnson Huang        compatible = "fsl,vf610-gpio";
791c571187SAnson Huang        reg = <0x40049000 0x1000>, <0x400ff000 0x40>;
801c571187SAnson Huang        interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
811c571187SAnson Huang        gpio-controller;
821c571187SAnson Huang        #gpio-cells = <2>;
831c571187SAnson Huang        interrupt-controller;
841c571187SAnson Huang        #interrupt-cells = <2>;
851c571187SAnson Huang        gpio-ranges = <&iomuxc 0 0 32>;
861c571187SAnson Huang    };
87