xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/blaize,blzp1600-gpio.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/blaize,blzp1600-gpio.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: Blaize BLZP1600 GPIO controller
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotdescription:
10*ae5de77eSEmmanuel Vadot  Blaize BLZP1600 GPIO controller is an implementation of the VeriSilicon
11*ae5de77eSEmmanuel Vadot  APB GPIO v0.2 IP block. It has 32 ports each of which are intended to be
12*ae5de77eSEmmanuel Vadot  represented as child nodes with the generic GPIO-controller properties
13*ae5de77eSEmmanuel Vadot  as described in this binding's file.
14*ae5de77eSEmmanuel Vadot
15*ae5de77eSEmmanuel Vadotmaintainers:
16*ae5de77eSEmmanuel Vadot  - Nikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
17*ae5de77eSEmmanuel Vadot  - James Cowgill <james.cowgill@blaize.com>
18*ae5de77eSEmmanuel Vadot  - Matt Redfearn <matt.redfearn@blaize.com>
19*ae5de77eSEmmanuel Vadot  - Neil Jones <neil.jones@blaize.com>
20*ae5de77eSEmmanuel Vadot
21*ae5de77eSEmmanuel Vadotproperties:
22*ae5de77eSEmmanuel Vadot  $nodename:
23*ae5de77eSEmmanuel Vadot    pattern: "^gpio@[0-9a-f]+$"
24*ae5de77eSEmmanuel Vadot
25*ae5de77eSEmmanuel Vadot  compatible:
26*ae5de77eSEmmanuel Vadot    enum:
27*ae5de77eSEmmanuel Vadot      - blaize,blzp1600-gpio
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot  reg:
30*ae5de77eSEmmanuel Vadot    maxItems: 1
31*ae5de77eSEmmanuel Vadot
32*ae5de77eSEmmanuel Vadot  gpio-controller: true
33*ae5de77eSEmmanuel Vadot
34*ae5de77eSEmmanuel Vadot  '#gpio-cells':
35*ae5de77eSEmmanuel Vadot    const: 2
36*ae5de77eSEmmanuel Vadot
37*ae5de77eSEmmanuel Vadot  ngpios:
38*ae5de77eSEmmanuel Vadot    default: 32
39*ae5de77eSEmmanuel Vadot    minimum: 1
40*ae5de77eSEmmanuel Vadot    maximum: 32
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadot  interrupts:
43*ae5de77eSEmmanuel Vadot    maxItems: 1
44*ae5de77eSEmmanuel Vadot
45*ae5de77eSEmmanuel Vadot  gpio-line-names: true
46*ae5de77eSEmmanuel Vadot
47*ae5de77eSEmmanuel Vadot  interrupt-controller: true
48*ae5de77eSEmmanuel Vadot
49*ae5de77eSEmmanuel Vadot  '#interrupt-cells':
50*ae5de77eSEmmanuel Vadot    const: 2
51*ae5de77eSEmmanuel Vadot
52*ae5de77eSEmmanuel Vadotrequired:
53*ae5de77eSEmmanuel Vadot  - compatible
54*ae5de77eSEmmanuel Vadot  - reg
55*ae5de77eSEmmanuel Vadot  - gpio-controller
56*ae5de77eSEmmanuel Vadot  - '#gpio-cells'
57*ae5de77eSEmmanuel Vadot
58*ae5de77eSEmmanuel Vadotdependencies:
59*ae5de77eSEmmanuel Vadot  interrupt-controller: [ interrupts ]
60*ae5de77eSEmmanuel Vadot
61*ae5de77eSEmmanuel VadotadditionalProperties: false
62*ae5de77eSEmmanuel Vadot
63*ae5de77eSEmmanuel Vadotexamples:
64*ae5de77eSEmmanuel Vadot  - |
65*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
66*ae5de77eSEmmanuel Vadot
67*ae5de77eSEmmanuel Vadot    gpio: gpio@4c0000 {
68*ae5de77eSEmmanuel Vadot      compatible = "blaize,blzp1600-gpio";
69*ae5de77eSEmmanuel Vadot      reg = <0x004c0000 0x1000>;
70*ae5de77eSEmmanuel Vadot      gpio-controller;
71*ae5de77eSEmmanuel Vadot      #gpio-cells = <2>;
72*ae5de77eSEmmanuel Vadot      ngpios = <32>;
73*ae5de77eSEmmanuel Vadot      interrupt-controller;
74*ae5de77eSEmmanuel Vadot      #interrupt-cells = <2>;
75*ae5de77eSEmmanuel Vadot      interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
76*ae5de77eSEmmanuel Vadot    };
77*ae5de77eSEmmanuel Vadot...
78