From: Rosen Penev Date: Fri, 20 Feb 2026 01:23:00 +0000 (-0800) Subject: ipq806x: ac400i: use nvmem for MAC addresses X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aef4d9e67741545ccedbf3bb12453aac878137d2;p=thirdparty%2Fopenwrt.git ipq806x: ac400i: use nvmem for MAC addresses Userspace handling is deprecated. NVMEM allows flexibility in terms of exotic setups by avoiding random MAC addresses. u-boot env-size taken from the entry in uboot-envtools Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22107 Signed-off-by: Robert Marko --- diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index add17e20826..88161e5fa6c 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -47,10 +47,6 @@ case "$FIRMWARE" in CI_UBIPART=art caldata_extract_ubi "ART" 0x1000 0x2f20 ;; - nokia,ac400i) - caldata_extract "0:art" 0x1000 0x2f20 - ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) +2) - ;; zyxel,nbg6817) caldata_extract "0:art" 0x1000 0x2f20 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) 1) @@ -78,10 +74,6 @@ case "$FIRMWARE" in CI_UBIPART=art caldata_extract_ubi "ART" 0x5000 0x2f20 ;; - nokia,ac400i) - caldata_extract "0:art" 0x5000 0x2f20 - ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) +3) - ;; zyxel,nbg6817) caldata_extract "0:art" 0x5000 0x2f20 ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr) diff --git a/target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts b/target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts index 5534231917c..3e13e4e7641 100644 --- a/target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts +++ b/target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts @@ -175,6 +175,39 @@ 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 = <0x40000>; + + macaddr_uboot_ethaddr: ethaddr { + #nvmem-cell-cells = <1>; + }; + }; + }; }; }; }; @@ -201,6 +234,8 @@ compatible = "qcom,ath10k"; reg = <0x00010000 0 0 0 0>; qcom,ath10k-calibration-variant = "Nokia-AC400i"; + nvmem-cells = <&precal_art_1000>, <&macaddr_uboot_ethaddr 2>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; }; @@ -217,6 +252,8 @@ compatible = "qcom,ath10k"; reg = <0x00010000 0 0 0 0>; qcom,ath10k-calibration-variant = "Nokia-AC400i"; + nvmem-cells = <&precal_art_5000>, <&macaddr_uboot_ethaddr 3>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; };