From 63b1326575fe4689ab9a0ac4b845daa6d80de5b5 Mon Sep 17 00:00:00 2001 From: Corey Minyard Date: Fri, 3 May 2024 08:12:38 -0500 Subject: [PATCH] ipq40xx: Properly set MAC addresses for the EAP1300 The code that was there was just taking whatever was left in the registers, which was just wrong. Set the addresses using the value from the u-boot environment, the same way the OEM firmware does. Signed-off-by: Corey Minyard Link: https://github.com/openwrt/openwrt/pull/15358 Signed-off-by: Christian Marangi --- .../arm/boot/dts/qcom/qcom-ipq4018-eap1300.dts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4018-eap1300.dts index 3629101403..bfbed30b90 100644 --- a/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4018-eap1300.dts +++ b/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4018-eap1300.dts @@ -200,8 +200,13 @@ reg = <0x190000 0x1dc0000>; }; partition9@1f50000 { + compatible = "u-boot,env"; label = "u-boot-env"; reg = <0x01f50000 0x00010000>; + + macaddr_ubootenv_ethaddr: ethaddr { + #nvmem-cell-cells = <1>; + }; }; partition10@1f60000 { label = "userconfig"; @@ -228,6 +233,8 @@ &swport5 { status = "okay"; label = "lan"; + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_ubootenv_ethaddr 0>; }; &gmac { @@ -240,14 +247,14 @@ &wifi0 { status = "okay"; - nvmem-cell-names = "pre-calibration"; - nvmem-cells = <&precal_art_1000>; + nvmem-cell-names = "pre-calibration", "mac-address"; + nvmem-cells = <&precal_art_1000>, <&macaddr_ubootenv_ethaddr 1>; qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; }; &wifi1 { status = "okay"; - nvmem-cell-names = "pre-calibration"; - nvmem-cells = <&precal_art_5000>; + nvmem-cell-names = "pre-calibration", "mac-address"; + nvmem-cells = <&precal_art_5000>, <&macaddr_ubootenv_ethaddr 2>; qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; }; -- 2.30.2