blob: db15f945d3b090cac7a48fcdf44d77d533446594 [file] [log] [blame]
Quentin Schulz14f731e2024-03-11 13:01:59 +01001.. SPDX-License-Identifier: GPL-2.0+
2
3SBC-RK3588-AMR Jaguar
4=====================
5
6The SBC-RK3588-AMR is a Single Board Computer designed by
7Theobroma Systems for autonomous mobile robots.
8
9It provides the following features:
10
11 * up to 32GB LDDR4
12 * up to 128GB on-module eMMC (with 8-bit 1.8V interface)
13 * SD card
14 * Gigabit Ethernet
15 * 1x USB-A 2.0 host
16 * PCIe M.2 2230 Key M (Gen 2 1-lane) for WiFi+BT
17 * PCIe M.2 2280 Key M (Gen 3 4-lane) for NVMe
18 * CAN
19 * RS485 UART
20 * 2x USB Type-C 3.1 host/device
21 * HDMI output
22 * 2x camera connectors (MIPI-CSI 2-lane I2C/SPI for IMUs GPIOs)
23 * EEPROM
24 * Secure Element
25 * ATtiny companion controller implementing:
26
27 - low-power RTC functionality (ISL1208 emulation)
28 - fan controller (AMC6821 emulation)
29
30 * 80-pin Mezzanine connector
31
32Here is the step-by-step to boot to U-Boot on SBC-RK3588-AMR Jaguar from Theobroma
33Systems.
34
35Get the TF-A and DDR init (TPL) binaries
36----------------------------------------
37
38.. prompt:: bash
39
40 git clone https://github.com/rockchip-linux/rkbin
41 cd rkbin
42 export RKBIN=$(pwd)
43 export BL31=$RKBIN/bin/rk35/rk3588_bl31_v1.38.elf
44 export ROCKCHIP_TPL=$RKBIN/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin
45 sed -i 's/^uart baudrate=.*$/uart baudrate=115200/' tools/ddrbin_param.txt
46 ./tools/ddrbin_tool tools/ddrbin_param.txt "$ROCKCHIP_TPL"
47 ./tools/boot_merger RKBOOT/RK3588MINIALL.ini
48 export RKDB=$RKBIN/rk3588_spl_loader_v1.11.112.bin
49
50This will setup all required external dependencies for compiling U-Boot. This will
51be updated in the future once upstream Trusted-Firmware-A supports RK3588 or U-Boot
52gains support for open-source DRAM initialization in TPL.
53
54Build U-Boot
55------------
56
57.. prompt:: bash
58
59 cd ../u-boot
60 make CROSS_COMPILE=aarch64-linux-gnu- jaguar-rk3588_defconfig all
61
62This will build ``u-boot-rockchip.bin`` which can be written to an MMC device
63(eMMC or SD card).
64
65Flash the image
66---------------
67
68Copy ``u-boot-rockchip.bin`` to offset 32k for SD/eMMC.
69
70SD-Card
71~~~~~~~
72
73.. prompt:: bash
74
75 dd if=u-boot-rockchip.bin of=/dev/sdX seek=64
76
77.. note::
78
79 Replace ``/dev/sdX`` to match your SD card kernel device.
80
81eMMC
82~~~~
83
84``rkdeveloptool`` allows to flash the on-board eMMC via the USB OTG interface
85with help of the Rockchip loader binary.
86
87To enter the USB flashing mode, remove any SD card, insert a USB-C cable in the
88``DOWNLOAD`` USB Type-C connector (P11) and then power cycle or reset the board
89while pressing the ``BIOS`` (SW2) button. A new USB device should have appeared
90on your PC (check with ``lsusb -d 2207:350b``).
91
92To flash U-Boot on the eMMC with ``rkdeveloptool``:
93
94.. prompt:: bash
95
96 git clone https://github.com/rockchip-linux/rkdeveloptool
97 cd rkdeveloptool
98 autoreconf -i && CPPFLAGS=-Wno-format-truncation ./configure && make
99 ./rkdeveloptool db "$RKDB"
100 ./rkdeveloptool wl 64 ../u-boot-rockchip.bin