[openwrt/openwrt] mediatek: filogic: asus-tuf-ax6000: use NVMEM-on-UBI
LEDE Commits
lede-commits at lists.infradead.org
Fri Feb 23 06:35:36 PST 2024
dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/1794309bb5a442b5824de27a889f0855dcfe2198
commit 1794309bb5a442b5824de27a889f0855dcfe2198
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Mon Feb 19 03:22:52 2024 +0000
mediatek: filogic: asus-tuf-ax6000: use NVMEM-on-UBI
Use newly added support for NVMEM-on-UBI instead of extracting MAC
address and WiFi EEPROM data in userspace.
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
.../linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts | 58 +++++++++++++++++++---
.../filogic/base-files/etc/board.d/02_network | 6 ---
.../etc/hotplug.d/firmware/11-mt76-caldata | 4 --
3 files changed, 52 insertions(+), 16 deletions(-)
diff --git a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
index 2d7b9c8c5c..bde2525cd7 100644
--- a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
+++ b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
@@ -13,6 +13,7 @@
aliases {
serial0 = &uart0;
+ label-mac-device = &gmac0;
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
@@ -21,7 +22,7 @@
chosen {
stdout-path = "serial0:115200n8";
- bootargs-override = "ubi.mtd=UBI_DEV";
+ bootargs-override = "";
};
memory {
@@ -101,6 +102,8 @@
/* LAN */
compatible = "mediatek,eth-mac";
reg = <0>;
+ nvmem-cells = <&macaddr_factory_4>;
+ nvmem-cell-names = "mac-address";
phy-mode = "2500base-x";
fixed-link {
@@ -219,33 +222,74 @@
spi_nand_flash: flash at 0 {
compatible = "spi-nand";
+ reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
- reg = <0>;
spi-max-frequency = <20000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
- partitions: partitions {
+ /*
+ * ASUS bootloader tries to replace the partitions defined in
+ * Device Tree and by that also deletes all additional properties
+ * needed for UBI and NVMEM-on-UBI.
+ * Prevent this from happening by tricking the loader to delete and
+ * replace a bait node instead.
+ */
+ partitions: dummy {
+ compatible = "u-boot-dummy-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition at 0 {
+ reg = <0x0 0x0>;
+ label = "remove_me";
+ };
+ };
+
+ partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition at 0 {
- label = "bootloader";
reg = <0x0 0x400000>;
+ label = "bootloader";
read-only;
};
partition at 400000 {
- label = "UBI_DEV";
+ compatible = "linux,ubi";
reg = <0x400000 0xfc00000>;
+ label = "UBI_DEV";
+
+ volumes {
+ ubi_factory: ubi-volume-factory {
+ volname = "Factory";
+ };
+ };
};
};
};
};
+&ubi_factory {
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom_factory_0: eeprom at 0 {
+ reg = <0x0 0x1000>;
+ };
+
+ macaddr_factory_4: macaddr at 4 {
+ reg = <0x4 0x6>;
+ };
+ };
+};
+
&switch {
ports {
#address-cells = <1>;
@@ -360,10 +404,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 {
diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
index 9f9544dec0..c899be1b98 100644
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
@@ -109,12 +109,6 @@ mediatek_setup_macs()
local label_mac=""
case $board in
- asus,tuf-ax6000)
- CI_UBIPART="UBI_DEV"
- addr=$(mtd_get_mac_binary_ubi "Factory" 0x4)
- wan_mac="${addr}"
- lan_mac="${addr}"
- ;;
bananapi,bpi-r3)
wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
;;
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 bb81444b01..bd68ef7415 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
@@ -59,10 +59,6 @@ case "$FIRMWARE" in
;;
"mediatek/mt7986_eeprom_mt7976_dual.bin")
case "$board" in
- asus,tuf-ax6000)
- CI_UBIPART="UBI_DEV"
- caldata_extract_ubi "Factory" 0x0 0x1000
- ;;
jdcloud,re-cp-03)
caldata_extract_mmc "factory" 0x0 0x1000
;;
More information about the lede-commits
mailing list