* 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>; };