blob: e756b3a8ffcc8ce377dd3e80ec7a84767ab00b42 [file] [log] [blame]
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