0001 GPIO controllers on MPC8xxx SoCs
0002
0003 This is for the non-QE/CPM/GUTs GPIO controllers as found on
0004 8349, 8572, 8610 and compatible.
0005
0006 Every GPIO controller node must have #gpio-cells property defined,
0007 this information will be used to translate gpio-specifiers.
0008 See bindings/gpio/gpio.txt for details of how to specify GPIO
0009 information for devices.
0010
0011 The GPIO module usually is connected to the SoC's internal interrupt
0012 controller, see bindings/interrupt-controller/interrupts.txt (the
0013 interrupt client nodes section) for details how to specify this GPIO
0014 module's interrupt.
0015
0016 The GPIO module may serve as another interrupt controller (cascaded to
0017 the SoC's internal interrupt controller). See the interrupt controller
0018 nodes section in bindings/interrupt-controller/interrupts.txt for
0019 details.
0020
0021 Required properties:
0022 - compatible: "fsl,<chip>-gpio" followed by "fsl,mpc8349-gpio"
0023 for 83xx, "fsl,mpc8572-gpio" for 85xx, or
0024 "fsl,mpc8610-gpio" for 86xx.
0025 - #gpio-cells: Should be two. The first cell is the pin number
0026 and the second cell is used to specify optional
0027 parameters (currently unused).
0028 - interrupts: Interrupt mapping for GPIO IRQ.
0029 - gpio-controller: Marks the port as GPIO controller.
0030
0031 Optional properties:
0032 - interrupt-controller: Empty boolean property which marks the GPIO
0033 module as an IRQ controller.
0034 - #interrupt-cells: Should be two. Defines the number of integer
0035 cells required to specify an interrupt within
0036 this interrupt controller. The first cell
0037 defines the pin number, the second cell
0038 defines additional flags (trigger type,
0039 trigger polarity). Note that the available
0040 set of trigger conditions supported by the
0041 GPIO module depends on the actual SoC.
0042
0043 Example of gpio-controller nodes for a MPC8347 SoC:
0044
0045 gpio1: gpio-controller@c00 {
0046 #gpio-cells = <2>;
0047 compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
0048 reg = <0xc00 0x100>;
0049 interrupt-parent = <&ipic>;
0050 interrupts = <74 0x8>;
0051 gpio-controller;
0052 interrupt-controller;
0053 #interrupt-cells = <2>;
0054 };
0055
0056 gpio2: gpio-controller@d00 {
0057 #gpio-cells = <2>;
0058 compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
0059 reg = <0xd00 0x100>;
0060 interrupt-parent = <&ipic>;
0061 interrupts = <75 0x8>;
0062 gpio-controller;
0063 };
0064
0065 Example of a peripheral using the GPIO module as an IRQ controller:
0066
0067 funkyfpga@0 {
0068 compatible = "funky-fpga";
0069 ...
0070 interrupt-parent = <&gpio1>;
0071 interrupts = <4 3>;
0072 };