u-boot/board/theobroma-systems/ringneck_px30
Quentin Schulz c3328c3ba8 rockchip: ringneck-px30: enforce ENV_IS_NOWHERE with Kconfig select
Instead of letting the compiler error out if CONFIG_ENV_IS_NOWHERE is
not selected by the user, let's just enforce it when the user builds for
Ringneck PX30 so that no check needs to be performed by the compiler and
the configuration is always valid.

Suggested-by: Tom Rini <trini@konsulko.com>
Cc: Quentin Schulz <foss+uboot@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2023-04-21 15:16:00 +08:00
..
Kconfig rockchip: ringneck-px30: enforce ENV_IS_NOWHERE with Kconfig select 2023-04-21 15:16:00 +08:00
MAINTAINERS rockchip: add support for PX30 Ringneck SoM on Haikou Devkit 2023-01-16 18:01:11 +08:00
Makefile rockchip: add support for PX30 Ringneck SoM on Haikou Devkit 2023-01-16 18:01:11 +08:00
README rockchip: add support for PX30 Ringneck SoM on Haikou Devkit 2023-01-16 18:01:11 +08:00
ringneck-px30.c rockchip: ringneck-px30: enforce ENV_IS_NOWHERE with Kconfig select 2023-04-21 15:16:00 +08:00

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