Kernel-4.18.0-80.el8_mrvl-gpio

  • Marvell PXA GPIO controller

Required properties:

  • compatible : Should be “intel,pxa25x-gpio”, “intel,pxa26x-gpio”,
      "intel,pxa27x-gpio", "intel,pxa3xx-gpio",
      "marvell,pxa93x-gpio", "marvell,mmp-gpio",
      "marvell,mmp2-gpio" or marvell,pxa1928-gpio.
    
  • reg : Address and length of the register set for the device
  • interrupts : Should be the port interrupt shared by all gpio pins.
    There’re three gpio interrupts in arch-pxa, and they’re gpio0,
    gpio1 and gpio_mux. There’re only one gpio interrupt in arch-mmp,
    gpio_mux.
  • interrupt-names : Should be the names of irq resources. Each interrupt
    uses its own interrupt name, so there should be as many interrupt names
    as referenced interrupts.
  • interrupt-controller : Identifies the node as an interrupt controller.
  • #interrupt-cells: Specifies the number of cells needed to encode an
    interrupt source.
  • gpio-controller : Marks the device node as a gpio controller.
  • #gpio-cells : Should be two. The first cell is the pin number and
    the second cell is used to specify flags. See gpio.txt for possible
    values.

Example for a MMP platform:

gpio: gpio@d4019000 {
    compatible = "marvell,mmp-gpio";
    reg = <0xd4019000 0x1000>;
    interrupts = <49>;
    interrupt-names = "gpio_mux";
    gpio-controller;
    #gpio-cells = <2>;
    interrupt-controller;
    #interrupt-cells = <1>;
  };

Example for a PXA3xx platform:

gpio: gpio@40e00000 {
    compatible = "intel,pxa3xx-gpio";
    reg = <0x40e00000 0x10000>;
    interrupt-names = "gpio0", "gpio1", "gpio_mux";
    interrupts = <8 9 10>;
    gpio-controller;
    #gpio-cells = <0x2>;
    interrupt-controller;
    #interrupt-cells = <0x2>;
};