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