Kernel-3.10.0-957.el7_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" or
      "marvell,mmp2-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-name : Should be the name of irq resource. Each interrupt
    binds its interrupt-name.
  • 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 one. It is the pin number.

Example:

gpio: gpio@d4019000 {
    compatible = "marvell,mmp-gpio";
    reg = <0xd4019000 0x1000>;
    interrupts = <49>;
    interrupt-name = "gpio_mux";
    gpio-controller;
    #gpio-cells = <1>;
    interrupt-controller;
    #interrupt-cells = <1>;
  };
  • Marvell Orion GPIO Controller

Required properties:

  • compatible : Should be “marvell,orion-gpio”
  • reg : Address and length of the register set for controller.
  • gpio-controller : So we know this is a gpio controller.
  • ngpio : How many gpios this controller has.
  • interrupts : Up to 4 Interrupts for the controller.

Optional properties:

  • mask-offset : For SMP Orions, offset for Nth CPU

Example:

    gpio0: gpio@10100 {
        compatible = "marvell,orion-gpio";
        #gpio-cells = <2>;
        gpio-controller;
        reg = <0x10100 0x40>;
        ngpio = <32>;
        interrupts = <35>, <36>, <37>, <38>;
    };