Commit 910f38be authored by Rob Herring's avatar Rob Herring Committed by Linus Walleij
Browse files

dt-bindings: gpio: Convert Arm PL061 to json-schema



Convert the Arm PL061 GPIO controller binding to json-schema format.

As I'm the author for all but the gpio-ranges line, make the schema dual
GPL/BSD license.

Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 919c46c8
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
ARM PL061 GPIO controller

Required properties:
- compatible : "arm,pl061", "arm,primecell"
- #gpio-cells : Should be two. The first cell is the pin number and the
  second cell is used to specify optional parameters:
  - bit 0 specifies polarity (0 for normal, 1 for inverted)
- gpio-controller : Marks the device node as a GPIO controller.
- interrupts : Interrupt mapping for GPIO IRQ.
- gpio-ranges : Interaction with the PINCTRL subsystem.
+69 −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/pl061-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM PL061 GPIO controller

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
  - Rob Herring <robh@kernel.org>

# We need a select here so we don't match all nodes with 'arm,primecell'
select:
  properties:
    compatible:
      contains:
        const: arm,pl061
  required:
    - compatible

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

  compatible:
    items:
      - const: arm,pl061
      - const: arm,primecell

  reg:
    maxItems: 1

  interrupts:
    oneOf:
      - maxItems: 1
      - maxItems: 8

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  clocks:
    maxItems: 1

  clock-names: true

  "#gpio-cells":
    const: 2

  gpio-controller: true

  gpio-ranges:
    maxItems: 8

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

additionalProperties: false

...