Back to home page

OSCL-LXR

 
 

    


0001 Broadcom Kona Family GPIO
0002 =========================
0003 
0004 This GPIO driver is used in the following Broadcom SoCs:
0005   BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
0006 
0007 The Broadcom GPIO Controller IP can be configured prior to synthesis to
0008 support up to 8 banks of 32 GPIOs where each bank has its own IRQ. The
0009 GPIO controller only supports edge, not level, triggering of interrupts.
0010 
0011 Required properties
0012 -------------------
0013 
0014 - compatible: "brcm,bcm11351-gpio", "brcm,kona-gpio"
0015 - reg: Physical base address and length of the controller's registers.
0016 - interrupts: The interrupt outputs from the controller. There is one GPIO
0017   interrupt per GPIO bank. The number of interrupts listed depends on the
0018   number of GPIO banks on the SoC. The interrupts must be ordered by bank,
0019   starting with bank 0. There is always a 1:1 mapping between banks and
0020   IRQs.
0021 - #gpio-cells: Should be <2>. The first cell is the pin number, the second
0022   cell is used to specify optional parameters:
0023   - bit 0 specifies polarity (0 for normal, 1 for inverted)
0024   See also "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt.
0025 - #interrupt-cells: Should be <2>. The first cell is the GPIO number. The
0026   second cell is used to specify flags. The following subset of flags is
0027   supported:
0028   - trigger type (bits[1:0]):
0029       1 = low-to-high edge triggered.
0030       2 = high-to-low edge triggered.
0031       3 = low-to-high or high-to-low edge triggered
0032       Valid values are 1, 2, 3
0033   See also .../devicetree/bindings/interrupt-controller/interrupts.txt.
0034 - gpio-controller: Marks the device node as a GPIO controller.
0035 - interrupt-controller: Marks the device node as an interrupt controller.
0036 
0037 Example:
0038         gpio: gpio@35003000 {
0039                 compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio";
0040                 reg = <0x35003000 0x800>;
0041                 interrupts =
0042                        <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
0043                         GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
0044                         GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
0045                         GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
0046                         GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
0047                         GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
0048                 #gpio-cells = <2>;
0049                 #interrupt-cells = <2>;
0050                 gpio-controller;
0051                 interrupt-controller;
0052         };