Commit 338893af authored by Nikolaos Pasaloukos's avatar Nikolaos Pasaloukos Committed by Bartosz Golaszewski
Browse files

dt-bindings: Document Blaize BLZP1600 GPIO driver



This is a custom silicon GPIO driver provided by VeriSilicon
Microelectronics. It has 32 input/output ports which can be
configured as edge or level triggered interrupts. It also provides
a de-bounce feature.
This controller is used on the Blaize BLZP1600 SoC.

Signed-off-by: default avatarNikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250327-kernel-upstreaming-add_gpio_support-v2-1-bbe51f8d66da@blaize.com


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent ac7d33f3
Loading
Loading
Loading
Loading
+77 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/blaize,blzp1600-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Blaize BLZP1600 GPIO controller

description:
  Blaize BLZP1600 GPIO controller is an implementation of the VeriSilicon
  APB GPIO v0.2 IP block. It has 32 ports each of which are intended to be
  represented as child nodes with the generic GPIO-controller properties
  as described in this binding's file.

maintainers:
  - Nikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
  - James Cowgill <james.cowgill@blaize.com>
  - Matt Redfearn <matt.redfearn@blaize.com>
  - Neil Jones <neil.jones@blaize.com>

properties:
  $nodename:
    pattern: "^gpio@[0-9a-f]+$"

  compatible:
    enum:
      - blaize,blzp1600-gpio

  reg:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    const: 2

  ngpios:
    default: 32
    minimum: 1
    maximum: 32

  interrupts:
    maxItems: 1

  gpio-line-names: true

  interrupt-controller: true

  '#interrupt-cells':
    const: 2

required:
  - compatible
  - reg
  - gpio-controller
  - '#gpio-cells'

dependencies:
  interrupt-controller: [ interrupts ]

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    gpio: gpio@4c0000 {
      compatible = "blaize,blzp1600-gpio";
      reg = <0x004c0000 0x1000>;
      gpio-controller;
      #gpio-cells = <2>;
      ngpios = <32>;
      interrupt-controller;
      #interrupt-cells = <2>;
      interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
    };
...