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 b28421b86723ab..671151e0565beb 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 @@ -18,11 +18,6 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-pci-0000:01:00.0.bin") case "$board" in - asus,map-ac2200) - caldata_extract_ubi "Factory" 0x9000 0x2f20 - ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ - /lib/firmware/ath10k/QCA9888/hw2.0/board.bin - ;; avm,fritzrepeater-3000) /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ @@ -50,9 +45,6 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-ahb-a000000.wifi.bin") case "$board" in - asus,map-ac2200) - caldata_extract_ubi "Factory" 0x1000 0x2f20 - ;; avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; @@ -145,9 +137,6 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-ahb-a800000.wifi.bin") case "$board" in - asus,map-ac2200) - caldata_extract_ubi "Factory" 0x5000 0x2f20 - ;; avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; 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 17b7a76aa63530..bbcf3e8b265710 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 @@ -2,11 +2,6 @@ preinit_set_mac_address() { case $(board_name) in - asus,map-ac2200) - base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) - ip link set dev eth0 address $(macaddr_add "$base_mac" 1) - ip link set dev eth1 address $(macaddr_add "$base_mac" 3) - ;; engenius,eap2200) base_mac=$(cat /sys/class/net/eth0/address) ip link set dev eth1 address $(macaddr_add "$base_mac" 1) diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts index 32f0473fb169ae..6853193e50538e 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts @@ -123,13 +123,46 @@ }; partition@400000 { - label = "ubi"; + compatible = "linux,ubi"; reg = <0x400000 0x7c00000>; + label = "ubi"; + + volumes { + ubi_factory: ubi-volume-factory { + volname = "Factory"; + }; + }; }; }; }; }; +&ubi_factory { + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + precal_factory_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + macaddr_factory_1006: macaddr@1006 { + compatible = "mac-base"; + reg = <0x1006 0x6>; + #nvmem-cell-cells = <1>; + }; + + precal_factory_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_factory_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; + }; +}; + &tlmm { i2c_0_pins: i2c_0_pinmux { pinmux { @@ -198,11 +231,15 @@ &wifi0 { status = "okay"; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&precal_factory_1000>; qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; }; &wifi1 { status = "okay"; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&precal_factory_5000>; qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; ieee80211-freq-limit = <5470000 5875000>; }; @@ -220,10 +257,12 @@ wifi2: wifi@1,0 { compatible = "qcom,ath10k"; - status = "okay"; reg = <0x00010000 0 0 0 0>; - qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; ieee80211-freq-limit = <5170000 5350000>; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&precal_factory_9000>; + qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; + status = "okay"; }; }; }; @@ -344,6 +383,8 @@ &gmac { status = "okay"; + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_factory_1006 1>; }; &switch { @@ -352,6 +393,8 @@ &swport4 { status = "okay"; + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_factory_1006 3>; label = "wan"; };