u-boot/board/theobroma-systems/ringneck_px30
Quentin Schulz c925be73a0 rockchip: add support for PX30 Ringneck SoM on Haikou Devkit
The PX30-µQ7 (Ringneck) is a system-on-module featuring the Rockchip
PX30 in a micro Qseven-compatible form-factor.

PX30-µQ7 features:
        * CPU: quad-core Cortex-A35
        * DRAM: 2GB dual-channel
        * eMMC: onboard eMMC
        * SD/MMC
        * TI DP83825I 10/100Mbps PHY
        * USB:
                * USB2.0 dual role port
                * 3x USB2.0 host via onboard USB2.0 hub
        * Display: MIPI-DSI
        * Camera: MIPI-CSI
        * onboard 2.4GHz WiFi + Bluetooth module
        * Companion Controller: on-board additional microcontroller
	  (STM32 Cortex-M0 or ATtiny):
                * RTC
                * fan controller
                * CAN (only STM32)

The non-U-Boot DTS files are imported from Linux v6.2-rc2.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2023-01-16 18:01:11 +08:00
..
Kconfig
MAINTAINERS
Makefile
README
ringneck-px30.c

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