Skip to contentSkip to conversation

arm:dts: am3517-evm: Fix LED3/4 pinmux

PATCH Superseded Adam Ford 3 participants 6 messages Sep 7, 2023

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Adam Ford

author
#0 lore raw

PATCH 1/2 arm:dts: am3517-evm: Fix LED3/4 pinmux

The pinmux for LED3 and LED4 are incorrectly attached to the omap3_pmx_core when they should be connected to the omap3_pmx_wkup pin mux. This was likely masked by the fact that the bootloader used to do all the pinmuxing.

Fixes 0dbf99542caf ("ARM: dts: am3517-evm: Add User LEDs and Pushbutton")

---
This likely cannot apply to the original series, because the file has moved. I can generate a separate patch for the pre-move device trees if necesssary. The original location was:
arch/arm/boot/dts/am3517-evm.dts

arch/arm/boot/dts/ti/omap/am3517-evm.dts +9 -7
index af9df15274be..738189ddc8d5 100644
@@ -271,13 +271,6 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c3_sda */
 		>;
 	};
 
-	leds_pins: leds-pins {
-		pinctrl-single,pins = <
-			OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu0.gpio_11 */
-			OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu1.gpio_31 */
-		>;
-	};
-
 	mmc1_pins: mmc1-pins {
 		pinctrl-single,pins = <
 			OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_clk.sdmmc1_clk */
@@ -355,3 +348,12 @@ OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3)	/* etk_d3.hsusb1_data7 */
 		>;
 	};
 };
+
+&omap3_pmx_wkup {
+	leds_pins: pinmux_leds_pins {
+		pinctrl-single,pins = <
+			OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu0.gpio_11 */
+			OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu1.gpio_31 */
+		>;
+	};
+};
Signature · 1 line
2.39.2
author
#1 lore raw

PATCH 2/2 arm: dts: am3517-evm: Enable Ethernet PHY Interrupt

The Ethernet PHY interrupt pin is routed to GPIO_58. Create a PHY node to configure this GPIO for the interrupt to avoid polling.

arch/arm/boot/dts/ti/omap/am3517-evm.dts +19 -0
index 738189ddc8d5..19869ef906a8 100644
@@ -172,11 +172,24 @@ hsusb1_phy: hsusb1_phy {
 &davinci_emac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&ethernet_pins>;
+	phy-mode = "rmii";
+	phy-handle = <&ethphy0>;
 	status = "okay";
 };
 
 &davinci_mdio {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
+
+	ethphy0: ethernet-phy@0 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&enet_phy_pins>;
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0>;
+		interrupt-parent = <&gpio2>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;	/* gpio_58 */
+	};
 };
 
 &dss {
@@ -257,6 +270,12 @@ OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50mhz_clk */
 		>;
 	};
 
+	enet_phy_pins: pinmux_ent_phy_pins {
+		pinctrl-single,pins = <
+			OMAP3_CORE1_IOPAD(0x20bc, PIN_INPUT | MUX_MODE4)	/* gpmc_ncs7.gpio_57 */
+		>;
+	};
+
 	i2c2_pins: i2c2-pins {
 		pinctrl-single,pins = <
 			OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c2_scl */
Signature · 1 line
2.39.2
#2 lore raw

Re: [PATCH 2/2] arm: dts: am3517-evm: Enable Ethernet PHY Interrupt

Quoted 35 lines · Adam Ford

The Ethernet PHY interrupt pin is routed to GPIO_58. Create a PHY node to configure this GPIO for the interrupt to avoid polling.

arch/arm/boot/dts/ti/omap/am3517-evm.dts +13 -0
index 738189ddc8d5..19869ef906a8 100644
@@ -172,11 +172,24 @@ hsusb1_phy: hsusb1_phy {
 &davinci_emac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&ethernet_pins>;
+	phy-mode = "rmii";
+	phy-handle = <&ethphy0>;
 	status = "okay";
 };
 
 &davinci_mdio {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
+
+	ethphy0: ethernet-phy@0 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&enet_phy_pins>;
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0>;
+		interrupt-parent = <&gpio2>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;	/* gpio_58 */
+	};
 };
 
 &dss {

arch/arm/boot/dts/ti/omap/am3517-evm.dts OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50mhz_clk */ · line 273

Quoted 4 lines
arch/arm/boot/dts/ti/omap/am3517-evm.dts +1 -0
@@ -257,6 +270,12 @@ OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50mhz_clk */
 		>;
 	};
 
+	enet_phy_pins: pinmux_ent_phy_pins {

Nope. This looks like pasted from some old downstream tree. Please rewrite downstream code to match upstream.

Best regards,
Krzysztof

#3 lore raw
In reply to Adam Ford
Quoted 32 lines · Adam Ford

The pinmux for LED3 and LED4 are incorrectly attached to the omap3_pmx_core when they should be connected to the omap3_pmx_wkup pin mux. This was likely masked by the fact that the bootloader used to do all the pinmuxing.

Fixes 0dbf99542caf ("ARM: dts: am3517-evm: Add User LEDs and Pushbutton")

---
This likely cannot apply to the original series, because the file has moved. I can generate a separate patch for the pre-move device trees if necesssary. The original location was:
arch/arm/boot/dts/am3517-evm.dts

arch/arm/boot/dts/ti/omap/am3517-evm.dts +0 -7
index af9df15274be..738189ddc8d5 100644
@@ -271,13 +271,6 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c3_sda */
 		>;
 	};
 
-	leds_pins: leds-pins {
-		pinctrl-single,pins = <
-			OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu0.gpio_11 */
-			OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu1.gpio_31 */
-		>;
-	};
-
 	mmc1_pins: mmc1-pins {
 		pinctrl-single,pins = <
 			OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_clk.sdmmc1_clk */

arch/arm/boot/dts/ti/omap/am3517-evm.dts OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3) /* etk_d3.hsusb1_data7 */ · line 353

Quoted 6 lines
arch/arm/boot/dts/ti/omap/am3517-evm.dts +3 -0
@@ -355,3 +348,12 @@ OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3)	/* etk_d3.hsusb1_data7 */
 		>;
 	};
 };
+
+&omap3_pmx_wkup {
+	leds_pins: pinmux_leds_pins {

Come on... why moving it and changing the name to incorrect one? Isn't a move cut-paste?

Best regards,
Krzysztof

maintainer
#4 lore raw
Quoted 11 lines · Krzysztof Kozlowski

arch/arm/boot/dts/ti/omap/am3517-evm.dts OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3) /* etk_d3.hsusb1_data7 */ · line 353

Quoted 7 lines · Adam Ford
arch/arm/boot/dts/ti/omap/am3517-evm.dts +3 -0
@@ -355,3 +348,12 @@ OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3)	/* etk_d3.hsusb1_data7 */
 		>;
 	};
 };
+
+&omap3_pmx_wkup {
+	leds_pins: pinmux_leds_pins {

Come on... why moving it and changing the name to incorrect one? Isn't a move cut-paste?

Just wondering/hoping.. Are you now able to automatically catch patches that produce make dtbs_check warnings for node names for pinctrl-single?

Regards,

Tony

author
#5 lore raw
In reply to Krzysztof Kozlowski
Quoted 35 lines · Krzysztof Kozlowski
Quoted 33 lines · Adam Ford

The pinmux for LED3 and LED4 are incorrectly attached to the omap3_pmx_core when they should be connected to the omap3_pmx_wkup pin mux. This was likely masked by the fact that the bootloader used to do all the pinmuxing.

Fixes 0dbf99542caf ("ARM: dts: am3517-evm: Add User LEDs and Pushbutton")

---
This likely cannot apply to the original series, because the file has moved. I can generate a separate patch for the pre-move device trees if necesssary. The original location was:
arch/arm/boot/dts/am3517-evm.dts

arch/arm/boot/dts/ti/omap/am3517-evm.dts +0 -7
index af9df15274be..738189ddc8d5 100644
@@ -271,13 +271,6 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c3_sda */
              >;
      };
 
-     leds_pins: leds-pins {
-             pinctrl-single,pins = <
-                     OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu0.gpio_11 */
-                     OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu1.gpio_31 */
-             >;
-     };
-
      mmc1_pins: mmc1-pins {
              pinctrl-single,pins = <
                      OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
@@ -355,3 +348,12 @@ OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3)      /* etk_d3.hsusb1_data7 */
              >;
Quoted 8 lines

arch/arm/boot/dts/ti/omap/am3517-evm.dts OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3) /* etk_d3.hsusb1_data7 */ · line 353

Quoted 5 lines
arch/arm/boot/dts/ti/omap/am3517-evm.dts +3 -0
      };
 };
+
+&omap3_pmx_wkup {
+     leds_pins: pinmux_leds_pins {

Come on... why moving it and changing the name to incorrect one? Isn't a move cut-paste?

I applied a patch from an older branch, so I didn't notice the name convention changed. Sorry about that. I'll re-spin both patches with the pin-mux naming conventions fixed.

adam

Quoted 4 lines

Best regards,
Krzysztof