xref: /linux/Documentation/devicetree/bindings/gpio/blaize,blzp1600-gpio.yaml (revision 50b7e7082a3dde5bdba14a4e40a2e2279fd08a7b)
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