1*78517428SLinus WalleijIntel IXP4xx XScale Networking Processors GPIO 2*78517428SLinus Walleij 3*78517428SLinus WalleijThis GPIO controller is found in the Intel IXP4xx processors. 4*78517428SLinus WalleijIt supports 16 GPIO lines. 5*78517428SLinus Walleij 6*78517428SLinus WalleijThe interrupt portions of the GPIO controller is hierarchical: 7*78517428SLinus Walleijthe synchronous edge detector is part of the GPIO block, but the 8*78517428SLinus Walleijactual enabling/disabling of the interrupt line is done in the 9*78517428SLinus Walleijmain IXP4xx interrupt controller which has a 1:1 mapping for 10*78517428SLinus Walleijthe first 12 GPIO lines to 12 system interrupts. 11*78517428SLinus Walleij 12*78517428SLinus WalleijThe remaining 4 GPIO lines can not be used for receiving 13*78517428SLinus Walleijinterrupts. 14*78517428SLinus Walleij 15*78517428SLinus WalleijThe interrupt parent of this GPIO controller must be the 16*78517428SLinus WalleijIXP4xx interrupt controller. 17*78517428SLinus Walleij 18*78517428SLinus WalleijRequired properties: 19*78517428SLinus Walleij 20*78517428SLinus Walleij- compatible : Should be 21*78517428SLinus Walleij "intel,ixp4xx-gpio" 22*78517428SLinus Walleij- reg : Should contain registers location and length 23*78517428SLinus Walleij- gpio-controller : marks this as a GPIO controller 24*78517428SLinus Walleij- #gpio-cells : Should be 2, see gpio/gpio.txt 25*78517428SLinus Walleij- interrupt-controller : marks this as an interrupt controller 26*78517428SLinus Walleij- #interrupt-cells : a standard two-cell interrupt, see 27*78517428SLinus Walleij interrupt-controller/interrupts.txt 28*78517428SLinus Walleij 29*78517428SLinus WalleijExample: 30*78517428SLinus Walleij 31*78517428SLinus Walleijgpio0: gpio@c8004000 { 32*78517428SLinus Walleij compatible = "intel,ixp4xx-gpio"; 33*78517428SLinus Walleij reg = <0xc8004000 0x1000>; 34*78517428SLinus Walleij gpio-controller; 35*78517428SLinus Walleij #gpio-cells = <2>; 36*78517428SLinus Walleij interrupt-controller; 37*78517428SLinus Walleij #interrupt-cells = <2>; 38*78517428SLinus Walleij}; 39