xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/atmel,at91rm9200-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/atmel,at91rm9200-gpio.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Microchip GPIO controller (PIO)
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Manikandan Muralidharan <manikandan.m@microchip.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotproperties:
13*0e8011faSEmmanuel Vadot  compatible:
14*0e8011faSEmmanuel Vadot    oneOf:
15*0e8011faSEmmanuel Vadot      - items:
16*0e8011faSEmmanuel Vadot          - enum:
17*0e8011faSEmmanuel Vadot              - atmel,at91sam9x5-gpio
18*0e8011faSEmmanuel Vadot              - microchip,sam9x60-gpio
19*0e8011faSEmmanuel Vadot          - const: atmel,at91rm9200-gpio
20*0e8011faSEmmanuel Vadot      - items:
21*0e8011faSEmmanuel Vadot          - enum:
22*0e8011faSEmmanuel Vadot              - microchip,sam9x7-gpio
23*0e8011faSEmmanuel Vadot          - const: microchip,sam9x60-gpio
24*0e8011faSEmmanuel Vadot          - const: atmel,at91rm9200-gpio
25*0e8011faSEmmanuel Vadot      - items:
26*0e8011faSEmmanuel Vadot          - const: atmel,at91rm9200-gpio
27*0e8011faSEmmanuel Vadot
28*0e8011faSEmmanuel Vadot  reg:
29*0e8011faSEmmanuel Vadot    maxItems: 1
30*0e8011faSEmmanuel Vadot
31*0e8011faSEmmanuel Vadot  interrupts:
32*0e8011faSEmmanuel Vadot    maxItems: 1
33*0e8011faSEmmanuel Vadot
34*0e8011faSEmmanuel Vadot  interrupt-controller: true
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot  "#interrupt-cells":
37*0e8011faSEmmanuel Vadot    const: 2
38*0e8011faSEmmanuel Vadot
39*0e8011faSEmmanuel Vadot  gpio-controller: true
40*0e8011faSEmmanuel Vadot  gpio-line-names: true
41*0e8011faSEmmanuel Vadot
42*0e8011faSEmmanuel Vadot  "#gpio-cells":
43*0e8011faSEmmanuel Vadot    const: 2
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot  clocks:
46*0e8011faSEmmanuel Vadot    maxItems: 1
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot  "#gpio-lines":
49*0e8011faSEmmanuel Vadot    description:
50*0e8011faSEmmanuel Vadot      Number of gpio, 32 by default if absent
51*0e8011faSEmmanuel Vadot    maxItems: 1
52*0e8011faSEmmanuel Vadot    default: 32
53*0e8011faSEmmanuel Vadot
54*0e8011faSEmmanuel Vadotrequired:
55*0e8011faSEmmanuel Vadot  - compatible
56*0e8011faSEmmanuel Vadot  - reg
57*0e8011faSEmmanuel Vadot  - interrupts
58*0e8011faSEmmanuel Vadot  - interrupt-controller
59*0e8011faSEmmanuel Vadot  - "#interrupt-cells"
60*0e8011faSEmmanuel Vadot  - gpio-controller
61*0e8011faSEmmanuel Vadot  - "#gpio-cells"
62*0e8011faSEmmanuel Vadot  - clocks
63*0e8011faSEmmanuel Vadot
64*0e8011faSEmmanuel VadotadditionalProperties: false
65*0e8011faSEmmanuel Vadot
66*0e8011faSEmmanuel Vadotexamples:
67*0e8011faSEmmanuel Vadot  - |
68*0e8011faSEmmanuel Vadot    #include <dt-bindings/clock/at91.h>
69*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
70*0e8011faSEmmanuel Vadot
71*0e8011faSEmmanuel Vadot    gpio@fffff400 {
72*0e8011faSEmmanuel Vadot            compatible = "atmel,at91rm9200-gpio";
73*0e8011faSEmmanuel Vadot            reg = <0xfffff400 0x200>;
74*0e8011faSEmmanuel Vadot            interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
75*0e8011faSEmmanuel Vadot            #gpio-cells = <2>;
76*0e8011faSEmmanuel Vadot            gpio-controller;
77*0e8011faSEmmanuel Vadot            interrupt-controller;
78*0e8011faSEmmanuel Vadot            #interrupt-cells = <2>;
79*0e8011faSEmmanuel Vadot            clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
80*0e8011faSEmmanuel Vadot    };
81*0e8011faSEmmanuel Vadot...
82