|
|
@@ -0,0 +1,93 @@
|
|
|
+From: Jan Hoffmann <[email protected]>
|
|
|
+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 <[email protected]>
|
|
|
+---
|
|
|
+
|
|
|
+--- 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 = <ðphy0>;
|
|
|
+ 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@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@0 {
|
|
|
+ reg = <0>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+-&cpsw_port1 {
|
|
|
++&cpsw_emac0 {
|
|
|
+ phy-handle = <ðphy0>;
|
|
|
+ phy-mode = "rgmii-id";
|
|
|
+- ti,dual-emac-pvid = <1>;
|
|
|
+-};
|
|
|
+-
|
|
|
+-&cpsw_port2 {
|
|
|
+- status = "disabled";
|
|
|
+ };
|
|
|
+
|
|
|
+ &tscadc {
|