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>
aliases {
serial0 = &uart0;
aliases {
serial0 = &uart0;
+ label-mac-device = &gmac0;
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
chosen {
stdout-path = "serial0:115200n8";
chosen {
stdout-path = "serial0:115200n8";
- bootargs-override = "ubi.mtd=UBI_DEV";
+ bootargs-override = "";
/* LAN */
compatible = "mediatek,eth-mac";
reg = <0>;
/* LAN */
compatible = "mediatek,eth-mac";
reg = <0>;
+ nvmem-cells = <&macaddr_factory_4>;
+ nvmem-cell-names = "mac-address";
phy-mode = "2500base-x";
fixed-link {
phy-mode = "2500base-x";
fixed-link {
pinctrl-0 = <&spi_flash_pins>;
status = "okay";
pinctrl-0 = <&spi_flash_pins>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <20000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
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 {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
read-only;
};
partition@400000 {
read-only;
};
partition@400000 {
+ compatible = "linux,ubi";
+ reg = <0x400000 0xfc00000>;
- reg = <0x400000 0x7c00000>;
+
+ 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>;
+ };
+ };
+};
+
&watchdog {
status = "okay";
};
&wifi {
&watchdog {
status = "okay";
};
&wifi {
- status = "okay";
- pinctrl-names = "default", "dbdc";
+ nvmem-cells = <&eeprom_factory_0>;
+ nvmem-cell-names = "eeprom";
pinctrl-0 = <&wf_2g_5g_pins>;
pinctrl-1 = <&wf_dbdc_pins>;
pinctrl-0 = <&wf_2g_5g_pins>;
pinctrl-1 = <&wf_dbdc_pins>;
+ pinctrl-names = "default", "dbdc";
+ status = "okay";
local label_mac=""
case $board in
local label_mac=""
case $board in
asus,tuf-ax4200|\
asus,tuf-ax6000)
CI_UBIPART="UBI_DEV"
asus,tuf-ax4200|\
asus,tuf-ax6000)
CI_UBIPART="UBI_DEV"
;;
"mediatek/mt7986_eeprom_mt7976_dbdc.bin")
case "$board" in
;;
"mediatek/mt7986_eeprom_mt7976_dbdc.bin")
case "$board" in
asus,tuf-ax4200)
CI_UBIPART="UBI_DEV"
caldata_extract_ubi "Factory" 0x0 0x1000
asus,tuf-ax4200)
CI_UBIPART="UBI_DEV"
caldata_extract_ubi "Factory" 0x0 0x1000