I randomly saw this thread after I found the same issue with another device today:
[ 0.000000] Linux version 4.14.241 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11364-ef56c85848)) #0 Thu Jul 29 19:50:28 2021
[ 0.000000] SoC Type: Ralink RT5350 id:1 rev:3
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[ 0.000000] MIPS: machine is Proroute H820
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 04000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] random: get_random_bytes called from 0x803d86ec with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Writing ErrCtl register=00079230
[ 0.000000] Readback ErrCtl register=00079230
[ 0.000000] Memory: 59560K/65536K available (3324K kernel code, 171K rwdata, 432K rodata, 1184K init, 199K bss, 5976K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] CPU Clock: 360MHz
[ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[ 0.000000] systick: running - mult: 214748, shift: 32
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 10618113593 ns
[ 0.000017] sched_clock: 32 bits at 180MHz, resolution 5ns, wraps every 11930464253ns
[ 0.015747] Calibrating delay loop... 239.61 BogoMIPS (lpj=1198080)
[ 0.098067] pid_max: default: 32768 minimum: 301
[ 0.107666] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.120796] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.144315] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.163872] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.176116] pinctrl core: initialized pinctrl subsystem
[ 0.189430] NET: Registered protocol family 16
[ 0.254858] rt2880_gpio 10000600.gpio: registering 22 gpios
[ 0.266007] rt2880_gpio 10000600.gpio: registering 22 irq handlers
[ 0.288664] clocksource: Switched to clocksource MIPS
[ 0.300957] NET: Registered protocol family 2
[ 0.310046] IP idents hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.324661] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.338539] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.351127] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.364131] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.375770] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.388858] NET: Registered protocol family 1
[ 0.404720] rt-timer 10000100.timer: maximum frequency is 3662Hz
[ 0.418488] Crashlog allocated RAM at address 0x3f00000
[ 0.433976] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.458022] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.469626] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.520175] io scheduler noop registered
[ 0.527837] io scheduler deadline registered (default)
[ 0.540114] gpio-export gpio_export: 1 gpio(s) exported
[ 0.551054] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.570120] console [ttyS0] disabled
[ 0.577176] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[ 0.596998] console [ttyS0] enabled
[ 0.596998] console [ttyS0] enabled
[ 0.610779] bootconsole [early0] disabled
[ 0.610779] bootconsole [early0] disabled
[ 0.649141] spi spi0.0: force spi mode3
[ 0.658326] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[ 0.668279] 5 fixed-partitions partitions found on MTD device spi0.0
[ 0.681015] Creating 5 MTD partitions on "spi0.0":
[ 0.690651] 0x000000000000-0x000000030000 : "u-boot"
[ 0.702602] 0x000000030000-0x000000050000 : "u-boot-env"
[ 0.715174] 0x000000050000-0x000000060000 : "factory"
[ 0.727315] 0x000000060000-0x000000200000 : "user_fs"
[ 0.739635] 0x000000200000-0x000000800000 : "firmware"
[ 0.752991] libphy: Fixed MDIO Bus: probed
[ 0.778198] rt3050-esw 10110000.esw: link changed 0x00
[ 0.791793] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[ 0.809538] rt2880_wdt 10000120.watchdog: Initialized
[ 0.822290] NET: Registered protocol family 10
[ 0.841755] Segment Routing with IPv6
[ 0.849423] NET: Registered protocol family 17
[ 0.858435] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 0.884371] 8021q: 802.1Q VLAN Support v1.8
[ 0.899072] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 0.914117] Please append a correct "root=" boot option; here are the available partitions:
[ 0.930840] 1f00 192 mtdblock0
[ 0.930851] (driver?)
[ 0.943949] 1f01 128 mtdblock1
[ 0.943957] (driver?)
[ 0.957041] 1f02 64 mtdblock2
[ 0.957049] (driver?)
[ 0.970174] 1f03 1664 mtdblock3
[ 0.970183] (driver?)
[ 0.983272] 1f04 6144 mtdblock4
[ 0.983280] (driver?)
[ 0.996374] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.014279] Rebooting in 1 seconds..
Fix for your device:
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
m25p,chunked-io = <32>;
partitions {
compatible = "fixed-paritions";
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x800000>;
};
};
};