]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
ipq806x: nbg6817: use nvmem for MAC addresses 22107/head
authorRosen Penev <rosenp@gmail.com>
Fri, 20 Feb 2026 01:40:44 +0000 (17:40 -0800)
committerRobert Marko <robimarko@gmail.com>
Mon, 23 Feb 2026 09:54:08 +0000 (10:54 +0100)
Userspace handling is deprecated. NVMEM allows more flexibility in terms
of exotic setups while keeping correct MAC addresses.

env-size taken from file in uboot-envtools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22107
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq806x/base-files/etc/board.d/02_network
target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ipq806x/dts/qcom-ipq8065-nbg6817.dts

index e09a12af8726005185b4e64fd812ae4058e629ba..17e97ec06dfc4d7022cf9f14b66f5d9d5e3f9c39 100644 (file)
@@ -85,8 +85,7 @@ ipq806x_setup_macs()
                hw_mac_addr=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
                ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)"
                ;;
-       linksys,e8350-v1|\
-       zyxel,nbg6817)
+       linksys,e8350-v1)
                hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
                ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)"
                ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 3)"
index 88161e5fa6c713fe229298d43f824af4347a212a..e8934b8306cd9355dbf8352a238703a09c9bbd18 100644 (file)
@@ -47,10 +47,6 @@ case "$FIRMWARE" in
                CI_UBIPART=art
                caldata_extract_ubi "ART" 0x1000 0x2f20
                ;;
-       zyxel,nbg6817)
-               caldata_extract "0:art" 0x1000 0x2f20
-               ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) 1)
-               ;;
        esac
        ;;
 "ath10k/cal-pci-0001:01:00.0.bin")
@@ -74,10 +70,6 @@ case "$FIRMWARE" in
                CI_UBIPART=art
                caldata_extract_ubi "ART" 0x5000 0x2f20
                ;;
-       zyxel,nbg6817)
-               caldata_extract "0:art" 0x5000 0x2f20
-               ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr)
-               ;;
        esac
        ;;
 "ath10k/cal-pci-0002:01:00.0.bin")
index 274c744b3759a24b70747113b16acdd391ee54af..9ce85c4f378db88a4f23a6e841985156ce6146a3 100644 (file)
 
                        partitions {
                                compatible = "qcom,smem-part";
+
+                               partition-0-art {
+                                       label = "0:art";
+                                       read-only;
+
+                                       nvmem-layout {
+                                               compatible = "fixed-layout";
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+
+                                               precal_art_1000: pre-calibration@1000 {
+                                                       reg = <0x1000 0x2f20>;
+                                               };
+
+                                               precal_art_5000: pre-calibration@5000 {
+                                                       reg = <0x5000 0x2f20>;
+                                               };
+                                       };
+                               };
+
+                               partition-0-appsblenv {
+                                       label = "0:appsblenv";
+                                       read-only;
+
+                                       nvmem-layout {
+                                               compatible = "u-boot,env";
+                                               env-size = <0x10000>;
+
+                                               macaddr_uboot_ethaddr: ethaddr {
+                                                       #nvmem-cell-cells = <1>;
+                                               };
+                                       };
+                               };
                        };
                };
        };
        max-link-speed = <1>;
 };
 
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               nvmem-cells = <&precal_art_1000>, <&macaddr_uboot_ethaddr 1>;
+               nvmem-cell-names = "pre-calibration", "mac-address";
+       };
+};
+
+&pcie_bridge1 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               nvmem-cells = <&precal_art_5000>, <&macaddr_uboot_ethaddr 0>;
+               nvmem-cell-names = "pre-calibration", "mac-address";
+       };
+};
+
 &mdio0 {
        status = "okay";
 
        pinctrl-0 = <&rgmii2_pins>;
        pinctrl-names = "default";
 
+       nvmem-cells = <&macaddr_uboot_ethaddr 3>;
+       nvmem-cell-names = "mac-address";
+
        fixed-link {
                speed = <1000>;
                full-duplex;
        qcom,irq = <258>;
        mdiobus = <&mdio0>;
 
+       nvmem-cells = <&macaddr_uboot_ethaddr 2>;
+       nvmem-cell-names = "mac-address";
+
        fixed-link {
                speed = <1000>;
                full-duplex;