Unverified Commit 3933cf6a authored by Damien Le Moal's avatar Damien Le Moal Committed by Palmer Dabbelt
Browse files

dt-bindings: fix sifive gpio properties



The sifive gpio IP block supports up to 32 GPIOs. Reflect that in the
interrupts property description and maxItems. Also add the standard
ngpios property to describe the number of GPIOs available on the
implementation.

Also add the "canaan,k210-gpiohs" compatible string to indicate the use
of this gpio controller in the Canaan Kendryte K210 SoC. If this
compatible string is used, do not define the clocks property as
required as the K210 SoC does not have a software controllable clock
for the Sifive gpio IP block.

Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
parent 8fc8719c
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ properties:
      - enum:
          - sifive,fu540-c000-gpio
          - sifive,fu740-c000-gpio
          - canaan,k210-gpiohs
      - const: sifive,gpio0

  reg:
@@ -23,9 +24,9 @@ properties:

  interrupts:
    description:
      interrupt mapping one per GPIO. Maximum 16 GPIOs.
      Interrupt mapping, one per GPIO. Maximum 32 GPIOs.
    minItems: 1
    maxItems: 16
    maxItems: 32

  interrupt-controller: true

@@ -38,6 +39,14 @@ properties:
  "#gpio-cells":
    const: 2

  ngpios:
    description:
      The number of GPIOs available on the controller implementation.
      It is 16 for the SiFive SoCs and 32 for the Canaan K210.
    minimum: 1
    maximum: 32
    default: 16

  gpio-controller: true

required:
@@ -46,10 +55,20 @@ required:
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"
  - clocks
  - "#gpio-cells"
  - gpio-controller

if:
  properties:
    compatible:
      contains:
        enum:
          - sifive,fu540-c000-gpio
          - sifive,fu740-c000-gpio
then:
  required:
    - clocks

additionalProperties: false

examples: