On chips such as RK3588, RK3576, RK3568, RK3566, and RK3562, whether running Linux or Android systems, the hardware debugging serial port allows for the following interactive operations to facilitate quick system debugging and problem troubleshooting:Boot Combination KeysOn the RK platform, it provides serial port combination keys to trigger certain events for debugging and flashing(if unable to trigger, please try several times; it is ineffective when secure-boot is enabled). During boot, long press:
| Combination Key | Function Description |
| Ctrl+c | Enter U-Boot command line mode |
| Ctrl+d | Enter loader flashing mode |
| Ctrl+b | Enter MaskRom flashing mode |
| Ctrl+f | Enter fastboot mode |
| Ctrl+m | Print bidram/system information |
| Ctrl+i | Universal kernel initcall_debug |
| Ctrl+p | Print cmdline information |
| Ctrl+s | Enter U-Boot command line after “Starting kernel…” |
FIQ Debugging ModeTo support FIQ debugging mode on the RK platform, the following Kernel configuration is required:1. Linux Kernel Configuration1) Enable the following configuration items:
CONFIG_DEBUG_SPINLOCK=y
2) Set the following configuration item to 0:
Kernel hacking ---> Debug Oops, Lockups and Hangs ---> (0) panic timeout
2. DTS Configuration The bootargs item in the DTS must includeirqchip.gicv3_pseudo_nmi=1 configuration, with the following modifications:
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsiindex 12b815850b57..7cda66903ed6 100644--- a/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi+++ b/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi@ -12,7 +12,7 @};chosen: chosen {- bootargs = "earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=0 root=PARTUUID=614e0000-0000 rw rootwait";+ bootargs = "earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=1 root=PARTUUID=614e0000-0000 rw rootwait"; };
3. Using FIQ Mode During machine aging or usage, if a freeze occurs, you can enter the fiq command in the debugging serial port to enter debugger mode, input the pcsr command to check which CPU core is deadlocked, then use the cpu x command (where x is the corresponding core ID) to switch to that CPU core, and input the bt command to view the call stack information of that CPU core.