18c2ecf20Sopenharmony_ciIntel IXP4xx XScale Networking Processors GPIO
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThis GPIO controller is found in the Intel IXP4xx processors.
48c2ecf20Sopenharmony_ciIt supports 16 GPIO lines.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciThe interrupt portions of the GPIO controller is hierarchical:
78c2ecf20Sopenharmony_cithe synchronous edge detector is part of the GPIO block, but the
88c2ecf20Sopenharmony_ciactual enabling/disabling of the interrupt line is done in the
98c2ecf20Sopenharmony_cimain IXP4xx interrupt controller which has a 1:1 mapping for
108c2ecf20Sopenharmony_cithe first 12 GPIO lines to 12 system interrupts.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciThe remaining 4 GPIO lines can not be used for receiving
138c2ecf20Sopenharmony_ciinterrupts.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciThe interrupt parent of this GPIO controller must be the
168c2ecf20Sopenharmony_ciIXP4xx interrupt controller.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciRequired properties:
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci- compatible : Should be
218c2ecf20Sopenharmony_ci  "intel,ixp4xx-gpio"
228c2ecf20Sopenharmony_ci- reg : Should contain registers location and length
238c2ecf20Sopenharmony_ci- gpio-controller : marks this as a GPIO controller
248c2ecf20Sopenharmony_ci- #gpio-cells : Should be 2, see gpio/gpio.txt
258c2ecf20Sopenharmony_ci- interrupt-controller : marks this as an interrupt controller
268c2ecf20Sopenharmony_ci- #interrupt-cells : a standard two-cell interrupt, see
278c2ecf20Sopenharmony_ci  interrupt-controller/interrupts.txt
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_cigpio0: gpio@c8004000 {
328c2ecf20Sopenharmony_ci	compatible = "intel,ixp4xx-gpio";
338c2ecf20Sopenharmony_ci	reg = <0xc8004000 0x1000>;
348c2ecf20Sopenharmony_ci	gpio-controller;
358c2ecf20Sopenharmony_ci	#gpio-cells = <2>;
368c2ecf20Sopenharmony_ci	interrupt-controller;
378c2ecf20Sopenharmony_ci	#interrupt-cells = <2>;
388c2ecf20Sopenharmony_ci};
39