Back to home page

OSCL-LXR

 
 

    


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         };