A step-by-step checklist for bringing up a custom Rockchip RK3588 or RK3566 board: power and DDR first, the debug UART and Maskrom recovery, boot chain, device tree, Ethernet and PCIe pitfalls, display, and what to settle before production.
A custom board around an RK3588 or an RK3566 has far more ways to fail than the reference board it was derived from, and the failures hide behind one another: a marginal DDR rail looks like a kernel bug, a wrong Ethernet delay looks like a driver problem. The remedy is to prove the layers from the bottom up and never debug a layer until the one below it is solid. This is the order we use.
Rockchip parts print from the boot ROM chain on a debug UART, by default at 1,500,000 baud, which many terminals do not offer in their menu; set it by hand. No output at all means a power, clock, reset or boot-media problem, not software. Read the first lines: they tell you whether the loader found the DDR and what it found.
The first-stage loader initialises DRAM using a vendor-supplied binary with training parameters for the memory type and speed. A board that stops during DDR training or boots and then crashes at random usually has a hardware margin problem: rail noise, a bad stub, or timing that the reference layout would not have had. Run a memory test for hours, with the processor busy and the board warm. Do not move on until it is clean, because every later symptom will otherwise look like something else.
Rockchip parts have a recovery mode in the boot ROM, Maskrom, reachable over USB when no valid boot image is found or when you force it by holding the boot pin. From it, host tools can load a loader and write storage over USB, so corrupted storage never means a dead board. Design the access in, document how a technician enters it, and use it in your production flashing too.
The chain is the boot ROM, then the first-stage loader with DDR initialisation, then U-Boot, then the kernel. Decide early between the vendor BSP, which gives you the full set of hardware accelerators on a vendor kernel, and mainline, whose support for these parts has grown a great deal but is not complete for every block. Products that depend on hardware video, the NPU or an ISP camera path generally start from the vendor BSP; products that need a long maintenance life and only the CPU, storage, network and display can often use mainline. Make the call before the first peripheral work, and keep the device tree and the build configuration in version control from day one.
These are performance processors, and they throttle when hot. Test with a worst-case load on the CPU, GPU and NPU at once, in the enclosure and at the upper ambient temperature, and see what the clocks do. A board that is fine on the bench in free air can fall to half speed in a sealed case. Set the thermal zones and the dynamic frequency scaling policy deliberately, and measure the power at the input, not only the processor temperature.
The NPU on these parts is substantial (about 6 TOPS on the RK3588 and a fraction of that on the RK3566), and getting a model to run on it means converting it with the vendor's toolkit and checking which operators are supported. Plan time for quantisation and accuracy checks on your own data. The NPU is not a free speedup for any model.
We have designed the hardware for Rockchip platforms, including a multi-revision RK3128 mainboard with its display driver board, and bring up Rockchip application processors under Linux and Android. If you want a board designed, brought up and productised by one team, see our Linux BSP and driver service and our general bring-up guide.
Contact us for customized solutions and quotes