ipq806x: make use of ASCII env NVMEM driver for Linksys EAX devices main master
authorChristian Marangi <ansuelsmth@gmail.com>
Mon, 3 Feb 2025 00:11:37 +0000 (01:11 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 3 Feb 2025 00:54:26 +0000 (01:54 +0100)
Make use of ASCII env NVMEM driver for Linksys EAX devices. This also
fix a problem with Linksys EAX devices where the 2 MAC interface had the
same MAC address causing a conflicts with FDB entry. This got much more
present with the DSA conversion making the system not usable.

To fix this, increment + 1 the MAC address for the WAN interface.

Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/ipq806x/base-files/etc/board.d/02_network
target/linux/ipq806x/config-6.6
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-eax500.dtsi

index 43ee5ccd14b9c52142e70eeb6d610d576681b281..69ab5cd3de7386fe2d89c33e1fbe5125149c5bcd 100644 (file)
@@ -78,16 +78,6 @@ ipq806x_setup_macs()
        local board="$1"
 
        case "$board" in
-               linksys,ea7500-v1)
-                       hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
-                       ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
-                       ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)"
-               ;;
-               linksys,ea8500)
-                       hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
-                       ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
-                       ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)"
-               ;;
                linksys,e8350-v1 |\
                zyxel,nbg6817)
                        hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
index bc3761b2e5950f9b11294e6888395ddc6187a228..a71b02fe694b772b7839b939b11f47b152c582e8 100644 (file)
@@ -314,6 +314,7 @@ CONFIG_NO_HZ_IDLE=y
 CONFIG_NR_CPUS=2
 CONFIG_NVMEM=y
 CONFIG_NVMEM_LAYOUTS=y
+CONFIG_NVMEM_LAYOUT_ASCII_ENV=y
 CONFIG_NVMEM_QCOM_QFPROM=y
 # CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
 # CONFIG_NVMEM_SPMI_SDAM is not set
index e5cc2424190e175dce36300b19880c14ce452f56..c66a2b973e1dbf8cbb7832b748c25e4a2f28499f 100644 (file)
                        partition@f40000 {
                                label = "devinfo";
                                reg = <0x0f40000 0x0040000>;
+
+                               nvmem-layout {
+                                       compatible = "ascii-eq-delim-env";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       hw_mac_addr: hw_mac_addr {
+                                               compatible = "mac-base";
+
+                                               #nvmem-cell-cells = <1>;
+                                       };
+                               };
                        };
 
                        partition@f80000 {
        pinctrl-0 = <&rgmii2_pins>;
        pinctrl-names = "default";
 
+       nvmem-cells = <&hw_mac_addr 0>;
+       nvmem-cell-names = "mac-address";
+
        fixed-link {
                speed = <1000>;
                full-duplex;
        phy-mode = "sgmii";
        qcom,id = <2>;
 
+       nvmem-cells = <&hw_mac_addr 1>;
+       nvmem-cell-names = "mac-address";
+
        fixed-link {
                speed = <1000>;
                full-duplex;