1*c66ec88fSEmmanuel VadotBroadcom Kona Family GPIO 2*c66ec88fSEmmanuel Vadot========================= 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotThis GPIO driver is used in the following Broadcom SoCs: 5*c66ec88fSEmmanuel Vadot BCM11130, BCM11140, BCM11351, BCM28145, BCM28155 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotThe Broadcom GPIO Controller IP can be configured prior to synthesis to 8*c66ec88fSEmmanuel Vadotsupport up to 8 banks of 32 GPIOs where each bank has its own IRQ. The 9*c66ec88fSEmmanuel VadotGPIO controller only supports edge, not level, triggering of interrupts. 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel VadotRequired properties 12*c66ec88fSEmmanuel Vadot------------------- 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot- compatible: "brcm,bcm11351-gpio", "brcm,kona-gpio" 15*c66ec88fSEmmanuel Vadot- reg: Physical base address and length of the controller's registers. 16*c66ec88fSEmmanuel Vadot- interrupts: The interrupt outputs from the controller. There is one GPIO 17*c66ec88fSEmmanuel Vadot interrupt per GPIO bank. The number of interrupts listed depends on the 18*c66ec88fSEmmanuel Vadot number of GPIO banks on the SoC. The interrupts must be ordered by bank, 19*c66ec88fSEmmanuel Vadot starting with bank 0. There is always a 1:1 mapping between banks and 20*c66ec88fSEmmanuel Vadot IRQs. 21*c66ec88fSEmmanuel Vadot- #gpio-cells: Should be <2>. The first cell is the pin number, the second 22*c66ec88fSEmmanuel Vadot cell is used to specify optional parameters: 23*c66ec88fSEmmanuel Vadot - bit 0 specifies polarity (0 for normal, 1 for inverted) 24*c66ec88fSEmmanuel Vadot See also "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt. 25*c66ec88fSEmmanuel Vadot- #interrupt-cells: Should be <2>. The first cell is the GPIO number. The 26*c66ec88fSEmmanuel Vadot second cell is used to specify flags. The following subset of flags is 27*c66ec88fSEmmanuel Vadot supported: 28*c66ec88fSEmmanuel Vadot - trigger type (bits[1:0]): 29*c66ec88fSEmmanuel Vadot 1 = low-to-high edge triggered. 30*c66ec88fSEmmanuel Vadot 2 = high-to-low edge triggered. 31*c66ec88fSEmmanuel Vadot 3 = low-to-high or high-to-low edge triggered 32*c66ec88fSEmmanuel Vadot Valid values are 1, 2, 3 33*c66ec88fSEmmanuel Vadot See also .../devicetree/bindings/interrupt-controller/interrupts.txt. 34*c66ec88fSEmmanuel Vadot- gpio-controller: Marks the device node as a GPIO controller. 35*c66ec88fSEmmanuel Vadot- interrupt-controller: Marks the device node as an interrupt controller. 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel VadotExample: 38*c66ec88fSEmmanuel Vadot gpio: gpio@35003000 { 39*c66ec88fSEmmanuel Vadot compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio"; 40*c66ec88fSEmmanuel Vadot reg = <0x35003000 0x800>; 41*c66ec88fSEmmanuel Vadot interrupts = 42*c66ec88fSEmmanuel Vadot <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 43*c66ec88fSEmmanuel Vadot GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 44*c66ec88fSEmmanuel Vadot GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 45*c66ec88fSEmmanuel Vadot GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 46*c66ec88fSEmmanuel Vadot GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 47*c66ec88fSEmmanuel Vadot GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 48*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 49*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 50*c66ec88fSEmmanuel Vadot gpio-controller; 51*c66ec88fSEmmanuel Vadot interrupt-controller; 52*c66ec88fSEmmanuel Vadot }; 53