mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 23:51:33 +00:00
doc: a37xx: Introduce pinctrl device tree binding
Reviewed-on: http://vgitil04.il.marvell.com:8080/43289 Tested-by: iSoC Platform CI <ykjenk@marvell.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com> Reviewed-by: Igal Liberman <igall@marvell.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefan Roese <sr@denx.de> Signed-off-by: Ken Ma <make@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
30aecc02f7
commit
65b2e66881
1 changed files with 186 additions and 0 deletions
186
doc/device-tree-bindings/pinctrl/marvell,armada-37xx-pinctrl.txt
Normal file
186
doc/device-tree-bindings/pinctrl/marvell,armada-37xx-pinctrl.txt
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
* Marvell Armada 37xx SoC pin and GPIO controller
|
||||||
|
|
||||||
|
Each Armada 37xx SoC comes with two pin and GPIO controllers, one for the
|
||||||
|
South Bridge and the other for the North Bridge.
|
||||||
|
|
||||||
|
GPIO and pin controller:
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Main node:
|
||||||
|
|
||||||
|
Refer to pinctrl-bindings.txt in this directory for details of the
|
||||||
|
common pinctrl bindings used by client devices, including the meaning
|
||||||
|
of the phrase "pin configuration node".
|
||||||
|
|
||||||
|
Required properties for pinctrl driver:
|
||||||
|
|
||||||
|
- compatible: "marvell,armada3710-sb-pinctrl", "syscon, "simple-mfd"
|
||||||
|
for the South Bridge
|
||||||
|
"marvell,armada3710-nb-pinctrl", "syscon, "simple-mfd"
|
||||||
|
for the North Bridge
|
||||||
|
- reg: The first set of registers is for pinctrl/GPIO and the second
|
||||||
|
set is for the interrupt controller
|
||||||
|
- interrupts: list of interrupts used by the GPIO
|
||||||
|
|
||||||
|
Available groups and functions for the North Bridge:
|
||||||
|
|
||||||
|
group: jtag
|
||||||
|
- pins 20-24
|
||||||
|
- functions jtag, gpio
|
||||||
|
|
||||||
|
group sdio0
|
||||||
|
- pins 8-10
|
||||||
|
- functions sdio, gpio
|
||||||
|
|
||||||
|
group emmc_nb
|
||||||
|
- pins 27-35
|
||||||
|
- functions emmc, gpio
|
||||||
|
|
||||||
|
group pwm0
|
||||||
|
- pin 11 (GPIO1-11)
|
||||||
|
- functions pwm, gpio
|
||||||
|
|
||||||
|
group pwm1
|
||||||
|
- pin 12
|
||||||
|
- functions pwm, gpio
|
||||||
|
|
||||||
|
group pwm2
|
||||||
|
- pin 13
|
||||||
|
- functions pwm, gpio
|
||||||
|
|
||||||
|
group pwm3
|
||||||
|
- pin 14
|
||||||
|
- functions pwm, gpio
|
||||||
|
|
||||||
|
group pmic1
|
||||||
|
- pin 7
|
||||||
|
- functions pmic, gpio
|
||||||
|
|
||||||
|
group pmic0
|
||||||
|
- pin 6
|
||||||
|
- functions pmic, gpio
|
||||||
|
|
||||||
|
group i2c2
|
||||||
|
- pins 2-3
|
||||||
|
- functions i2c, gpio
|
||||||
|
|
||||||
|
group i2c1
|
||||||
|
- pins 0-1
|
||||||
|
- functions i2c, gpio
|
||||||
|
|
||||||
|
group spi_cs1
|
||||||
|
- pin 17
|
||||||
|
- functions spi, gpio
|
||||||
|
|
||||||
|
group spi_cs2
|
||||||
|
- pin 18
|
||||||
|
- functions spi, gpio
|
||||||
|
|
||||||
|
group spi_cs3
|
||||||
|
- pin 19
|
||||||
|
- functions spi, gpio
|
||||||
|
|
||||||
|
group onewire
|
||||||
|
- pin 4
|
||||||
|
- functions onewire, gpio
|
||||||
|
|
||||||
|
group uart1
|
||||||
|
- pins 25-26
|
||||||
|
- functions uart, gpio
|
||||||
|
|
||||||
|
group spi_quad
|
||||||
|
- pins 15-16
|
||||||
|
- functions spi, gpio
|
||||||
|
|
||||||
|
group uart_2
|
||||||
|
- pins 9-10
|
||||||
|
- functions uart, gpio
|
||||||
|
|
||||||
|
Available groups and functions for the South Bridge:
|
||||||
|
|
||||||
|
group usb32_drvvbus0
|
||||||
|
- pin 36
|
||||||
|
- functions drvbus, gpio
|
||||||
|
|
||||||
|
group usb2_drvvbus1
|
||||||
|
- pin 37
|
||||||
|
- functions drvbus, gpio
|
||||||
|
|
||||||
|
group sdio_sb
|
||||||
|
- pins 60-65
|
||||||
|
- functions sdio, gpio
|
||||||
|
|
||||||
|
group rgmii
|
||||||
|
- pins 42-53
|
||||||
|
- functions mii, gpio
|
||||||
|
|
||||||
|
group pcie1
|
||||||
|
- pins 39-41
|
||||||
|
- functions pcie, gpio
|
||||||
|
|
||||||
|
group smi
|
||||||
|
- pins 54-55
|
||||||
|
- functions smi, gpio
|
||||||
|
|
||||||
|
group ptp
|
||||||
|
- pins 56-58
|
||||||
|
- functions ptp, gpio
|
||||||
|
|
||||||
|
group ptp_clk
|
||||||
|
- pin 57
|
||||||
|
- functions ptp, mii
|
||||||
|
|
||||||
|
group ptp_trig
|
||||||
|
- pin 58
|
||||||
|
- functions ptp, mii
|
||||||
|
|
||||||
|
group mii_col
|
||||||
|
- pin 59
|
||||||
|
- functions mii, mii_err
|
||||||
|
|
||||||
|
GPIO subnode:
|
||||||
|
|
||||||
|
Please refer to gpio.txt in "gpio" directory for details of gpio-ranges property
|
||||||
|
and the common GPIO bindings used by client devices.
|
||||||
|
|
||||||
|
Required properties for the GPIO driver under the gpio subnode:
|
||||||
|
- interrupts: List of interrupt specifiers for the controllers interrupt.
|
||||||
|
- gpio-controller: Marks the device node as a GPIO controller.
|
||||||
|
- #gpio-cells: Should be 2. The first cell is the GPIO number and the
|
||||||
|
second cell specifies GPIO flags, as defined in
|
||||||
|
<dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH and
|
||||||
|
GPIO_ACTIVE_LOW flags are supported.
|
||||||
|
- gpio-ranges: Range of pins managed by the GPIO controller.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
pinctrl_sb: pinctrl-sb@18800 {
|
||||||
|
compatible = "marvell,armada3710-sb-pinctrl",
|
||||||
|
"syscon", "simple-mfd";
|
||||||
|
reg = <0x18800 0x100>, <0x18C00 0x20>;
|
||||||
|
gpiosb: gpiosb {
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-ranges = <&pinctrl_sb 0 0 30>;
|
||||||
|
gpio-controller;
|
||||||
|
interrupts =
|
||||||
|
<GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
rgmii_pins: mii-pins {
|
||||||
|
groups = "rgmii";
|
||||||
|
function = "mii";
|
||||||
|
};
|
||||||
|
|
||||||
|
sdio_pins: sdio-pins {
|
||||||
|
groups = "sdio_sb";
|
||||||
|
function = "sdio";
|
||||||
|
};
|
||||||
|
|
||||||
|
pcie_pins: pcie-pins {
|
||||||
|
groups = "pcie1";
|
||||||
|
function = "pcie";
|
||||||
|
};
|
||||||
|
};
|
Loading…
Reference in a new issue