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