lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200508165821.GA14555@x1>
Date:   Fri, 8 May 2020 18:58:21 +0200
From:   Drew Fustini <drew@...gleboard.org>
To:     Grygorii Strashko <grygorii.strashko@...com>,
        BenoƮt Cousson <bcousson@...libre.com>,
        Tony Lindgren <tony@...mide.com>,
        Rob Herring <robh+dt@...nel.org>, linux-omap@...r.kernel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
        Jason Kridner <jkridner@...gleboard.org>,
        Robert Nelson <robertcnelson@...gleboard.org>
Subject: [PATCH] arm: dts: am33xx-bone-common: add gpio-line-names

Add gpio-line-names properties to the gpio controller nodes.
BeagleBone boards have P8 and P9 headers [0] which expose many the
AM3358 SoC balls to stacking expansion boards called "capes", or to
other external connections like jumper wires to a breadboard.

Many of the P8/P9 header pins can muxed to a gpio line.  The
gpio-line-names describe which P8/P9 pin that line goes to and the
default mux for that P8/P9 pin.  Some lines are not routed to the
P8/P9 headers, but instead are dedicated to some functionality such as
status LEDs.  The line name will indicate this.  Some line names are
left empty as the corresponding AM3358 balls are not connected.

The goal is to make it easier for a user viewing the output of gpioinfo
to determine which P8/P9 pin is connected to a line.  The output of
gpioinfo on a BeagleBone Black will now look like this:

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 gpio" 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:      unnamed       unused   input  active-high
	line  25:      unnamed       unused   input  active-high
	line  26: "P8_14 gpio"       unused   input  active-high
	line  27: "P8_17 gpio"       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:      unnamed       unused   input  active-high
	line   9:      unnamed       unused   input  active-high
	line  10:      unnamed       unused   input  active-high
	line  11:      unnamed       unused   input  active-high
	line  12: "P8_12 gpio"       unused   input  active-high
	line  13: "P8_11 gpio"       unused   input  active-high
	line  14: "P8_16 gpio"       unused   input  active-high
	line  15: "P8_15 gpio"       unused   input  active-high
	line  16: "P9_15A gpio" unused input active-high
	line  17: "P9_23 gpio"       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:heart" 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 gpio"       unused   input  active-high
	line  29: "P8_26 gpio"       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 gpio" unused input active-high
	line   1: "P8_18 gpio"       unused   input  active-high
	line   2:  "P8_7 gpio"       unused   input  active-high
	line   3:  "P8_8 gpio"       unused   input  active-high
	line   4: "P8_10 gpio"       unused   input  active-high
	line   5:  "P8_9 gpio"       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:      unnamed       unused   input  active-high
	line  12:      unnamed       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 gpio"       unused   input  active-high
	line  20: "P9_41A gpio" unused input active-high
	line  21: "P9_25 gpio"       unused   input  active-high
	line  22:      unnamed       unused   input  active-high
	line  23:      unnamed       unused   input  active-high
	line  24:      unnamed       unused   input  active-high
	line  25:      unnamed       unused   input  active-high
	line  26:      unnamed       unused   input  active-high
	line  27:      unnamed       unused   input  active-high
	line  28:      unnamed       unused   input  active-high
	line  29:      unnamed       unused   input  active-high
	line  30:      unnamed       unused   input  active-high
	line  31:      unnamed       unused   input  active-high

[0] https://beagleboard.org/Support/bone101
[1] https://beagleboard.org/capes

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

diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index 6c9187bc0f17..defdf68edb58 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -397,3 +397,147 @@
 	clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
 	clock-names = "ext-clk", "int-clk";
 };
+
+&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 gpio",
+		"ethernet",
+		"P8_19 ehrpwm2a",
+		"P8_13 ehrpwm2b",
+		"",
+		"",
+		"P8_14 gpio",
+		"P8_17 gpio",
+		"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",
+		"",
+		"",
+		"",
+		"",
+		"P8_12 gpio",
+		"P8_11 gpio",
+		"P8_16 gpio",
+		"P8_15 gpio",
+		"P9_15A gpio",
+		"P9_23 gpio",
+		"P9_14 ehrpwm1a",
+		"P9_16 ehrpwm1b",
+		"emmc",
+		"usr0 led",
+		"usr1 led",
+		"usr2 led",
+		"usr3 led",
+		"hdmi",
+		"usb",
+		"hdmi audio",
+		"P9_12 gpio",
+		"P8_26 gpio",
+		"P8_21 emmc",
+		"P8_20 emmc";
+};
+
+&gpio2 {
+	gpio-line-names =
+		"P9_15B gpio",
+		"P8_18 gpio",
+		"P8_7 gpio",
+		"P8_8 gpio",
+		"P8_10 gpio",
+		"P8_9 gpio",
+		"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",
+		"",
+		"",
+		"usb",
+		"P9_31 spi1_sclk",
+		"P9_29 spi1_d0",
+		"P9_30 spi1_d1",
+		"P9_28 spi1_cs0",
+		"P9_42B ecappwm0",
+		"P9_27 gpio",
+		"P9_41A gpio",
+		"P9_25 gpio",
+		"",
+		"",
+		"",
+		"",
+		"",
+		"",
+		"",
+		"",
+		"",
+		"";
+};
-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ