linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Drew Fustini <drew@beagleboard.org>
To: "Tony Lindgren" <tony@atomide.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Grygorii Strashko" <grygorii.strashko@ti.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Jason Kridner <jkridner@beagleboard.org>,
	Robert Nelson <robertcnelson@gmail.com>
Subject: [PATCH] arm: dts: am335x-pocketbeagle: add gpio-line-names
Date: Tue, 9 Jun 2020 16:25:04 +0200	[thread overview]
Message-ID: <20200609142504.GA2955236@x1> (raw)

The BeagleBoard.org PocketBeagle has P1 and P2 headers [0] which expose
many of the TI AM3358 SoC balls to stacking expansion boards called 
"capes", or to other external connections like jumper wires connected
to a breadboard.

Note: the AM3358 die is actually embedded inside of the OSD335x-SM
System-in-Package (SiP) [1] but that is irrelevant to the gpio driver.

Many of the P1 and P2 header pins can muxed to a GPIO line.  The
gpio-line-names describe which P1 or P2 pin that line goes to and the
default mux for that P1 or P2 pin if it is not GPIO.
    
Some GPIO lines are named "[NC]" as the corresponding balls are not
routed to anything on the PCB.

The goal for these names is to make it easier for a user viewing the
output of gpioinfo to determine which P1 or P2 pin is connected to a
GPIO line.  The output of gpioinfo on a PocketBeagle would be:

gpiochip0 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high 
	line   1:       "[NC]"       unused   input  active-high 
	line   2: "P1.08 [SPI0_CLK]" unused input active-high 
	line   3: "P1.10 [SPI0_MISO]" unused input active-high 
	line   4: "P1.12 [SPI0_MOSI]" unused input active-high 
	line   5: "P1.06 [SPI0_CS]" unused input active-high 
	line   6:  "[MMC0_CD]"         "cd"   input   active-low [used]
	line   7: "P2.29 [SPI1_CLK]" unused input active-high 
	line   8:       "[NC]"       unused   input  active-high 
	line   9:       "[NC]"       unused   input  active-high 
	line  10:       "[NC]"       unused   input  active-high 
	line  11:       "[NC]"       unused   input  active-high 
	line  12: "P1.26 [I2C2_SDA]" unused input active-high 
	line  13: "P1.28 [I2C2_SCL]" unused input active-high 
	line  14: "P2.11 [I2C1_SDA]" unused input active-high 
	line  15: "P2.09 [I2C1_SCL]" unused input active-high 
	line  16:       "[NC]"       unused   input  active-high 
	line  17:       "[NC]"       unused   input  active-high 
	line  18:       "[NC]"       unused   input  active-high 
	line  19: "P2.31 [SPI1_CS]" unused input active-high 
	line  20: "P1.20 [PRU0.16]" unused input active-high 
	line  21:       "[NC]"       unused   input  active-high 
	line  22:       "[NC]"       unused   input  active-high 
	line  23:      "P2.03"       unused   input  active-high 
	line  24:       "[NC]"       unused   input  active-high 
	line  25:       "[NC]"       unused   input  active-high 
	line  26:      "P1.34"       unused   input  active-high 
	line  27:      "P2.19"       unused   input  active-high 
	line  28:       "[NC]"       unused   input  active-high 
	line  29:       "[NC]"       unused   input  active-high 
	line  30: "P2.05 [UART4_RX]" unused input active-high 
	line  31: "P2.07 [UART4_TX]" unused input active-high 
gpiochip1 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high 
	line   1:       "[NC]"       unused   input  active-high 
	line   2:       "[NC]"       unused   input  active-high 
	line   3:       "[NC]"       unused   input  active-high 
	line   4:       "[NC]"       unused   input  active-high 
	line   5:       "[NC]"       unused   input  active-high 
	line   6: "P1.06 [SPI0_CS]" unused input active-high 
	line   7: "P1.06 [SPI0_CS]" unused input active-high 
	line   8: "P2.27 [SPI1_MISO]" unused input active-high 
	line   9: "P2.25 [SPI1_MOSI]" unused input active-high 
	line  10: "P1.32 [UART0_RX]" unused input active-high 
	line  11: "P1.30 [UART0_TX]" unused input active-high 
	line  12:      "P2.24"       unused   input  active-high 
	line  13:      "P2.33"       unused   input  active-high 
	line  14:      "P2.22"       unused   input  active-high 
	line  15:      "P2.18"       unused   input  active-high 
	line  16:       "[NC]"       unused   input  active-high 
	line  17:       "[NC]"       unused   input  active-high 
	line  18: "P2.01 [PWM1A]" unused input active-high 
	line  19:       "[NC]"       unused   input  active-high 
	line  20:      "P2.10"       unused   input  active-high 
	line  21: "[user led 0]" "beaglebone:green:usr0" output active-high [used]
	line  22: "[user led 1]" "beaglebone:green:usr1" output active-high [used]
	line  23: "[user led 2]" "beaglebone:green:usr2" output active-high [used]
	line  24: "[user led 3]" "beaglebone:green:usr3" output active-high [used]
	line  25:      "P2.06"       unused   input  active-high 
	line  26:      "P2.04"       unused   input  active-high 
	line  27:      "P2.02"       unused   input  active-high 
	line  28:      "P2.08"       unused   input  active-high 
	line  29:       "[NC]"       unused   input  active-high 
	line  30:       "[NC]"       unused   input  active-high 
	line  31:       "[NC]"       unused   input  active-high 
gpiochip2 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high 
	line   1:      "P2.17"       unused   input  active-high 
	line   2:       "[NC]"       unused   input  active-high 
	line   3:       "[NC]"       unused   input  active-high 
	line   4:       "[NC]"       unused   input  active-high 
	line   5: "[EEPROM_WP]" unused input active-high 
	line   6:       "[NC]"       unused   input  active-high 
	line   7:       "[NC]"       unused   input  active-high 
	line   8:       "[NC]"       unused   input  active-high 
	line   9:       "[NC]"       unused   input  active-high 
	line  10:       "[NC]"       unused   input  active-high 
	line  11:       "[NC]"       unused   input  active-high 
	line  12:       "[NC]"       unused   input  active-high 
	line  13:       "[NC]"       unused   input  active-high 
	line  14:       "[NC]"       unused   input  active-high 
	line  15:       "[NC]"       unused   input  active-high 
	line  16:       "[NC]"       unused   input  active-high 
	line  17:       "[NC]"       unused   input  active-high 
	line  18:       "[NC]"       unused   input  active-high 
	line  19:       "[NC]"       unused   input  active-high 
	line  20:       "[NC]"       unused   input  active-high 
	line  21:       "[NC]"       unused   input  active-high 
	line  22: "P2.35 [AIN5]" unused input active-high 
	line  23: "P1.02 [AIN6]" unused input active-high 
	line  24: "P1.35 [PRU1.10]" unused input active-high 
	line  25: "P1.04 [PRU1.11]" unused input active-high 
	line  26: "[MMC0_DAT3]" unused input active-high 
	line  27: "[MMC0_DAT2]" unused input active-high 
	line  28: "[MMC0_DAT1]" unused input active-high 
	line  29: "[MMC0_DAT0]" unused input active-high 
	line  30: "[MMC0_CLK]"       unused   input  active-high 
	line  31: "[MMC0_CMD]"       unused   input  active-high 
gpiochip3 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high 
	line   1:       "[NC]"       unused   input  active-high 
	line   2:       "[NC]"       unused   input  active-high 
	line   3:       "[NC]"       unused   input  active-high 
	line   4:       "[NC]"       unused   input  active-high 
	line   5: "[I2C0_SDA]"       unused   input  active-high 
	line   6: "[I2C0_SCL]"       unused   input  active-high 
	line   7:     "[JTAG]"       unused   input  active-high 
	line   8:     "[JTAG]"       unused   input  active-high 
	line   9:       "[NC]"       unused   input  active-high 
	line  10:       "[NC]"       unused   input  active-high 
	line  11:       "[NC]"       unused   input  active-high 
	line  12:       "[NC]"       unused   input  active-high 
	line  13: "P1.03 [USB1]" unused input active-high 
	line  14: "P1.36 [PWM0A]" unused input active-high 
	line  15: "P1.33 [PRU0.1]" unused input active-high 
	line  16: "P2.32 [PRU0.2]" unused input active-high 
	line  17: "P2.30 [PRU0.3]" unused input active-high 
	line  18: "P1.31 [PRU0.4]" unused input active-high 
	line  19: "P2.34 [PRU0.5]" unused input active-high 
	line  20: "P2.28 [PRU0.6]" unused input active-high 
	line  21: "P1.29 [PRU0.7]" unused input active-high 
	line  22:       "[NC]"       unused   input  active-high 
	line  23:       "[NC]"       unused   input  active-high 
	line  24:       "[NC]"       unused   input  active-high 
	line  25:       "[NC]"       unused   input  active-high 
	line  26:       "[NC]"       unused   input  active-high 
	line  27:       "[NC]"       unused   input  active-high 
	line  28:       "[NC]"       unused   input  active-high 
	line  29:       "[NC]"       unused   input  active-high 
	line  30:       "[NC]"       unused   input  active-high 
	line  31:       "[NC]"       unused   input  active-high 

[0] https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#71_Expansion_Header_Connectors
[1] https://octavosystems.com/app_notes/osd335x-family-pin-assignments/

Reviewed-by: Jason Kridner <jason@beagleboard.org>
Reviewed-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Drew Fustini <drew@beagleboard.org>
---
 arch/arm/boot/dts/am335x-pocketbeagle.dts | 144 ++++++++++++++++++++++
 1 file changed, 144 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-pocketbeagle.dts b/arch/arm/boot/dts/am335x-pocketbeagle.dts
index 4da719098028..60e5fa2b9156 100644
--- a/arch/arm/boot/dts/am335x-pocketbeagle.dts
+++ b/arch/arm/boot/dts/am335x-pocketbeagle.dts
@@ -59,6 +59,150 @@ vmmcsd_fixed: fixedregulator0 {
 	};
 };
 
+&gpio0 {
+	gpio-line-names =
+		"[NC]",
+		"[NC]",
+		"P1.08 [SPI0_CLK]",
+		"P1.10 [SPI0_MISO]",
+		"P1.12 [SPI0_MOSI]",
+		"P1.06 [SPI0_CS]",
+		"[MMC0_CD]",
+		"P2.29 [SPI1_CLK]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P1.26 [I2C2_SDA]",
+		"P1.28 [I2C2_SCL]",
+		"P2.11 [I2C1_SDA]",
+		"P2.09 [I2C1_SCL]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P2.31 [SPI1_CS]",
+		"P1.20 [PRU0.16]",
+		"[NC]",
+		"[NC]",
+		"P2.03",
+		"[NC]",
+		"[NC]",
+		"P1.34",
+		"P2.19",
+		"[NC]",
+		"[NC]",
+		"P2.05 [UART4_RX]",
+		"P2.07 [UART4_TX]";
+};
+
+&gpio1 {
+	gpio-line-names =
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P1.06 [SPI0_CS]",
+		"P1.06 [SPI0_CS]",
+		"P2.27 [SPI1_MISO]",
+		"P2.25 [SPI1_MOSI]",
+		"P1.32 [UART0_RX]",
+		"P1.30 [UART0_TX]",
+		"P2.24",
+		"P2.33",
+		"P2.22",
+		"P2.18",
+		"[NC]",
+		"[NC]",
+		"P2.01 [PWM1A]",
+		"[NC]",
+		"P2.10",
+		"[user led 0]",
+		"[user led 1]",
+		"[user led 2]",
+		"[user led 3]",
+		"P2.06",
+		"P2.04",
+		"P2.02",
+		"P2.08",
+		"[NC]",
+		"[NC]",
+		"[NC]";
+};
+
+&gpio2 {
+	gpio-line-names =
+		"[NC]",
+		"P2.17",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[EEPROM_WP]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P2.35 [AIN5]",
+		"P1.02 [AIN6]",
+		"P1.35 [PRU1.10]",
+		"P1.04 [PRU1.11]",
+		"[MMC0_DAT3]",
+		"[MMC0_DAT2]",
+		"[MMC0_DAT1]",
+		"[MMC0_DAT0]",
+		"[MMC0_CLK]",
+		"[MMC0_CMD]";
+};
+
+&gpio3 {
+	gpio-line-names =
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[I2C0_SDA]",
+		"[I2C0_SCL]",
+		"[JTAG]",
+		"[JTAG]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P1.03 [USB1]",
+		"P1.36 [PWM0A]",
+		"P1.33 [PRU0.1]",
+		"P2.32 [PRU0.2]",
+		"P2.30 [PRU0.3]",
+		"P1.31 [PRU0.4]",
+		"P2.34 [PRU0.5]",
+		"P2.28 [PRU0.6]",
+		"P1.29 [PRU0.7]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]";
+};
+
 &am33xx_pinmux {
 	i2c2_pins: pinmux-i2c2-pins {
 		pinctrl-single,pins = <
-- 
2.25.1


             reply	other threads:[~2020-06-09 14:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-09 14:25 Drew Fustini [this message]
2020-06-17 17:09 ` [PATCH] arm: dts: am335x-pocketbeagle: add gpio-line-names Drew Fustini
2020-06-18 17:03   ` Tony Lindgren
2020-06-18 18:04     ` Drew Fustini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200609142504.GA2955236@x1 \
    --to=drew@beagleboard.org \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=jkridner@beagleboard.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=robertcnelson@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).