162306a36Sopenharmony_ciIntel IXP4xx XScale Networking Processors GPIO 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThis GPIO controller is found in the Intel IXP4xx processors. 462306a36Sopenharmony_ciIt supports 16 GPIO lines. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciThe interrupt portions of the GPIO controller is hierarchical: 762306a36Sopenharmony_cithe synchronous edge detector is part of the GPIO block, but the 862306a36Sopenharmony_ciactual enabling/disabling of the interrupt line is done in the 962306a36Sopenharmony_cimain IXP4xx interrupt controller which has a 1:1 mapping for 1062306a36Sopenharmony_cithe first 12 GPIO lines to 12 system interrupts. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciThe remaining 4 GPIO lines can not be used for receiving 1362306a36Sopenharmony_ciinterrupts. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciThe interrupt parent of this GPIO controller must be the 1662306a36Sopenharmony_ciIXP4xx interrupt controller. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciRequired properties: 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci- compatible : Should be 2162306a36Sopenharmony_ci "intel,ixp4xx-gpio" 2262306a36Sopenharmony_ci- reg : Should contain registers location and length 2362306a36Sopenharmony_ci- gpio-controller : marks this as a GPIO controller 2462306a36Sopenharmony_ci- #gpio-cells : Should be 2, see gpio/gpio.txt 2562306a36Sopenharmony_ci- interrupt-controller : marks this as an interrupt controller 2662306a36Sopenharmony_ci- #interrupt-cells : a standard two-cell interrupt, see 2762306a36Sopenharmony_ci interrupt-controller/interrupts.txt 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciExample: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cigpio0: gpio@c8004000 { 3262306a36Sopenharmony_ci compatible = "intel,ixp4xx-gpio"; 3362306a36Sopenharmony_ci reg = <0xc8004000 0x1000>; 3462306a36Sopenharmony_ci gpio-controller; 3562306a36Sopenharmony_ci #gpio-cells = <2>; 3662306a36Sopenharmony_ci interrupt-controller; 3762306a36Sopenharmony_ci #interrupt-cells = <2>; 3862306a36Sopenharmony_ci}; 39