summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle2024-10-18 11:38:21 +0000
committerDaniel Golle2024-10-18 11:38:21 +0000
commitdbc2923cbe21ad9ea3fbdddc4b880a6e81678e11 (patch)
tree44494914377c5680578e62b913b64dd9f38a4223
parentf9f2dd1d93082d216135b6da891945d0331787d6 (diff)
downloadopenwrt-dbc2923cbe21ad9ea3fbdddc4b880a6e81678e11.tar.gz
mediatek: filogic: convert Acer Predator W6 to use NVMEM framework
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>
-rw-r--r--target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts44
-rw-r--r--target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata7
2 files changed, 43 insertions, 8 deletions
diff --git a/target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts b/target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts
index 612f3c7334..c27264a8d2 100644
--- a/target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts
+++ b/target/linux/mediatek/dts/mt7986a-acer-predator-w6.dts
@@ -446,10 +446,12 @@
};
&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 {
@@ -494,12 +496,52 @@
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 {
diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
index d97e5c8354..8456c462b6 100644
--- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
+++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
@@ -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
;;