summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianling Shen2024-04-05 07:44:24 +0000
committerHauke Mehrtens2024-08-11 17:18:39 +0000
commita591f9cd1408477e3f99e079a5b95098bda82a2b (patch)
tree9df495fda9d65f9abcd3e0e356cbcbed0174ab05
parent6fadcee50b1c775cfac2f73dad5e901b8529a0f5 (diff)
downloadopenwrt-a591f9cd1408477e3f99e079a5b95098bda82a2b.tar.gz
mediatek: enable rootwait for cmcc rax3000m emmc version
Sometimes the mmc deivce may come up later than kernel attempts to mount rootfs, resulting kernel panic. Enable rootwait to fix it. Reported-by: Yangyu Chen <cyy@cyyself.name> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/15077 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/boot/uboot-mediatek/patches/437-add-cmcc_rax3000m.patch2
-rw-r--r--target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dtso9
-rw-r--r--target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts2
3 files changed, 10 insertions, 3 deletions
diff --git a/package/boot/uboot-mediatek/patches/437-add-cmcc_rax3000m.patch b/package/boot/uboot-mediatek/patches/437-add-cmcc_rax3000m.patch
index 26e0e30a99..1d636b64a7 100644
--- a/package/boot/uboot-mediatek/patches/437-add-cmcc_rax3000m.patch
+++ b/package/boot/uboot-mediatek/patches/437-add-cmcc_rax3000m.patch
@@ -585,7 +585,7 @@
+serverip=192.168.1.254
+loadaddr=0x46000000
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
-+bootargs=root=/dev/mmcblk0p65
++bootargs=root=/dev/mmcblk0p65 rootwait
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_emmc ; fi
+bootconf=config-1#mt7981b-cmcc-rax3000m-emmc
+bootdelay=0
diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dtso b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dtso
index c1c9c75c27..df0a79eb1e 100644
--- a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dtso
+++ b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dtso
@@ -7,6 +7,13 @@
compatible = "cmcc,rax3000m", "mediatek,mt7981";
fragment@0 {
+ target = <&chosen>;
+ __overlay_ {
+ bootargs-append = " rootwait";
+ };
+ };
+
+ fragment@1 {
target = <&mmc0>;
__overlay__ {
bus-width = <8>;
@@ -22,7 +29,7 @@
};
};
- fragment@1 {
+ fragment@2 {
target = <&pio>;
__overlay__ {
mmc0_pins_default: mmc0-pins {
diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
index 3f330f40fa..bb0d43c112 100644
--- a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
+++ b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
@@ -21,7 +21,7 @@
serial0 = &uart0;
};
- chosen {
+ chosen: chosen {
stdout-path = "serial0:115200n8";
};