[PATCH] arm: dts: sun7i-a20-bananapi: name the GPIO lines
Linus Walleij
linus.walleij at linaro.org
Fri Jul 22 07:55:45 PDT 2016
On Thu, Jul 14, 2016 at 1:47 PM, Oleksij Rempel <linux at rempel-privat.de> wrote:
> This names the GPIO lines on the Banana Pi board in accordance with
> the A20_Banana_Pi v1.4 Specification.
>
> This will make these line names reflect through to userspace
> so that they can easily be identified and used with the new
> character device ABI.
>
> Some care has been taken to name all lines, not just those used
> by the external connectors, also lines that are muxed into some
> other function than GPIO: these are named "[FOO]" so that users
> can see with lsgpio what all lines are used for.
>
> Ps: most of the text was taken from Linux Wallej patch.
LinuS
>
> Cc: devicetree at vger.kernel.org
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: Chen-Yu Tsai <wens at csie.org>
> Signed-off-by: Oleksij Rempel <linux at rempel-privat.de>
Nice usecase!
> + /*
> + * Legend: proper name = the GPIO line is used as GPIO
> + * NC = not connected (not routed from the SoC)
> + * "[PER]" = pin is muxed for peripheral (not GPIO)
> + * "" = no idea, schematic doesn't say, could be
> + * unrouted (not connected to any external pin)
> + * LSEC = Low Speed External Connector
> + * HSEC = High Speed External Connector
> + */
So maybe we should make this naming convention a suggested
standard. People seem to like it.
> + gpio-line-names =
> + /* PA */
> + "[ERXD3]", "[ERXD2]", "[ERXD1]", "[ERXD0]", "[ETXD3]",
> + "[ETXD2]", "[ETXD1]", "[ETXD0]",
> + "[ERXCK]", "[ERXERR]", "[ERXDV]", "[EMDC]", "[EMDIO]",
> + "[ETXEN]", "[ETXCK]", "[ECRS]",
> + "[ECOL]", "[ETXERR]", "", "", "", "", "", "",
> + "", "", "", "", "", "", "", "",
> + /* PB */
> + "[PMU-SCK]", "[PMU-SDA]", "", "", "", "NC", "NC", "NC",
> + "NC", "[USB0-DRV]", "NC", "NC", "NC", "NC", "", "",
> + "", "", "", "", "SCL", "SDA", "", "",
Are these bit-banged SCL and SDA for doing I2C with
GPIO? Otherwise you probably want to name them "[SCL]" and "[SDA]"
> + "TXD0", "RXD0", "IO-1", "PH3", "[USB0-IDDET]", "PH5", "", "",
Same here. You probably want "[TXD0]" etc unless you're bit-banging
the serial port. "IO-1" sounds like a real GPIO though and should
probably be named like that without [] and "PH3" what is that really?
A device-muxed pin or some kind of GPIO?
> + "", "", "[SD0-DET]", "", "", "", "", "",
> + "NC", "", "", "", "IO-4", "IO-5", "NC", "[EMAC-PWR-EN]",
So these seem correct too.
> + "[LED1]", "NC", "NC", "NC", "", "", "", "",
"LED1" seems like the right name, if this is a GPIO used to drive
a LED.
> + "", "", "", "IO-GCLK", "NC", "NC", "NC", "NC",
WHat is IO-GCLK? A real GPIO line used for toggling a clock?
Or a hardware clock signal? In the first case it it correctly named,
in the other case it should be "[IO-GCLK]".
> + "NC", "NC", "[SPI-CE0]", "[SPI-CLK]", "[SPI-MOSI]",
> + "[SPI-MISO]", "[SPI-CE1]", "NC",
> + "IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "",
Looks right.
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list