-
-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
omap: add support for kernel 5.15 #11953
Comments
I faced the same issue on Century Systems MA-E350/N and I set the higher pvid (ex.: 4000) to ethernet ports in dts as a workaround. |
The problem is the dual-emac features. It requires assigning each port a pvid, even when only using a single port. The pvid is used to differentiate the incoming packets by assigning each port a vlan pvid. The pvid which is used by each port can be set via the dts property ti,dual-emac-pvid. Maybe a solution for single port device can skip this. In cpsw_ndo_vlan_rx_add_vid():462 it goes into a for loop.
|
Switch to kernel 5.15 although it is marked as source only. It is marked as source only because the eth0 interface can't be added to the br-lan default interface resulting in a broken ethernet [0]. There is a workaround to set a higher pvd (e.g. to 4000) in the dts [1]. Other functionality was already tested on a Beaglebone Black for +6month now without issues. Merging this is important to finally branch a new release. We want to get rid completely of 5.10 kernel. Without this commit we get following error: "Missing kernel version/hash file for 5.10." Hopfully someone will fix the board in the rc phase. - [0] openwrt#11953 - [1] openwrt#11953 (comment) Signed-off-by: Alexey Smirnov <s.alexey@gmail.com> [rewrite commit message] Signed-off-by: Nick Hainke <vincent@systemli.org>
Switch to kernel 5.15 although it is marked as source only. It is marked as source only because the eth0 interface can't be added to the br-lan default interface resulting in a broken ethernet [0]. There is a workaround to set a higher pvd (e.g. to 4000) in the dts [1]. Other functionality was already tested on a Beaglebone Black for +6month now without issues. Merging this is important to finally branch a new release. We want to get rid completely of 5.10 kernel. Without this commit we get following error: "Missing kernel version/hash file for 5.10." Hopfully someone will fix the board in the rc phase. - [0] openwrt#11953 - [1] openwrt#11953 (comment) Signed-off-by: Alexey Smirnov <s.alexey@gmail.com> [rewrite commit message] Signed-off-by: Nick Hainke <vincent@systemli.org>
There is some information about the network issue in the kernel documentation of the new There are two ways to make this work using just device tree changes:
Both approaches work fine on a Beaglebone Black here. If something like that would be an acceptable solution to activate the target again, I can prepare a proper patch. Here are the patches I used for testing: Kernel patch to change reserved vlan--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -356,7 +356,7 @@
&cpsw_port1 {
phy-handle = <ðphy0>;
phy-mode = "mii";
- ti,dual-emac-pvid = <1>;
+ ti,dual-emac-pvid = <4094>;
};
&cpsw_port2 {
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -704,7 +704,7 @@
&cpsw_port1 {
phy-handle = <ðphy0>;
phy-mode = "rgmii-id";
- ti,dual-emac-pvid = <1>;
+ ti,dual-emac-pvid = <4094>;
};
&cpsw_port2 { Kernel patch to switch to old driver--- 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
@@ -684,31 +684,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 { (Theoretically, another option might be to reconfigure the |
Describe the bug
Bugs to kernel 5.15:
The eth0 interface can't be added to the br-lan default interface resulting in a broken ethernet.
Assign an ip or setting the lan interface direct to eth0 works.
OpenWrt version
master
OpenWrt target/subtarget
omap
Device
beaglebone black
Image kind
Self-built image
Steps to reproduce
No response
Actual behaviour
No response
Expected behaviour
No response
Additional info
No response
Diffconfig
No response
Terms
The text was updated successfully, but these errors were encountered: