diff options
author | Lech Perczak <lech.perczak@gmail.com> | 2021-12-15 21:10:11 +0100 |
---|---|---|
committer | David Bauer <mail@david-bauer.net> | 2022-10-02 23:04:39 +0200 |
commit | b9b4c51b2b78ba501cbf47b7d9fc19cf8bcd65ea (patch) | |
tree | 6b770e2e09d5df6d1bce6240a950da8192351d1e /target/linux/ipq40xx | |
parent | 550253bdf99280b3017baf56dec36406fa395734 (diff) | |
download | upstream-b9b4c51b2b78ba501cbf47b7d9fc19cf8bcd65ea.tar.gz upstream-b9b4c51b2b78ba501cbf47b7d9fc19cf8bcd65ea.tar.bz2 upstream-b9b4c51b2b78ba501cbf47b7d9fc19cf8bcd65ea.zip |
ipq40xx: Meraki MR33: convert MAC addresses to nvmem
This fixes assigning random MAC to br-lan interface upon boot.
While at that, rename at24@50 node to eeprom@50, to align with upstream
device tree style.
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Diffstat (limited to 'target/linux/ipq40xx')
3 files changed, 19 insertions, 9 deletions
diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index f8d270a659..64215746d5 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -13,7 +13,6 @@ case "$FIRMWARE" in meraki,mr74) caldata_extract_ubi "ART" 0x9000 0x844 caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844 - ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 1) ;; esac ;; @@ -117,7 +116,6 @@ case "$FIRMWARE" in meraki,mr74) caldata_extract_ubi "ART" 0x1000 0x2f20 caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20 - ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 2) ;; mikrotik,cap-ac |\ mikrotik,hap-ac2 |\ @@ -214,7 +212,6 @@ case "$FIRMWARE" in meraki,mr74) caldata_extract_ubi "ART" 0x5000 0x2f20 caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20 - ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 3) ;; mikrotik,cap-ac |\ mikrotik,hap-ac2 |\ diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index 3c247ae6aa..18c24e0511 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -24,11 +24,6 @@ preinit_set_mac_address() { ip link set dev lan1 address $(macaddr_add "$base_mac" 1) ip link set dev eth0 address $(macaddr_setbit "$base_mac" 7) ;; - meraki,mr33|\ - meraki,mr74) - mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) - [ -n "$mac_lan" ] && ip link set dev eth0 address "$mac_lan" - ;; mikrotik,wap-ac) base_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base) ip link set dev eth0 address "$base_mac" diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi index bc385d330e..ebfab171f5 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi @@ -127,11 +127,18 @@ pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; status = "okay"; - at24@50 { + + eeprom@50 { compatible = "atmel,24c64"; pagesize = <32>; reg = <0x50>; read-only; /* This holds our MAC & Meraki board-data */ + #address-cells = <1>; + #size-cells = <1>; + + mac_address: mac-address@66 { + reg = <0x66 0x6>; + }; }; }; @@ -277,6 +284,9 @@ compatible = "qcom,ath10k"; status = "okay"; reg = <0x00010000 0 0 0 0>; + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; }; }; }; @@ -380,15 +390,23 @@ &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "Meraki-MR33"; + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <2>; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "Meraki-MR33"; + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <3>; }; &gmac { status = "okay"; + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; }; &switch { |