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