ipq806x: Stabilize LAN 2 MAC address, interface ordering
authorBryan Berg <bdb@north-eastham.org>
Sun, 26 Nov 2023 21:34:01 +0000 (13:34 -0800)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 15 Jan 2024 21:25:57 +0000 (22:25 +0100)
Part 1 of #13629 split.

* Sets the LAN 2 MAC address in the DTS by deriving it from LAN 1's
address. The factory OS derives this from the `eth1addr` u-boot env
variable, but the nvmem_u-boot-env driver doesn't support parsing MAC
addresses from fields other than `ethaddr`. But for all of the device
samples I've checked (~10) it derives the correct MAC.

* Updates 02_network to ensure that interfaces are assigned to roles
correctly and consistently.

Signed-off-by: Bryan Berg <bdb@north-eastham.org>
target/linux/ipq806x/base-files/etc/board.d/02_network
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ap3935.dts

index 8f24566b62e11aabfa8a98ac63eea89f5eec099d..a408fc14ac133803e7229d016727e0b6bfd421bf 100644 (file)
@@ -46,8 +46,7 @@ ipq806x_setup_interfaces()
                ucidef_set_network_device_conduit "lan1" "eth1"
                ucidef_set_network_device_conduit "wan" "eth0"
                ;;
-       edgecore,ecw5410 |\
-       extreme,ap3935)
+       edgecore,ecw5410)
                ucidef_set_interfaces_lan_wan "eth1" "eth0"
                ;;
        qcom,ipq8064-ap161)
@@ -63,6 +62,7 @@ ipq806x_setup_interfaces()
        meraki,mr42)
                ucidef_set_interface_lan "eth0"
                ;;
+       extreme,ap3935 |\
        meraki,mr52)
                ucidef_set_interfaces_lan_wan "eth0" "eth1"
                ;;
index bf65630f1834d238957441e8283d50a96d74b5ca..6d473d43ab12aa638352262f9be6beb60ef4c776 100644 (file)
                                        reg = <0x2a0000 0x0010000>;
 
                                        ethaddr: ethaddr {
+                                               #nvmem-cell-cells = <1>;
                                        };
                                };
 
        phy-mode = "rgmii";
        phy-handle = <&phy1>;
 
-       nvmem-cells = <&ethaddr>;
+       nvmem-cells = <&ethaddr 0>;
        nvmem-cell-names = "mac-address";
 
        fixed-link {
 
        phy-mode = "sgmii";
        phy-handle = <&phy2>;
+
+       nvmem-cells = <&ethaddr 1>;
+       nvmem-cell-names = "mac-address";
 };
 
 &adm_dma {