xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/fsl,qoriq-gpio.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/fsl,qoriq-gpio.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Freescale MPC512x/MPC8xxx/QorIQ/Layerscape GPIO controller
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotproperties:
13*0e8011faSEmmanuel Vadot  compatible:
14*0e8011faSEmmanuel Vadot    oneOf:
15*0e8011faSEmmanuel Vadot      - enum:
16*0e8011faSEmmanuel Vadot          - fsl,mpc5121-gpio
17*0e8011faSEmmanuel Vadot          - fsl,mpc5125-gpio
18*0e8011faSEmmanuel Vadot          - fsl,mpc8349-gpio
19*0e8011faSEmmanuel Vadot          - fsl,mpc8572-gpio
20*0e8011faSEmmanuel Vadot          - fsl,mpc8610-gpio
21*0e8011faSEmmanuel Vadot          - fsl,pq3-gpio
22*0e8011faSEmmanuel Vadot      - items:
23*0e8011faSEmmanuel Vadot          - enum:
24*0e8011faSEmmanuel Vadot              - fsl,ls1021a-gpio
25*0e8011faSEmmanuel Vadot              - fsl,ls1028a-gpio
26*0e8011faSEmmanuel Vadot              - fsl,ls1043a-gpio
27*0e8011faSEmmanuel Vadot              - fsl,ls1046a-gpio
28*0e8011faSEmmanuel Vadot              - fsl,ls1088a-gpio
29*0e8011faSEmmanuel Vadot              - fsl,ls2080a-gpio
30*0e8011faSEmmanuel Vadot          - const: fsl,qoriq-gpio
31*0e8011faSEmmanuel Vadot
32*0e8011faSEmmanuel Vadot  reg:
33*0e8011faSEmmanuel Vadot    maxItems: 1
34*0e8011faSEmmanuel Vadot
35*0e8011faSEmmanuel Vadot  interrupts:
36*0e8011faSEmmanuel Vadot    maxItems: 1
37*0e8011faSEmmanuel Vadot
38*0e8011faSEmmanuel Vadot  "#gpio-cells":
39*0e8011faSEmmanuel Vadot    const: 2
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot  gpio-controller: true
42*0e8011faSEmmanuel Vadot
43*0e8011faSEmmanuel Vadot  interrupt-controller: true
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot  "#interrupt-cells":
46*0e8011faSEmmanuel Vadot    const: 2
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot  gpio-line-names:
49*0e8011faSEmmanuel Vadot    minItems: 1
50*0e8011faSEmmanuel Vadot    maxItems: 32
51*0e8011faSEmmanuel Vadot
52*0e8011faSEmmanuel Vadot  little-endian:
53*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
54*0e8011faSEmmanuel Vadot    description:
55*0e8011faSEmmanuel Vadot      GPIO registers are used as little endian. If not
56*0e8011faSEmmanuel Vadot      present registers are used as big endian by default.
57*0e8011faSEmmanuel Vadot
58*0e8011faSEmmanuel Vadotrequired:
59*0e8011faSEmmanuel Vadot  - compatible
60*0e8011faSEmmanuel Vadot  - reg
61*0e8011faSEmmanuel Vadot  - interrupts
62*0e8011faSEmmanuel Vadot  - "#gpio-cells"
63*0e8011faSEmmanuel Vadot
64*0e8011faSEmmanuel VadotadditionalProperties: false
65*0e8011faSEmmanuel Vadot
66*0e8011faSEmmanuel Vadotexamples:
67*0e8011faSEmmanuel Vadot  - |
68*0e8011faSEmmanuel Vadot    gpio@1100 {
69*0e8011faSEmmanuel Vadot        compatible = "fsl,mpc5125-gpio";
70*0e8011faSEmmanuel Vadot        reg = <0x1100 0x080>;
71*0e8011faSEmmanuel Vadot        interrupts = <78 0x8>;
72*0e8011faSEmmanuel Vadot        gpio-controller;
73*0e8011faSEmmanuel Vadot        #gpio-cells = <2>;
74*0e8011faSEmmanuel Vadot    };
75*0e8011faSEmmanuel Vadot
76*0e8011faSEmmanuel Vadot  - |
77*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
78*0e8011faSEmmanuel Vadot    gpio@2300000 {
79*0e8011faSEmmanuel Vadot        compatible = "fsl,ls2080a-gpio", "fsl,qoriq-gpio";
80*0e8011faSEmmanuel Vadot        reg = <0x2300000 0x10000>;
81*0e8011faSEmmanuel Vadot        interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
82*0e8011faSEmmanuel Vadot        little-endian;
83*0e8011faSEmmanuel Vadot        gpio-controller;
84*0e8011faSEmmanuel Vadot        #gpio-cells = <2>;
85*0e8011faSEmmanuel Vadot        interrupt-controller;
86*0e8011faSEmmanuel Vadot        #interrupt-cells = <2>;
87*0e8011faSEmmanuel Vadot    };
88