[openwrt/openwrt] omap: switch back to old cpsw ethernet driver

LEDE Commits lede-commits at lists.infradead.org
Wed Jul 17 14:28:41 PDT 2024


lynxis pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/0641967458a587033390c7d33dbaf715125b2242

commit 0641967458a587033390c7d33dbaf715125b2242
Author: Jan Hoffmann <jan at 3e8.eu>
AuthorDate: Sat Jul 13 14:49:08 2024 +0200

    omap: switch back to old cpsw ethernet driver
    
    The new cpsw-switch driver reserves VLAN 1 for internal use, which
    conflicts with the default network configuration of OpenWrt.
    
    Switch back to the older cpsw driver to make the network connection on
    the affected devices (BeagleBone Black and AM335x EVM) usable again.
    
    Signed-off-by: Jan Hoffmann <jan at 3e8.eu>
---
 .../patches/900-use-cpsw-ethernet-driver.patch     | 93 ++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/target/linux/omap/patches/900-use-cpsw-ethernet-driver.patch b/target/linux/omap/patches/900-use-cpsw-ethernet-driver.patch
new file mode 100644
index 0000000000..17c07fbdfb
--- /dev/null
+++ b/target/linux/omap/patches/900-use-cpsw-ethernet-driver.patch
@@ -0,0 +1,93 @@
+From: Jan Hoffmann <jan at 3e8.eu>
+Date: Sat, 27 Apr 2024 20:41:43 +0200
+Subject: ARM: dts: Use cpsw ethernet driver for some am335x devices
+
+The new cpsw-switch driver requires a vid for every port which is
+reserved for internal usage (defaulting to 1 and 2). As a result, some
+network configurations are impossible, such as a bridge with
+default_pvid of 1 (even if it is not vlan aware).
+
+As a simple workaround, the ti,dual-emac-pvid property could be changed
+to another value, but that would just shift the problem. Instead, switch
+some devices back to the older cpsw ethernet driver.
+
+(This patch is not suitable for upstreaming, it just makes the affected
+devices in OpenWrt usable again with the default network config.)
+
+Signed-off-by: Jan Hoffmann <jan at 3e8.eu>
+---
+
+--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
++++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
+@@ -353,27 +353,24 @@
+ 	};
+ };
+ 
+-&cpsw_port1 {
++&cpsw_emac0 {
+ 	phy-handle = <&ethphy0>;
+ 	phy-mode = "mii";
+-	ti,dual-emac-pvid = <1>;
+ };
+ 
+-&cpsw_port2 {
+-	status = "disabled";
+-};
+-
+-&mac_sw {
++&mac {
++	slaves = <1>;
+ 	pinctrl-names = "default", "sleep";
+ 	pinctrl-0 = <&cpsw_default>;
+ 	pinctrl-1 = <&cpsw_sleep>;
+ 	status = "okay";
+ };
+ 
+-&davinci_mdio_sw {
++&davinci_mdio {
+ 	pinctrl-names = "default", "sleep";
+ 	pinctrl-0 = <&davinci_mdio_default>;
+ 	pinctrl-1 = <&davinci_mdio_sleep>;
++	status = "okay";
+ 
+ 	ethphy0: ethernet-phy at 0 {
+ 		reg = <0>;
+--- a/arch/arm/boot/dts/am335x-evm.dts
++++ b/arch/arm/boot/dts/am335x-evm.dts
+@@ -682,31 +682,28 @@
+ 	};
+ };
+ 
+-&mac_sw {
++&mac {
++	slaves = <1>;
+ 	pinctrl-names = "default", "sleep";
+ 	pinctrl-0 = <&cpsw_default>;
+ 	pinctrl-1 = <&cpsw_sleep>;
+ 	status = "okay";
+ };
+ 
+-&davinci_mdio_sw {
++&davinci_mdio {
+ 	pinctrl-names = "default", "sleep";
+ 	pinctrl-0 = <&davinci_mdio_default>;
+ 	pinctrl-1 = <&davinci_mdio_sleep>;
++	status = "okay";
+ 
+ 	ethphy0: ethernet-phy at 0 {
+ 		reg = <0>;
+ 	};
+ };
+ 
+-&cpsw_port1 {
++&cpsw_emac0 {
+ 	phy-handle = <&ethphy0>;
+ 	phy-mode = "rgmii-id";
+-	ti,dual-emac-pvid = <1>;
+-};
+-
+-&cpsw_port2 {
+-	 status = "disabled";
+ };
+ 
+ &tscadc {




More information about the lede-commits mailing list