* Marvell PXA GPIO controller

Required properties:
- compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-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 = "mrvl,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>;
		};
