Introduction ============ The PX30-uQ7 (Ringneck) SoM is a µQseven-compatible (40mmx70mm, MXM-230 connector) system-on-module from Theobroma Systems[1], featuring the Rockchip PX30. It provides the following feature set: * up to 4GB DDR4 * up to 128GB on-module eMMC (with 8-bit 1.8V interface) * SD card (on a baseboard) via edge connector * Fast Ethernet with on-module TI DP83825I PHY * MIPI-DSI/LVDS * MIPI-CSI * USB - 1x USB 2.0 dual-role - 3x USB 2.0 host * on-module companion controller (STM32 Cortex-M0 or ATtiny), implementing: - low-power RTC functionality (ISL1208 emulation) - fan controller (AMC6821 emulation) - USB<->CAN bridge controller (STM32 only) * on-module Espressif ESP32 for Bluetooth + 2.4GHz WiFi * on-module NXP SE05x Secure Element Here is the step-by-step to boot to U-Boot on px30. Get the Source and build ATF binary =================================== > git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git Compile the ATF =============== > cd trusted-firmware-a > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=px30 bl31 > cp build/px30/release/bl31/bl31.elf ../u-boot/bl31.elf Compile the U-Boot ================== > cd ../u-boot > make CROSS_COMPILE=aarch64-linux-gnu- ringneck-px30_defconfig all Flash the image =============== Copy u-boot-rockchip.bin to offset 32k for SD/eMMC. SD-Card ------- > dd if=u-boot-rockchip.bin of=/dev/sdb seek=64 eMMC ---- rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with help of the Rockchip loader binary. > git clone https://github.com/rockchip-linux/rkdeveloptool > cd rkdeveloptool > autoreconf -i && ./configure && make > git clone https://github.com/rockchip-linux/rkbin.git > cd rkbin > ./tools/boot_merger RKBOOT/PX30MINIALL.ini > cd .. > ./rkdeveloptool db rkbin/px30_loader_v1.16.131.bin > ./rkdeveloptool wl 64 ../u-boot-rockchip.bin