An issue in the intel-socfpga BSP in WRL LTS21 RCPL21.
The problem is related to the socfpga_agilex.dtsi device-tree file using the wrong "compatible" string for the QSPI controller.
The device-tree file arch/arm64/boot/dts/intel/socfpga_agilex.dtsi file has:
qspi: spi@ff8d2000 {
compatible = "cdns,qspi-nor";
This causes a kernel crash like this:
[ 23.220345] Internal error: synchronous external abort: ffffffff96000210 [#1] PREEMPT SMP
[ 23.228520] Modules linked in:
[ 23.231575] CPU: 1 PID: 1626 Comm: elogd Not tainted 5.10.200-04868-g1fb17cfd97a2 #1
[ 23.239284] Hardware name: Ericsson AIR6428 (DT)
[ 23.243885] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 23.249882] pc : cqspi_exec_mem_op+0x168/0x1370
[ 23.254394] lr : cqspi_exec_mem_op+0x104/0x1370
[ 23.258904] sp : ffff8000150c36b0
[ 23.262204] x29: ffff8000150c36b0 x28: ffff00048a60c700
[ 23.267498] x27: ffff00048145c500 x26: 0000000000a942d0
[ 23.272790] x25: 0000000000000030 x24: 0000000000000000
[ 23.278083] x23: ffff00048145c5b0 x22: ffff0004808e8180
[ 23.283375] x21: 0000000000000000 x20: ffff8000150c3ae0
[ 23.288668] x19: ffff00048145c500 x18: 0000000000000000
[ 23.293961] x17: 0000000000000000 x16: 0000000000000000
[ 23.299253] x15: 0000aaaadcbdcb90 x14: 00000000000000cf
[ 23.304546] x13: 0000000000000001 x12: 0000000000000000
[ 23.309838] x11: 0000000000000001 x10: 00000000000009f0
[ 23.315131] x9 : 0000000000000000 x8 : 0000000000000000
[ 23.320423] x7 : 0000000002faf080 x6 : 0000000002faf080
[ 23.325716] x5 : ffff00048145c500 x4 : ffff00048145c500
[ 23.331009] x3 : 0000000000000000 x2 : ffff800011635038
[ 23.336302] x1 : 0000000000000001 x0 : ffff800011635000
[ 23.341595] Call trace:
[ 23.344035] cqspi_exec_mem_op+0x168/0x1370
[ 23.348203] spi_mem_exec_op+0x3c0/0x400
[ 23.352109] spi_mem_dirmap_write+0x158/0x1a0
[ 23.356452] spi_nor_spimem_write_data+0x144/0x150
[ 23.361223] spi_nor_write+0x2fc/0x400
[ 23.364961] mtd_write_oob_std+0x78/0x84
[ 23.368869] mtd_write_oob+0x6c/0xc0
[ 23.372430] mtd_write+0x48/0x80
[ 23.375646] mtdchar_write+0x140/0x2a0
[ 23.379386] vfs_write+0xfc/0x2c0
[ 23.382688] ksys_write+0x68/0xf4
[ 23.385989] __arm64_sys_write+0x1c/0x2c
[ 23.389901] el0_svc_common.constprop.0+0x78/0x1f0
[ 23.394672] do_el0_svc+0x24/0xa0
[ 23.397978] el0_svc+0x14/0x20
[ 23.401020] el0_sync_handler+0xb0/0xb4
[ 23.404842] el0_sync+0x180/0x1c0
[ 23.408149] Code: b9000041 394d90a1 34000141 9100e002 (b9400041)
[ 23.414220] ---[ end trace b369f1b1c4d10785 ]---
[ 23.425146] Kernel panic - not syncing: synchronous external abort: Fatal exception
[ 23.432775] SMP: stopping secondary CPUs
Please see below Intel upstream fix which resolves this issue.
[https://github.com/altera-opensource/linux-socfpga/commit/36de991e93908f7ad5c2a0eac9c4ecf8b723fa4a]