mediatek: filogic: convert Acer Predator W6 to use NVMEM framework
authorDaniel Golle <daniel@makrotopia.org>
Fri, 18 Oct 2024 11:38:21 +0000 (12:38 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 18 Oct 2024 11:38:21 +0000 (12:38 +0100)
Read WiFi calibration data via NVMEM framework. The MAC addresses are
stored inside a file on a filesystem and hence still have to be
extracted in userspace.

WiFI EEPROM extraction has already accidentally been partially removed
by commit 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran
devices").

Fixes: 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran devices")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts
target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata

index 612f3c73342b21989c42a33951df2b2ddeba1019..c27264a8d2e84c5b64f5081d3e7edea981c769bd 100644 (file)
 };
 
 &wifi {
-       status = "okay";
+       nvmem-cells = <&eeprom_factory_0>;
+       nvmem-cell-names = "eeprom";
        pinctrl-names = "default", "dbdc";
        pinctrl-0 = <&wf_2g_5g_pins>;
        pinctrl-1 = <&wf_dbdc_pins>;
+       status = "okay";
 };
 
 &trng {
        non-removable;
        no-sd;
        no-sdio;
+
+       card@0 {
+               compatible = "mmc-card";
+               reg = <0>;
+
+               block {
+                       compatible = "block-device";
+
+                       partitions {
+                               block-partition-factory {
+                                       partname = "factory";
+
+                                       nvmem-layout {
+                                               compatible = "fixed-layout";
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+
+                                               eeprom_factory_0: eeprom@0 {
+                                                       reg = <0x0 0x1000>;
+                                               };
+
+                                               eeprom_factory_a0000: eeprom@a0000 {
+                                                       reg = <0xa0000 0x1000>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
 };
 
 &pcie {
        pinctrl-names = "default";
        pinctrl-0 = <&pcie_pins>;
        status = "okay";
+
+       slot0: pcie@0,0 {
+               reg = <0x0000 0 0 0 0>;
+
+               radio0: mt7915@0,0 {
+                       reg = <0x0000 0 0 0 0>;
+
+                       nvmem-cells = <&eeprom_factory_a0000>;
+                       nvmem-cell-names = "eeprom";
+               };
+       };
 };
 
 &pcie_phy {
index d97e5c8354813d4eaad00c6be89bef6387b1a547..8456c462b6339b4afe27ef0215dee6b198965758 100644 (file)
@@ -23,13 +23,6 @@ case "$FIRMWARE" in
                ;;
        esac
        ;;
-"mediatek/mt7986_eeprom_mt7976.bin")
-       case "$board" in
-       acer,predator-w6)
-               caldata_extract_mmc "factory" 0x0 0x1000
-               ;;
-       esac
-       ;;
 *)
        exit 1
        ;;