Commit 695f375b authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Bartosz Golaszewski
Browse files

dt-bindings: gpio: Convert altr,pio-1.0 to DT schema



Convert the altr,pio-1.0 binding to DT schema format. It's a
straight forward conversion.

Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250714202905.3012386-1-robh@kernel.org


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

title: Altera GPIO controller

maintainers:
  - Dinh Nguyen <dinguyen@kernel.org>
  - Marek Vasut <marex@denx.de>
  - Mathieu Malaterre <malat@debian.org>
  - Tien Hock Loh <thloh@altera.com>

properties:
  compatible:
    const: altr,pio-1.0

  reg:
    maxItems: 1

  gpio-controller: true

  "#gpio-cells":
    const: 2
    description:
      First cell is the GPIO offset number. Second cell is reserved and
      currently unused.

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  altr,ngpio:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Width of the GPIO bank.
    default: 32

  altr,interrupt-type:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: >
      Specifies the interrupt trigger type synthesized by hardware.
      Values defined in <dt-bindings/interrupt-controller/irq.h>.
    enum: [1, 2, 3, 4]

required:
  - compatible
  - reg
  - gpio-controller
  - "#gpio-cells"
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"

additionalProperties: false

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

    gpio@ff200000 {
        compatible = "altr,pio-1.0";
        reg = <0xff200000 0x10>;
        interrupts = <45 4>;
        interrupt-controller;
        #interrupt-cells = <2>;
        gpio-controller;
        #gpio-cells = <2>;
        altr,ngpio = <32>;
        altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
    };
+0 −44
Original line number Diff line number Diff line
Altera GPIO controller bindings

Required properties:
- compatible:
  - "altr,pio-1.0"
- reg: Physical base address and length of the controller's registers.
- #gpio-cells : Should be 2
  - The first cell is the gpio offset number.
  - The second cell is reserved and is currently unused.
- gpio-controller : Marks the device node as a GPIO controller.
- interrupt-controller: Mark the device node as an interrupt controller
- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware.
  - The first cell is the GPIO offset number within the GPIO controller.
  - The second cell is the interrupt trigger type and level flags.
- interrupts: Specify the interrupt.
- altr,interrupt-type: Specifies the interrupt trigger type the GPIO
  hardware is synthesized. This field is required if the Altera GPIO controller
  used has IRQ enabled as the interrupt type is not software controlled,
  but hardware synthesized. Required if GPIO is used as an interrupt
  controller. The value is defined in <dt-bindings/interrupt-controller/irq.h>
  Only the following flags are supported:
    IRQ_TYPE_EDGE_RISING
    IRQ_TYPE_EDGE_FALLING
    IRQ_TYPE_EDGE_BOTH
    IRQ_TYPE_LEVEL_HIGH

Optional properties:
- altr,ngpio: Width of the GPIO bank. This defines how many pins the
  GPIO device has. Ranges between 1-32. Optional and defaults to 32 if not
  specified.

Example:

gpio_altr: gpio@ff200000 {
	compatible = "altr,pio-1.0";
	reg = <0xff200000 0x10>;
	interrupts = <0 45 4>;
	altr,ngpio = <32>;
	altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
	#gpio-cells = <2>;
	gpio-controller;
	#interrupt-cells = <2>;
	interrupt-controller;
};