1*65b2e668SKen Ma* Marvell Armada 37xx SoC pin and GPIO controller 2*65b2e668SKen Ma 3*65b2e668SKen MaEach Armada 37xx SoC comes with two pin and GPIO controllers, one for the 4*65b2e668SKen MaSouth Bridge and the other for the North Bridge. 5*65b2e668SKen Ma 6*65b2e668SKen MaGPIO and pin controller: 7*65b2e668SKen Ma------------------------ 8*65b2e668SKen Ma 9*65b2e668SKen MaMain node: 10*65b2e668SKen Ma 11*65b2e668SKen MaRefer to pinctrl-bindings.txt in this directory for details of the 12*65b2e668SKen Macommon pinctrl bindings used by client devices, including the meaning 13*65b2e668SKen Maof the phrase "pin configuration node". 14*65b2e668SKen Ma 15*65b2e668SKen MaRequired properties for pinctrl driver: 16*65b2e668SKen Ma 17*65b2e668SKen Ma- compatible: "marvell,armada3710-sb-pinctrl", "syscon, "simple-mfd" 18*65b2e668SKen Ma for the South Bridge 19*65b2e668SKen Ma "marvell,armada3710-nb-pinctrl", "syscon, "simple-mfd" 20*65b2e668SKen Ma for the North Bridge 21*65b2e668SKen Ma- reg: The first set of registers is for pinctrl/GPIO and the second 22*65b2e668SKen Ma set is for the interrupt controller 23*65b2e668SKen Ma- interrupts: list of interrupts used by the GPIO 24*65b2e668SKen Ma 25*65b2e668SKen MaAvailable groups and functions for the North Bridge: 26*65b2e668SKen Ma 27*65b2e668SKen Magroup: jtag 28*65b2e668SKen Ma - pins 20-24 29*65b2e668SKen Ma - functions jtag, gpio 30*65b2e668SKen Ma 31*65b2e668SKen Magroup sdio0 32*65b2e668SKen Ma - pins 8-10 33*65b2e668SKen Ma - functions sdio, gpio 34*65b2e668SKen Ma 35*65b2e668SKen Magroup emmc_nb 36*65b2e668SKen Ma - pins 27-35 37*65b2e668SKen Ma - functions emmc, gpio 38*65b2e668SKen Ma 39*65b2e668SKen Magroup pwm0 40*65b2e668SKen Ma - pin 11 (GPIO1-11) 41*65b2e668SKen Ma - functions pwm, gpio 42*65b2e668SKen Ma 43*65b2e668SKen Magroup pwm1 44*65b2e668SKen Ma - pin 12 45*65b2e668SKen Ma - functions pwm, gpio 46*65b2e668SKen Ma 47*65b2e668SKen Magroup pwm2 48*65b2e668SKen Ma - pin 13 49*65b2e668SKen Ma - functions pwm, gpio 50*65b2e668SKen Ma 51*65b2e668SKen Magroup pwm3 52*65b2e668SKen Ma - pin 14 53*65b2e668SKen Ma - functions pwm, gpio 54*65b2e668SKen Ma 55*65b2e668SKen Magroup pmic1 56*65b2e668SKen Ma - pin 7 57*65b2e668SKen Ma - functions pmic, gpio 58*65b2e668SKen Ma 59*65b2e668SKen Magroup pmic0 60*65b2e668SKen Ma - pin 6 61*65b2e668SKen Ma - functions pmic, gpio 62*65b2e668SKen Ma 63*65b2e668SKen Magroup i2c2 64*65b2e668SKen Ma - pins 2-3 65*65b2e668SKen Ma - functions i2c, gpio 66*65b2e668SKen Ma 67*65b2e668SKen Magroup i2c1 68*65b2e668SKen Ma - pins 0-1 69*65b2e668SKen Ma - functions i2c, gpio 70*65b2e668SKen Ma 71*65b2e668SKen Magroup spi_cs1 72*65b2e668SKen Ma - pin 17 73*65b2e668SKen Ma - functions spi, gpio 74*65b2e668SKen Ma 75*65b2e668SKen Magroup spi_cs2 76*65b2e668SKen Ma - pin 18 77*65b2e668SKen Ma - functions spi, gpio 78*65b2e668SKen Ma 79*65b2e668SKen Magroup spi_cs3 80*65b2e668SKen Ma - pin 19 81*65b2e668SKen Ma - functions spi, gpio 82*65b2e668SKen Ma 83*65b2e668SKen Magroup onewire 84*65b2e668SKen Ma - pin 4 85*65b2e668SKen Ma - functions onewire, gpio 86*65b2e668SKen Ma 87*65b2e668SKen Magroup uart1 88*65b2e668SKen Ma - pins 25-26 89*65b2e668SKen Ma - functions uart, gpio 90*65b2e668SKen Ma 91*65b2e668SKen Magroup spi_quad 92*65b2e668SKen Ma - pins 15-16 93*65b2e668SKen Ma - functions spi, gpio 94*65b2e668SKen Ma 95*65b2e668SKen Magroup uart_2 96*65b2e668SKen Ma - pins 9-10 97*65b2e668SKen Ma - functions uart, gpio 98*65b2e668SKen Ma 99*65b2e668SKen MaAvailable groups and functions for the South Bridge: 100*65b2e668SKen Ma 101*65b2e668SKen Magroup usb32_drvvbus0 102*65b2e668SKen Ma - pin 36 103*65b2e668SKen Ma - functions drvbus, gpio 104*65b2e668SKen Ma 105*65b2e668SKen Magroup usb2_drvvbus1 106*65b2e668SKen Ma - pin 37 107*65b2e668SKen Ma - functions drvbus, gpio 108*65b2e668SKen Ma 109*65b2e668SKen Magroup sdio_sb 110*65b2e668SKen Ma - pins 60-65 111*65b2e668SKen Ma - functions sdio, gpio 112*65b2e668SKen Ma 113*65b2e668SKen Magroup rgmii 114*65b2e668SKen Ma - pins 42-53 115*65b2e668SKen Ma - functions mii, gpio 116*65b2e668SKen Ma 117*65b2e668SKen Magroup pcie1 118*65b2e668SKen Ma - pins 39-41 119*65b2e668SKen Ma - functions pcie, gpio 120*65b2e668SKen Ma 121*65b2e668SKen Magroup smi 122*65b2e668SKen Ma - pins 54-55 123*65b2e668SKen Ma - functions smi, gpio 124*65b2e668SKen Ma 125*65b2e668SKen Magroup ptp 126*65b2e668SKen Ma - pins 56-58 127*65b2e668SKen Ma - functions ptp, gpio 128*65b2e668SKen Ma 129*65b2e668SKen Magroup ptp_clk 130*65b2e668SKen Ma - pin 57 131*65b2e668SKen Ma - functions ptp, mii 132*65b2e668SKen Ma 133*65b2e668SKen Magroup ptp_trig 134*65b2e668SKen Ma - pin 58 135*65b2e668SKen Ma - functions ptp, mii 136*65b2e668SKen Ma 137*65b2e668SKen Magroup mii_col 138*65b2e668SKen Ma - pin 59 139*65b2e668SKen Ma - functions mii, mii_err 140*65b2e668SKen Ma 141*65b2e668SKen MaGPIO subnode: 142*65b2e668SKen Ma 143*65b2e668SKen MaPlease refer to gpio.txt in "gpio" directory for details of gpio-ranges property 144*65b2e668SKen Maand the common GPIO bindings used by client devices. 145*65b2e668SKen Ma 146*65b2e668SKen MaRequired properties for the GPIO driver under the gpio subnode: 147*65b2e668SKen Ma- interrupts: List of interrupt specifiers for the controllers interrupt. 148*65b2e668SKen Ma- gpio-controller: Marks the device node as a GPIO controller. 149*65b2e668SKen Ma- #gpio-cells: Should be 2. The first cell is the GPIO number and the 150*65b2e668SKen Ma second cell specifies GPIO flags, as defined in 151*65b2e668SKen Ma <dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH and 152*65b2e668SKen Ma GPIO_ACTIVE_LOW flags are supported. 153*65b2e668SKen Ma- gpio-ranges: Range of pins managed by the GPIO controller. 154*65b2e668SKen Ma 155*65b2e668SKen MaExample: 156*65b2e668SKen Mapinctrl_sb: pinctrl-sb@18800 { 157*65b2e668SKen Ma compatible = "marvell,armada3710-sb-pinctrl", 158*65b2e668SKen Ma "syscon", "simple-mfd"; 159*65b2e668SKen Ma reg = <0x18800 0x100>, <0x18C00 0x20>; 160*65b2e668SKen Ma gpiosb: gpiosb { 161*65b2e668SKen Ma #gpio-cells = <2>; 162*65b2e668SKen Ma gpio-ranges = <&pinctrl_sb 0 0 30>; 163*65b2e668SKen Ma gpio-controller; 164*65b2e668SKen Ma interrupts = 165*65b2e668SKen Ma <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 166*65b2e668SKen Ma <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 167*65b2e668SKen Ma <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 168*65b2e668SKen Ma <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 169*65b2e668SKen Ma <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 170*65b2e668SKen Ma }; 171*65b2e668SKen Ma 172*65b2e668SKen Ma rgmii_pins: mii-pins { 173*65b2e668SKen Ma groups = "rgmii"; 174*65b2e668SKen Ma function = "mii"; 175*65b2e668SKen Ma }; 176*65b2e668SKen Ma 177*65b2e668SKen Ma sdio_pins: sdio-pins { 178*65b2e668SKen Ma groups = "sdio_sb"; 179*65b2e668SKen Ma function = "sdio"; 180*65b2e668SKen Ma }; 181*65b2e668SKen Ma 182*65b2e668SKen Ma pcie_pins: pcie-pins { 183*65b2e668SKen Ma groups = "pcie1"; 184*65b2e668SKen Ma function = "pcie"; 185*65b2e668SKen Ma }; 186*65b2e668SKen Ma};