Linux-OMAP Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v2] arm: dts: am335x-boneblack: add gpio-line-names
@ 2020-05-21 20:09 Drew Fustini
  2020-05-28 13:16 ` Drew Fustini
  0 siblings, 1 reply; 3+ messages in thread
From: Drew Fustini @ 2020-05-21 20:09 UTC (permalink / raw)
  To: Linus Walleij, Grygorii Strashko, Benoît Cousson,
	Tony Lindgren, Rob Herring, Linux-OMAP, devicetree, linux-kernel,
	Jason Kridner, Robert Nelson

The BeagleBone Black has P8 and P9 headers [0] which expose many of the
AM3358 ZCZ SoC balls to stacking expansion boards called "capes", or to
other external connections like jumper wires connected to a breadboard.
BeagleBone users will often refer to the "Cape Exanpsion Headers" pin
diagram [1] as it is in the "Bone101" getting started tutorial. [2]

Most of the P8 and P9 header pins can muxed to a GPIO line.  The
gpio-line-names describe which P8 or P9 pin that line goes to and the
default mux for that P8 or P9 pin if it is not GPIO.

For example, gpiochip 1 line 0 is connected to P8 header pin 25 (P8_25)
however the default device tree has the corresponding BGA ball (ZCZ U7)
muxed to mmc1_dat0 as it is used for the on-board eMMC chip.  For that
GPIO line to be used, one would need to modify the device tree to
disable the eMMC and change the pin mux for that ball to GPIO mode.

Some of the AM3358 ZCZ balls corresponding to GPIO lines are not routed
to a P8 or P9 header, but are instead wired to some peripheral device
like on-board eMMC, HDMI framer IC, or status LEDs.  Those names are in
brackets to denote those GPIO lines can not be used.

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 P8 or P9 pin is connected to a
GPIO line.  The output of gpioinfo on a BeagleBone Black would be:

gpiochip0 - 32 lines:
	line   0: "[ethernet]"       unused   input  active-high 
	line   1: "[ethernet]"       unused   input  active-high 
	line   2: "P9_22 [spi0_sclk]" unused input active-high 
	line   3: "P9_21 [spi0_d0]" unused input active-high 
	line   4: "P9_18 [spi0_d1]" unused input active-high 
	line   5: "P9_17 [spi0_cs0]" unused input active-high 
	line   6:  "[sd card]"         "cd"   input   active-low [used]
	line   7: "P9_42A [ecappwm0]" unused input active-high 
	line   8: "P8_35 [hdmi]" unused input active-high 
	line   9: "P8_33 [hdmi]" unused input active-high 
	line  10: "P8_31 [hdmi]" unused input active-high 
	line  11: "P8_32 [hdmi]" unused input active-high 
	line  12: "P9_20 [i2c2_sda]" unused input active-high 
	line  13: "P9_19 [i2c2_scl]" unused input active-high 
	line  14: "P9_26 [uart1_rxd]" unused input active-high 
	line  15: "P9_24 [uart1_txd]" unused input active-high 
	line  16: "[ethernet]"       unused   input  active-high 
	line  17: "[ethernet]"       unused   input  active-high 
	line  18:      "[usb]"       unused   input  active-high 
	line  19:     "[hdmi]"       unused   input  active-high 
	line  20:     "P9_41B"       unused   input  active-high 
	line  21: "[ethernet]"       unused   input  active-high 
	line  22: "P8_19 [ehrpwm2a]" unused input active-high 
	line  23: "P8_13 [ehrpwm2b]" unused input active-high 
	line  24:       "[NC]"       unused   input  active-high 
	line  25:       "[NC]"       unused   input  active-high 
	line  26:      "P8_14"       unused   input  active-high 
	line  27:      "P8_17"       unused   input  active-high 
	line  28: "[ethernet]"       unused   input  active-high 
	line  29: "[ethernet]"       unused   input  active-high 
	line  30: "P9_11 [uart4_rxd]" unused input active-high 
	line  31: "P9_13 [uart4_txd]" unused input active-high 
gpiochip1 - 32 lines:
	line   0: "P8_25 [emmc]" unused input active-high 
	line   1:     "[emmc]"       unused   input  active-high 
	line   2: "P8_5 [emmc]" unused input active-high 
	line   3: "P8_6 [emmc]" unused input active-high 
	line   4: "P8_23 [emmc]" unused input active-high 
	line   5: "P8_22 [emmc]" unused input active-high 
	line   6: "P8_3 [emmc]" unused input active-high 
	line   7: "P8_4 [emmc]" 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:      "P8_12"       unused   input  active-high 
	line  13:      "P8_11"       unused   input  active-high 
	line  14:      "P8_16"       unused   input  active-high 
	line  15:      "P8_15"       unused   input  active-high 
	line  16:     "P9_15A"       unused   input  active-high 
	line  17:      "P9_23"       unused   input  active-high 
	line  18: "P9_14 [ehrpwm1a]" unused input active-high 
	line  19: "P9_16 [ehrpwm1b]" unused input active-high 
	line  20:     "[emmc]"       unused   input  active-high 
	line  21: "[usr0 led]" "beaglebone:green:heartbeat" output active-high [used]
	line  22: "[usr1 led]" "beaglebone:green:mmc0" output active-high [used]
	line  23: "[usr2 led]" "beaglebone:green:usr2" output active-high [used]
	line  24: "[usr3 led]" "beaglebone:green:usr3" output active-high [used]
	line  25:     "[hdmi]"  "interrupt"   input  active-high [used]
	line  26:      "[usb]"       unused   input  active-high 
	line  27: "[hdmi audio]" "enable" output active-high [used]
	line  28:      "P9_12"       unused   input  active-high 
	line  29:      "P8_26"       unused   input  active-high 
	line  30: "P8_21 [emmc]" unused input active-high 
	line  31: "P8_20 [emmc]" unused input active-high 
gpiochip2 - 32 lines:
	line   0:     "P9_15B"       unused   input  active-high 
	line   1:      "P8_18"       unused   input  active-high 
	line   2:       "P8_7"       unused   input  active-high 
	line   3:       "P8_8"       unused   input  active-high 
	line   4:      "P8_10"       unused   input  active-high 
	line   5:       "P8_9"       unused   input  active-high 
	line   6: "P8_45 [hdmi]" unused input active-high 
	line   7: "P8_46 [hdmi]" unused input active-high 
	line   8: "P8_43 [hdmi]" unused input active-high 
	line   9: "P8_44 [hdmi]" unused input active-high 
	line  10: "P8_41 [hdmi]" unused input active-high 
	line  11: "P8_42 [hdmi]" unused input active-high 
	line  12: "P8_39 [hdmi]" unused input active-high 
	line  13: "P8_40 [hdmi]" unused input active-high 
	line  14: "P8_37 [hdmi]" unused input active-high 
	line  15: "P8_38 [hdmi]" unused input active-high 
	line  16: "P8_36 [hdmi]" unused input active-high 
	line  17: "P8_34 [hdmi]" unused input active-high 
	line  18: "[ethernet]"       unused   input  active-high 
	line  19: "[ethernet]"       unused   input  active-high 
	line  20: "[ethernet]"       unused   input  active-high 
	line  21: "[ethernet]"       unused   input  active-high 
	line  22: "P8_27 [hdmi]" unused input active-high 
	line  23: "P8_29 [hdmi]" unused input active-high 
	line  24: "P8_28 [hdmi]" unused input active-high 
	line  25: "P8_30 [hdmi]" unused input active-high 
	line  26:     "[emmc]"       unused   input  active-high 
	line  27:     "[emmc]"       unused   input  active-high 
	line  28:     "[emmc]"       unused   input  active-high 
	line  29:     "[emmc]"       unused   input  active-high 
	line  30:     "[emmc]"       unused   input  active-high 
	line  31:     "[emmc]"       unused   input  active-high 
gpiochip3 - 32 lines:
	line   0: "[ethernet]"       unused   input  active-high 
	line   1: "[ethernet]"       unused   input  active-high 
	line   2: "[ethernet]"       unused   input  active-high 
	line   3: "[ethernet]"       unused   input  active-high 
	line   4: "[ethernet]"       unused   input  active-high 
	line   5:     "[i2c0]"       unused   input  active-high 
	line   6:     "[i2c0]"       unused   input  active-high 
	line   7:      "[emu]"       unused   input  active-high 
	line   8:      "[emu]"       unused   input  active-high 
	line   9: "[ethernet]"       unused   input  active-high 
	line  10: "[ethernet]"       unused   input  active-high 
	line  11:       "[NC]"       unused   input  active-high 
	line  12:       "[NC]"       unused   input  active-high 
	line  13:      "[usb]"       unused   input  active-high 
	line  14: "P9_31 [spi1_sclk]" unused input active-high 
	line  15: "P9_29 [spi1_d0]" unused input active-high 
	line  16: "P9_30 [spi1_d1]" unused input active-high 
	line  17: "P9_28 [spi1_cs0]" unused input active-high 
	line  18: "P9_42B [ecappwm0]" unused input active-high 
	line  19:      "P9_27"       unused   input  active-high 
	line  20:     "P9_41A"       unused   input  active-high 
	line  21:      "P9_25"       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://git.io/JfgOd
[1] https://beagleboard.org/capes
[1] https://beagleboard.org/Support/bone101
[2] https://beagleboard.org/static/images/cape-headers.png

Reviewed-by: Jason Kridner <jason@beagleboard.org>
Reviewed-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Drew Fustini <drew@beagleboard.org>
---
V2 change:
- include output of gpioinfo to illustrate how the gpio-line-names
will appear. My apologies for forgetting to include in V1.

V1 note:
I had posted a patch with these line names for am335x-bone-common.dtsi
but Grygorii Strashko pointed out that the names are not applicable to
all BeagleBone models.  Thus I have created this patch to add these
names just for the BeagleBone Black.

 arch/arm/boot/dts/am335x-boneblack.dts | 144 +++++++++++++++++++++++++
 1 file changed, 144 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
index d3928662aed4..5f31e832eb82 100644
--- a/arch/arm/boot/dts/am335x-boneblack.dts
+++ b/arch/arm/boot/dts/am335x-boneblack.dts
@@ -23,3 +23,147 @@ oppnitro-1000000000 {
 		opp-supported-hw = <0x06 0x0100>;
 	};
 };
+
+&gpio0 {
+	gpio-line-names =
+		"[ethernet]",
+		"[ethernet]",
+		"P9_22 [spi0_sclk]",
+		"P9_21 [spi0_d0]",
+		"P9_18 [spi0_d1]",
+		"P9_17 [spi0_cs0]",
+		"[sd card]",
+		"P9_42A [ecappwm0]",
+		"P8_35 [hdmi]",
+		"P8_33 [hdmi]",
+		"P8_31 [hdmi]",
+		"P8_32 [hdmi]",
+		"P9_20 [i2c2_sda]",
+		"P9_19 [i2c2_scl]",
+		"P9_26 [uart1_rxd]",
+		"P9_24 [uart1_txd]",
+		"[ethernet]",
+		"[ethernet]",
+		"[usb]",
+		"[hdmi]",
+		"P9_41B",
+		"[ethernet]",
+		"P8_19 [ehrpwm2a]",
+		"P8_13 [ehrpwm2b]",
+		"[NC]",
+		"[NC]",
+		"P8_14",
+		"P8_17",
+		"[ethernet]",
+		"[ethernet]",
+		"P9_11 [uart4_rxd]",
+		"P9_13 [uart4_txd]";
+};
+
+&gpio1 {
+	gpio-line-names =
+		"P8_25 [emmc]",
+		"[emmc]",
+		"P8_5 [emmc]",
+		"P8_6 [emmc]",
+		"P8_23 [emmc]",
+		"P8_22 [emmc]",
+		"P8_3 [emmc]",
+		"P8_4 [emmc]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"P8_12",
+		"P8_11",
+		"P8_16",
+		"P8_15",
+		"P9_15A",
+		"P9_23",
+		"P9_14 [ehrpwm1a]",
+		"P9_16 [ehrpwm1b]",
+		"[emmc]",
+		"[usr0 led]",
+		"[usr1 led]",
+		"[usr2 led]",
+		"[usr3 led]",
+		"[hdmi]",
+		"[usb]",
+		"[hdmi audio]",
+		"P9_12",
+		"P8_26",
+		"P8_21 [emmc]",
+		"P8_20 [emmc]";
+};
+
+&gpio2 {
+	gpio-line-names =
+		"P9_15B",
+		"P8_18",
+		"P8_7",
+		"P8_8",
+		"P8_10",
+		"P8_9",
+		"P8_45 [hdmi]",
+		"P8_46 [hdmi]",
+		"P8_43 [hdmi]",
+		"P8_44 [hdmi]",
+		"P8_41 [hdmi]",
+		"P8_42 [hdmi]",
+		"P8_39 [hdmi]",
+		"P8_40 [hdmi]",
+		"P8_37 [hdmi]",
+		"P8_38 [hdmi]",
+		"P8_36 [hdmi]",
+		"P8_34 [hdmi]",
+		"[ethernet]",
+		"[ethernet]",
+		"[ethernet]",
+		"[ethernet]",
+		"P8_27 [hdmi]",
+		"P8_29 [hdmi]",
+		"P8_28 [hdmi]",
+		"P8_30 [hdmi]",
+		"[emmc]",
+		"[emmc]",
+		"[emmc]",
+		"[emmc]",
+		"[emmc]",
+		"[emmc]";
+};
+
+&gpio3 {
+	gpio-line-names =
+		"[ethernet]",
+		"[ethernet]",
+		"[ethernet]",
+		"[ethernet]",
+		"[ethernet]",
+		"[i2c0]",
+		"[i2c0]",
+		"[emu]",
+		"[emu]",
+		"[ethernet]",
+		"[ethernet]",
+		"[NC]",
+		"[NC]",
+		"[usb]",
+		"P9_31 [spi1_sclk]",
+		"P9_29 [spi1_d0]",
+		"P9_30 [spi1_d1]",
+		"P9_28 [spi1_cs0]",
+		"P9_42B [ecappwm0]",
+		"P9_27",
+		"P9_41A",
+		"P9_25",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]",
+		"[NC]";
+};
-- 
2.25.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] arm: dts: am335x-boneblack: add gpio-line-names
  2020-05-21 20:09 [PATCH v2] arm: dts: am335x-boneblack: add gpio-line-names Drew Fustini
@ 2020-05-28 13:16 ` Drew Fustini
  2020-05-29 17:21   ` Tony Lindgren
  0 siblings, 1 reply; 3+ messages in thread
From: Drew Fustini @ 2020-05-28 13:16 UTC (permalink / raw)
  To: Linus Walleij, Grygorii Strashko, Benoît Cousson,
	Tony Lindgren, Rob Herring, Linux-OMAP, devicetree, linux-kernel,
	Jason Kridner, Robert Nelson

On Thu, May 21, 2020 at 10:09:26PM +0200, Drew Fustini wrote:
> The BeagleBone Black has P8 and P9 headers [0] which expose many of the
> AM3358 ZCZ SoC balls to stacking expansion boards called "capes", or to
> other external connections like jumper wires connected to a breadboard.
> BeagleBone users will often refer to the "Cape Exanpsion Headers" pin
> diagram [1] as it is in the "Bone101" getting started tutorial. [2]
> 
> Most of the P8 and P9 header pins can muxed to a GPIO line.  The
> gpio-line-names describe which P8 or P9 pin that line goes to and the
> default mux for that P8 or P9 pin if it is not GPIO.
> 
> For example, gpiochip 1 line 0 is connected to P8 header pin 25 (P8_25)
> however the default device tree has the corresponding BGA ball (ZCZ U7)
> muxed to mmc1_dat0 as it is used for the on-board eMMC chip.  For that
> GPIO line to be used, one would need to modify the device tree to
> disable the eMMC and change the pin mux for that ball to GPIO mode.
> 
> Some of the AM3358 ZCZ balls corresponding to GPIO lines are not routed
> to a P8 or P9 header, but are instead wired to some peripheral device
> like on-board eMMC, HDMI framer IC, or status LEDs.  Those names are in
> brackets to denote those GPIO lines can not be used.
> 
> 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 P8 or P9 pin is connected to a
> GPIO line.  The output of gpioinfo on a BeagleBone Black would be:
> 
> gpiochip0 - 32 lines:
> 	line   0: "[ethernet]"       unused   input  active-high 
> 	line   1: "[ethernet]"       unused   input  active-high 
> 	line   2: "P9_22 [spi0_sclk]" unused input active-high 
> 	line   3: "P9_21 [spi0_d0]" unused input active-high 
> 	line   4: "P9_18 [spi0_d1]" unused input active-high 
> 	line   5: "P9_17 [spi0_cs0]" unused input active-high 
> 	line   6:  "[sd card]"         "cd"   input   active-low [used]
> 	line   7: "P9_42A [ecappwm0]" unused input active-high 
> 	line   8: "P8_35 [hdmi]" unused input active-high 
> 	line   9: "P8_33 [hdmi]" unused input active-high 
> 	line  10: "P8_31 [hdmi]" unused input active-high 
> 	line  11: "P8_32 [hdmi]" unused input active-high 
> 	line  12: "P9_20 [i2c2_sda]" unused input active-high 
> 	line  13: "P9_19 [i2c2_scl]" unused input active-high 
> 	line  14: "P9_26 [uart1_rxd]" unused input active-high 
> 	line  15: "P9_24 [uart1_txd]" unused input active-high 
> 	line  16: "[ethernet]"       unused   input  active-high 
> 	line  17: "[ethernet]"       unused   input  active-high 
> 	line  18:      "[usb]"       unused   input  active-high 
> 	line  19:     "[hdmi]"       unused   input  active-high 
> 	line  20:     "P9_41B"       unused   input  active-high 
> 	line  21: "[ethernet]"       unused   input  active-high 
> 	line  22: "P8_19 [ehrpwm2a]" unused input active-high 
> 	line  23: "P8_13 [ehrpwm2b]" unused input active-high 
> 	line  24:       "[NC]"       unused   input  active-high 
> 	line  25:       "[NC]"       unused   input  active-high 
> 	line  26:      "P8_14"       unused   input  active-high 
> 	line  27:      "P8_17"       unused   input  active-high 
> 	line  28: "[ethernet]"       unused   input  active-high 
> 	line  29: "[ethernet]"       unused   input  active-high 
> 	line  30: "P9_11 [uart4_rxd]" unused input active-high 
> 	line  31: "P9_13 [uart4_txd]" unused input active-high 
> gpiochip1 - 32 lines:
> 	line   0: "P8_25 [emmc]" unused input active-high 
> 	line   1:     "[emmc]"       unused   input  active-high 
> 	line   2: "P8_5 [emmc]" unused input active-high 
> 	line   3: "P8_6 [emmc]" unused input active-high 
> 	line   4: "P8_23 [emmc]" unused input active-high 
> 	line   5: "P8_22 [emmc]" unused input active-high 
> 	line   6: "P8_3 [emmc]" unused input active-high 
> 	line   7: "P8_4 [emmc]" 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:      "P8_12"       unused   input  active-high 
> 	line  13:      "P8_11"       unused   input  active-high 
> 	line  14:      "P8_16"       unused   input  active-high 
> 	line  15:      "P8_15"       unused   input  active-high 
> 	line  16:     "P9_15A"       unused   input  active-high 
> 	line  17:      "P9_23"       unused   input  active-high 
> 	line  18: "P9_14 [ehrpwm1a]" unused input active-high 
> 	line  19: "P9_16 [ehrpwm1b]" unused input active-high 
> 	line  20:     "[emmc]"       unused   input  active-high 
> 	line  21: "[usr0 led]" "beaglebone:green:heartbeat" output active-high [used]
> 	line  22: "[usr1 led]" "beaglebone:green:mmc0" output active-high [used]
> 	line  23: "[usr2 led]" "beaglebone:green:usr2" output active-high [used]
> 	line  24: "[usr3 led]" "beaglebone:green:usr3" output active-high [used]
> 	line  25:     "[hdmi]"  "interrupt"   input  active-high [used]
> 	line  26:      "[usb]"       unused   input  active-high 
> 	line  27: "[hdmi audio]" "enable" output active-high [used]
> 	line  28:      "P9_12"       unused   input  active-high 
> 	line  29:      "P8_26"       unused   input  active-high 
> 	line  30: "P8_21 [emmc]" unused input active-high 
> 	line  31: "P8_20 [emmc]" unused input active-high 
> gpiochip2 - 32 lines:
> 	line   0:     "P9_15B"       unused   input  active-high 
> 	line   1:      "P8_18"       unused   input  active-high 
> 	line   2:       "P8_7"       unused   input  active-high 
> 	line   3:       "P8_8"       unused   input  active-high 
> 	line   4:      "P8_10"       unused   input  active-high 
> 	line   5:       "P8_9"       unused   input  active-high 
> 	line   6: "P8_45 [hdmi]" unused input active-high 
> 	line   7: "P8_46 [hdmi]" unused input active-high 
> 	line   8: "P8_43 [hdmi]" unused input active-high 
> 	line   9: "P8_44 [hdmi]" unused input active-high 
> 	line  10: "P8_41 [hdmi]" unused input active-high 
> 	line  11: "P8_42 [hdmi]" unused input active-high 
> 	line  12: "P8_39 [hdmi]" unused input active-high 
> 	line  13: "P8_40 [hdmi]" unused input active-high 
> 	line  14: "P8_37 [hdmi]" unused input active-high 
> 	line  15: "P8_38 [hdmi]" unused input active-high 
> 	line  16: "P8_36 [hdmi]" unused input active-high 
> 	line  17: "P8_34 [hdmi]" unused input active-high 
> 	line  18: "[ethernet]"       unused   input  active-high 
> 	line  19: "[ethernet]"       unused   input  active-high 
> 	line  20: "[ethernet]"       unused   input  active-high 
> 	line  21: "[ethernet]"       unused   input  active-high 
> 	line  22: "P8_27 [hdmi]" unused input active-high 
> 	line  23: "P8_29 [hdmi]" unused input active-high 
> 	line  24: "P8_28 [hdmi]" unused input active-high 
> 	line  25: "P8_30 [hdmi]" unused input active-high 
> 	line  26:     "[emmc]"       unused   input  active-high 
> 	line  27:     "[emmc]"       unused   input  active-high 
> 	line  28:     "[emmc]"       unused   input  active-high 
> 	line  29:     "[emmc]"       unused   input  active-high 
> 	line  30:     "[emmc]"       unused   input  active-high 
> 	line  31:     "[emmc]"       unused   input  active-high 
> gpiochip3 - 32 lines:
> 	line   0: "[ethernet]"       unused   input  active-high 
> 	line   1: "[ethernet]"       unused   input  active-high 
> 	line   2: "[ethernet]"       unused   input  active-high 
> 	line   3: "[ethernet]"       unused   input  active-high 
> 	line   4: "[ethernet]"       unused   input  active-high 
> 	line   5:     "[i2c0]"       unused   input  active-high 
> 	line   6:     "[i2c0]"       unused   input  active-high 
> 	line   7:      "[emu]"       unused   input  active-high 
> 	line   8:      "[emu]"       unused   input  active-high 
> 	line   9: "[ethernet]"       unused   input  active-high 
> 	line  10: "[ethernet]"       unused   input  active-high 
> 	line  11:       "[NC]"       unused   input  active-high 
> 	line  12:       "[NC]"       unused   input  active-high 
> 	line  13:      "[usb]"       unused   input  active-high 
> 	line  14: "P9_31 [spi1_sclk]" unused input active-high 
> 	line  15: "P9_29 [spi1_d0]" unused input active-high 
> 	line  16: "P9_30 [spi1_d1]" unused input active-high 
> 	line  17: "P9_28 [spi1_cs0]" unused input active-high 
> 	line  18: "P9_42B [ecappwm0]" unused input active-high 
> 	line  19:      "P9_27"       unused   input  active-high 
> 	line  20:     "P9_41A"       unused   input  active-high 
> 	line  21:      "P9_25"       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://git.io/JfgOd
> [1] https://beagleboard.org/capes
> [1] https://beagleboard.org/Support/bone101
> [2] https://beagleboard.org/static/images/cape-headers.png
> 
> Reviewed-by: Jason Kridner <jason@beagleboard.org>
> Reviewed-by: Robert Nelson <robertcnelson@gmail.com>
> Signed-off-by: Drew Fustini <drew@beagleboard.org>
> ---
> V2 change:
> - include output of gpioinfo to illustrate how the gpio-line-names
> will appear. My apologies for forgetting to include in V1.
> 
> V1 note:
> I had posted a patch with these line names for am335x-bone-common.dtsi
> but Grygorii Strashko pointed out that the names are not applicable to
> all BeagleBone models.  Thus I have created this patch to add these
> names just for the BeagleBone Black.
> 
>  arch/arm/boot/dts/am335x-boneblack.dts | 144 +++++++++++++++++++++++++
>  1 file changed, 144 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
> index d3928662aed4..5f31e832eb82 100644
> --- a/arch/arm/boot/dts/am335x-boneblack.dts
> +++ b/arch/arm/boot/dts/am335x-boneblack.dts
> @@ -23,3 +23,147 @@ oppnitro-1000000000 {
>  		opp-supported-hw = <0x06 0x0100>;
>  	};
>  };
> +
> +&gpio0 {
> +	gpio-line-names =
> +		"[ethernet]",
> +		"[ethernet]",
> +		"P9_22 [spi0_sclk]",
> +		"P9_21 [spi0_d0]",
> +		"P9_18 [spi0_d1]",
> +		"P9_17 [spi0_cs0]",
> +		"[sd card]",
> +		"P9_42A [ecappwm0]",
> +		"P8_35 [hdmi]",
> +		"P8_33 [hdmi]",
> +		"P8_31 [hdmi]",
> +		"P8_32 [hdmi]",
> +		"P9_20 [i2c2_sda]",
> +		"P9_19 [i2c2_scl]",
> +		"P9_26 [uart1_rxd]",
> +		"P9_24 [uart1_txd]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[usb]",
> +		"[hdmi]",
> +		"P9_41B",
> +		"[ethernet]",
> +		"P8_19 [ehrpwm2a]",
> +		"P8_13 [ehrpwm2b]",
> +		"[NC]",
> +		"[NC]",
> +		"P8_14",
> +		"P8_17",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"P9_11 [uart4_rxd]",
> +		"P9_13 [uart4_txd]";
> +};
> +
> +&gpio1 {
> +	gpio-line-names =
> +		"P8_25 [emmc]",
> +		"[emmc]",
> +		"P8_5 [emmc]",
> +		"P8_6 [emmc]",
> +		"P8_23 [emmc]",
> +		"P8_22 [emmc]",
> +		"P8_3 [emmc]",
> +		"P8_4 [emmc]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"P8_12",
> +		"P8_11",
> +		"P8_16",
> +		"P8_15",
> +		"P9_15A",
> +		"P9_23",
> +		"P9_14 [ehrpwm1a]",
> +		"P9_16 [ehrpwm1b]",
> +		"[emmc]",
> +		"[usr0 led]",
> +		"[usr1 led]",
> +		"[usr2 led]",
> +		"[usr3 led]",
> +		"[hdmi]",
> +		"[usb]",
> +		"[hdmi audio]",
> +		"P9_12",
> +		"P8_26",
> +		"P8_21 [emmc]",
> +		"P8_20 [emmc]";
> +};
> +
> +&gpio2 {
> +	gpio-line-names =
> +		"P9_15B",
> +		"P8_18",
> +		"P8_7",
> +		"P8_8",
> +		"P8_10",
> +		"P8_9",
> +		"P8_45 [hdmi]",
> +		"P8_46 [hdmi]",
> +		"P8_43 [hdmi]",
> +		"P8_44 [hdmi]",
> +		"P8_41 [hdmi]",
> +		"P8_42 [hdmi]",
> +		"P8_39 [hdmi]",
> +		"P8_40 [hdmi]",
> +		"P8_37 [hdmi]",
> +		"P8_38 [hdmi]",
> +		"P8_36 [hdmi]",
> +		"P8_34 [hdmi]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"P8_27 [hdmi]",
> +		"P8_29 [hdmi]",
> +		"P8_28 [hdmi]",
> +		"P8_30 [hdmi]",
> +		"[emmc]",
> +		"[emmc]",
> +		"[emmc]",
> +		"[emmc]",
> +		"[emmc]",
> +		"[emmc]";
> +};
> +
> +&gpio3 {
> +	gpio-line-names =
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[i2c0]",
> +		"[i2c0]",
> +		"[emu]",
> +		"[emu]",
> +		"[ethernet]",
> +		"[ethernet]",
> +		"[NC]",
> +		"[NC]",
> +		"[usb]",
> +		"P9_31 [spi1_sclk]",
> +		"P9_29 [spi1_d0]",
> +		"P9_30 [spi1_d1]",
> +		"P9_28 [spi1_cs0]",
> +		"P9_42B [ecappwm0]",
> +		"P9_27",
> +		"P9_41A",
> +		"P9_25",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]",
> +		"[NC]";
> +};
> -- 
> 2.25.1
> 


FYI - Linus W. provided an Acked-by in related thread [0].

Anyone else have any review comments?

thank you,
drew

[0] https://lore.kernel.org/linux-devicetree/CACRpkdZLRjcE0FGwVR-Q7a50aEmpB=xO4q6H8_EaV199fGr0OA@mail.gmail.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] arm: dts: am335x-boneblack: add gpio-line-names
  2020-05-28 13:16 ` Drew Fustini
@ 2020-05-29 17:21   ` Tony Lindgren
  0 siblings, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2020-05-29 17:21 UTC (permalink / raw)
  To: Drew Fustini
  Cc: Linus Walleij, Grygorii Strashko, Benoît Cousson,
	Rob Herring, Linux-OMAP, devicetree, linux-kernel, Jason Kridner,
	Robert Nelson

* Drew Fustini <drew@beagleboard.org> [200528 13:17]:
> FYI - Linus W. provided an Acked-by in related thread [0].
> 
> Anyone else have any review comments?

Looks good to me thanks. But as the merge window is about
to open, let's do fixes only at this point and leave this
for v5.9.

Regards,

Tony


> 
> [0] https://lore.kernel.org/linux-devicetree/CACRpkdZLRjcE0FGwVR-Q7a50aEmpB=xO4q6H8_EaV199fGr0OA@mail.gmail.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-21 20:09 [PATCH v2] arm: dts: am335x-boneblack: add gpio-line-names Drew Fustini
2020-05-28 13:16 ` Drew Fustini
2020-05-29 17:21   ` Tony Lindgren

Linux-OMAP Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-omap/0 linux-omap/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-omap linux-omap/ https://lore.kernel.org/linux-omap \
		linux-omap@vger.kernel.org
	public-inbox-index linux-omap

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-omap


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git