openwrt/target/linux/omap/patches-6.6/900-use-cpsw-ethernet-driver.patch
Andre Heider 4927d0f285 omap: adapt to the new dts directory layout.
.dts files were moved to the 'ti/omap' sub-directory.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-16 00:19:49 +02:00

94 lines
2.1 KiB
Diff

From: Jan Hoffmann <jan@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@3e8.eu>
---
--- a/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
@@ -358,27 +358,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@0 {
reg = <0>;
--- a/arch/arm/boot/dts/ti/omap/am335x-evm.dts
+++ b/arch/arm/boot/dts/ti/omap/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 = <&ethphy0>;
phy-mode = "rgmii-id";
- ti,dual-emac-pvid = <1>;
-};
-
-&cpsw_port2 {
- status = "disabled";
};
&tscadc {