Commit 1f3c0760 authored by Linus Walleij's avatar Linus Walleij Committed by Bartosz Golaszewski
Browse files

dt-bindings: gpio-mmio: Add MMIO for IXP4xx expansion bus



This expansion is a simple MMIO-mapped GPIO device but the bus has a
number of additional properties that we need to bring in using
a reference to the bus child node schema.

Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250822-ixp4xx-eb-mmio-gpio-v2-2-bd2edd4a9c74@linaro.org


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 545908a9
Loading
Loading
Loading
Loading
+29 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ properties:
      - brcm,bcm6345-gpio
      - ni,169445-nand-gpio
      - wd,mbl-gpio # Western Digital MyBook Live memory-mapped GPIO controller
      - intel,ixp4xx-expansion-bus-mmio-gpio

  big-endian: true

@@ -89,6 +90,14 @@ properties:
    description:
      If this property is present, the controller cannot drive the GPIO lines.

if:
  properties:
    compatible:
      contains:
        const: intel,ixp4xx-expansion-bus-mmio-gpio
then:
  $ref: /schemas/memory-controllers/intel,ixp4xx-expansion-peripheral-props.yaml#

patternProperties:
  "^.+-hog(-[0-9]+)?$":
    type: object
@@ -102,7 +111,7 @@ required:
  - '#gpio-cells'
  - gpio-controller

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
@@ -132,3 +141,22 @@ examples:
      gpio-controller;
      #gpio-cells = <2>;
    };

    bus@c4000000 {
        compatible = "intel,ixp42x-expansion-bus-controller", "syscon";
        reg = <0xc4000000 0x30>;
        native-endian;
        #address-cells = <2>;
        #size-cells = <1>;
        ranges = <0 0x0 0x50000000 0x01000000>;
        dma-ranges = <0 0x0 0x50000000 0x01000000>;
        gpio@1,0 {
            compatible = "intel,ixp4xx-expansion-bus-mmio-gpio";
            gpio-controller;
            #gpio-cells = <2>;
            big-endian;
            reg = <1 0x00000000 0x2>;
            reg-names = "dat";
            intel,ixp4xx-eb-write-enable = <1>;
        };
    };