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: Re: [PATCH] arm: dts: am335x-pocketbeagle: add gpio-line-names
Date: Wed, 17 Jun 2020 19:09:15 +0200	[thread overview]
Message-ID: <20200617170915.GA4185472@x1> (raw)
In-Reply-To: <20200609142504.GA2955236@x1>

On Tue, Jun 09, 2020 at 04:25:04PM +0200, Drew Fustini wrote:
> 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
> 

Tony - does this look ok for 5.9?

If so, I might start making other variants like BeagleBone Blue and
BeagleBone {Green,Black} Wireless and submit those when ready.

thanks,
drew

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

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-09 14:25 [PATCH] arm: dts: am335x-pocketbeagle: add gpio-line-names Drew Fustini
2020-06-17 17:09 ` Drew Fustini [this message]
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=20200617170915.GA4185472@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).