Skip to content

Commit

Permalink
mediatek: filogic: asus-tuf-ax6000: use NVMEM-on-UBI
Browse files Browse the repository at this point in the history
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@makrotopia.org>
  • Loading branch information
dangowrt committed Feb 22, 2024
1 parent 06c2bb5 commit 5e36515
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 16 deletions.
58 changes: 52 additions & 6 deletions target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

aliases {
serial0 = &uart0;
label-mac-device = &gmac0;
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
Expand All @@ -21,7 +22,7 @@

chosen {
stdout-path = "serial0:115200n8";
bootargs-override = "ubi.mtd=UBI_DEV";
bootargs-override = "";
};

memory {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -219,33 +222,74 @@

spi_nand_flash: flash@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@0 {
reg = <0x0 0x0>;
label = "remove_me";
};
};

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "bootloader";
reg = <0x0 0x400000>;
label = "bootloader";
read-only;
};

partition@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@0 {
reg = <0x0 0x1000>;
};

macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>;
};
};
};

&switch {
ports {
#address-cells = <1>;
Expand Down Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
;;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
;;
Expand Down

0 comments on commit 5e36515

Please sign in to comment.