1 Broadcom iProc GPIO/PINCONF Controller
6 "brcm,iproc-gpio" for the generic iProc based GPIO controller IP that
7 supports full-featured pinctrl and GPIO functions used in various iProc
10 May contain an SoC-specific compatibility string to accommodate any
13 "brcm,cygnus-ccm-gpio", "brcm,cygnus-asiu-gpio", or
14 "brcm,cygnus-crmu-gpio" for Cygnus SoCs
16 "brcm,iproc-nsp-gpio" for the iProc NSP SoC that has drive strength support
19 "brcm,iproc-stingray-gpio" for the iProc Stingray SoC that has the general
20 pinctrl support completely disabled in this IP block. In Stingray, a
21 different IP block is used to handle pinctrl related functions
24 Define the base and range of the I/O address space that contains SoC
25 GPIO/PINCONF controller registers
28 Total number of in-use slots in GPIO controller
31 Must be two. The first cell is the GPIO pin number (within the
32 controller's pin space) and the second cell is used for the following:
33 bit[0]: polarity (0 for active high and 1 for active low)
36 Specifies that the node is a GPIO controller
43 - interrupt-controller:
44 Specifies that the node is an interrupt controller
47 Specifies the mapping between gpio controller and pin-controllers pins.
48 This requires 4 fields in cells defined as -
49 1. Phandle of pin-controller.
50 2. GPIO base pin offset.
51 3 Pin-control base pin offset.
52 4. number of gpio pins which are linearly mapped from pin base.
54 Supported generic PINCONF properties in child nodes:
57 The list of pins (within the controller's own pin space) that properties
58 in the node apply to. Pin names are "gpio-<pin>"
64 Enable internal pull up resistor
67 Enable internal pull down resistor
70 Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
73 gpio_ccm: gpio@1800a000 {
74 compatible = "brcm,cygnus-ccm-gpio";
75 reg = <0x1800a000 0x50>,
80 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
83 touch_pins: touch_pins {
86 drive-strength = <16>;
96 gpio_asiu: gpio@180a5000 {
97 compatible = "brcm,cygnus-asiu-gpio";
98 reg = <0x180a5000 0x668>;
102 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
103 interrupt-controller;
104 gpio-ranges = <&pinctrl 0 42 1>,
109 * Touchscreen that uses the CCM GPIO 0 and 1
114 gpio-pwr = <&gpio_ccm 0 0>;
115 gpio-event = <&gpio_ccm 1 0>;
118 /* Bluetooth that uses the ASIU GPIO 5, with polarity inverted */
122 bcm,rfkill-bank-sel = <&gpio_asiu 5 1>