ipq806x: nbg6817: use nvmem for MAC addresses

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>
This commit is contained in:
Rosen Penev 2026-02-19 17:40:44 -08:00 committed by Robert Marko
parent aef4d9e677
commit 581d10ebfc
3 changed files with 58 additions and 10 deletions

View 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)"

View 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")

View file

@ -228,6 +228,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 = <0x10000>;
macaddr_uboot_ethaddr: ethaddr {
#nvmem-cell-cells = <1>;
};
};
};
};
};
};
@ -278,6 +311,24 @@
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";
@ -399,6 +450,9 @@
pinctrl-0 = <&rgmii2_pins>;
pinctrl-names = "default";
nvmem-cells = <&macaddr_uboot_ethaddr 3>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
@ -417,6 +471,9 @@
qcom,irq = <258>;
mdiobus = <&mdio0>;
nvmem-cells = <&macaddr_uboot_ethaddr 2>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;