Skip to content

Commit fc54623

Browse files
authored
Add Rockchip u-boot "binman" BOOT_SCENARIO (#7505)
* rockchip64: add `BOOT_SCENARIO=binman` for mainline u-boot - drop special handling for 3308's `legacy` branch - rpardini: note how SPI/mtd is not yet supported for this scenario Co-authored-by: Ricardo Pardini <[email protected]> (squash/splits, shellfmt) * `rock-s0`/`rockpi-s`: use `BOOT_SCENARIO=binman`; move blobs to armbian/rkbin - Move rk3308 boot blobs to armbian/rkbin - delete obsolete ones - Alter rock-s0 and rockpi-s to use the new "binman" BOOT_SCENARIO Co-authored-by: Ricardo Pardini <[email protected]> (shellfmt; small fixes; squashes)
1 parent cc45139 commit fc54623

File tree

6 files changed

+150
-122
lines changed

6 files changed

+150
-122
lines changed

config/boards/rock-s0.conf

+28-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,32 @@
11
# Rockchip RK3308 quad core 512MB SoC WiFi
22
# https://radxa.com/products/rocks/s0
33

4-
# This board is very similar to the older RockPi-S model
5-
source "${SRC}/config/boards/rockpi-s.conf"
6-
74
BOARD_NAME="Rock S0"
8-
BOARD_MAINTAINER="brentr"
9-
BOARDFAMILY="rockchip64"
10-
BOOTCONFIG="rock-s0-rk3308_defconfig"
11-
BOOT_FDT_FILE="rockchip/rk3308-rock-s0.dtb"
12-
KERNEL_TARGET="current,edge"
13-
KERNEL_TEST_TARGET="current"
5+
BOARDFAMILY=rockchip64
6+
BOARD_MAINTAINER=brentr
7+
8+
BOOTCONFIG=rock-s0-rk3308_defconfig
9+
BOOT_FDT_FILE=rockchip/rk3308-rock-s0.dtb
10+
11+
KERNEL_TARGET=current,edge
12+
KERNEL_TEST_TARGET=current
13+
14+
DEFAULT_CONSOLE=serial
15+
SERIALCON=ttyS0
16+
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu panfrost"
17+
HAS_VIDEO_OUTPUT=no
18+
19+
BOOTBRANCH_BOARD=tag:v2024.10
20+
BOOTPATCHDIR=v2024.10
21+
BOOT_SCENARIO=binman
22+
DDR_BLOB=rk33/rk3308_ddr_589MHz_uart0_m0_v2.07.bin
23+
BL31_BLOB=rk33/rk3308_bl31_v2.26.elf
24+
25+
OVERLAY_PREFIX=rk3308
26+
27+
function post_family_config__rocks0() {
28+
declare -g BOOTDIR="u-boot-${BOARD}"
29+
declare -g BOOTSCRIPT=boot-rockchip64-ttyS0.cmd:boot.cmd
30+
31+
unset family_tweaks_bsp # disable from rockchip64_common
32+
}

config/boards/rockpi-s.conf

+25-57
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,42 @@
11
# Rockchip RK3308 quad core 256-512MB SoC WiFi
2-
# https://radaxa.com/products/rockpi/pis
3-
BOARD_NAME="Rockpi S"
4-
BOARDFAMILY="rockchip64"
5-
BOARD_MAINTAINER="brentr"
6-
BOOTCONFIG="rock-pi-s-rk3308_defconfig"
7-
BOOT_FDT_FILE="rockchip/rk3308-rock-pi-s.dtb"
8-
9-
DEFAULT_CONSOLE="serial"
10-
SERIALCON="ttyS0"
11-
KERNEL_TARGET="current,edge"
12-
KERNEL_TEST_TARGET="current"
13-
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu panfrost"
14-
HAS_VIDEO_OUTPUT="no"
15-
BOOTBRANCH_BOARD="tag:v2022.04"
16-
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
17-
18-
OVERLAY_PREFIX='rk3308'
19-
20-
#comment out line below for an image that will NOT boot from the built-in SDNAND
21-
IDBLOADER_BLOB=$SRC/packages/blobs/rockchip/rk3308_idbloader_ddr589MHz_uart0_m0_v2.06.136sd.bin
22-
23-
#The SDNAND capabilty IDBLOADER_BLOB requires the U-Boot and Linux serial console on UART0
24-
#Linux will hang on reboot if the console remains on UART2
2+
# https://radxa.com/products/rockpi/pis
253

26-
#Note: IDBLOADER_BLOB is derived from
27-
# https://dl.radxa.com/rockpis/images/loader/rk3308_loader_ddr589MHz_uart0_m0_v2.06.136sd.bin
28-
#by using the rkdeveloptool to "upgrade" the previous DDR_BLOB loader on the SDNAND
29-
#To recreate it, build the image with IDBLOADER_BLOB unset and boot Rock PI-S in MASKROM mode
30-
#On your host (connected to the RockPi-S's USB-C port):
31-
# rdeveloptool db rk3308_loader_ddr589MHz_uart0_m0_v2.06.136sd.bin
32-
# rdeveloptool wl 0 newly_built_image.img
33-
# rdeveloptool ul rk3308_loader_ddr589MHz_uart0_m0_v2.06.136sd.bin #this writes 280 sectors
4+
BOARD_NAME="Rockpi S"
5+
BOARDFAMILY=rockchip64
6+
BOARD_MAINTAINER=brentr
347

35-
#Then, reset the RockPi-S to boot from SDNAND. Using that running image:
36-
# dd if=/dev/mmcblk0 of=rk3308_idbloader_ddr589MHz_uart0_m0_v2.06.136sd.bin skip=64 count=280
8+
BOOTCONFIG=rock-pi-s-rk3308_defconfig
9+
BOOT_FDT_FILE=rockchip/rk3308-rock-pi-s.dtb
3710

38-
function post_family_config___uboot_config() {
11+
KERNEL_TARGET=current,edge
12+
KERNEL_TEST_TARGET=current
3913

40-
display_alert "$BOARD" "u-boot ${BOOTBRANCH_BOARD} overrides" "info"
41-
unset uboot_custom_postprocess family_tweaks_bsp # disable stuff from rockchip64_common
14+
DEFAULT_CONSOLE=serial
15+
SERIALCON=ttyS0
16+
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu panfrost"
17+
HAS_VIDEO_OUTPUT=no
4218

43-
BOOTSCRIPT=boot-rockchip64-ttyS0.cmd:boot.cmd
19+
BOOTBRANCH_BOARD=tag:v2024.10
20+
BOOTPATCHDIR=v2024.10
21+
BOOT_SCENARIO=binman
22+
DDR_BLOB=rk33/rk3308_ddr_589MHz_uart0_m0_v2.07.bin
23+
BL31_BLOB=rk33/rk3308_bl31_v2.26.elf
4424

45-
uboot_custom_postprocess() {
25+
OVERLAY_PREFIX=rk3308
4626

47-
# TODO: remove this diversion from common caused by different loaderimage params
48-
run_host_x86_binary_logged $RKBIN_DIR/tools/loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x600000 --size 1024 1 &&
49-
if [ -r "$IDBLOADER_BLOB" ]; then
50-
echo "Installing $IDBLOADER_BLOB"
51-
echo "Capable of booting from built-in SDNAND"
52-
cp $IDBLOADER_BLOB idbloader.bin
53-
else
54-
[ "$IDBLOADER_BLOB" ] && echo "Missing $IDBLOADER_BLOB"
55-
echo "WARNING: This image will not boot from built-in SDNAND"
56-
tools/mkimage -n rk3308 -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin &&
57-
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
58-
fi &&
59-
run_host_x86_binary_logged $RKBIN_DIR/tools/trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
60-
}
61-
62-
family_tweaks_bsp() { #Install udev script that derives fixed, unique MAC addresses for net interfaces
27+
function post_family_config__rockpis() {
28+
declare -g BOOTDIR="u-boot-${BOARD}"
29+
declare -g BOOTSCRIPT=boot-rockchip64-ttyS0.cmd:boot.cmd
6330

31+
family_tweaks_bsp() { #overrides rockchip64_common.inc
32+
#Install udev script that derives fixed, unique MAC addresses for net interfaces
6433
#that are assigned random ones -- like RockPI-S's WiFi network interfaces
6534
bsp=$SRC/packages/bsp/rockpis
6635
rules=etc/udev/rules.d
6736

6837
install -m 755 $bsp/lib/udev/fixEtherAddr $destination/lib/udev &&
69-
install -m 644 $bsp/$rules/05-fixMACaddress.rules $destination/$rules
38+
install -m 644 $bsp/$rules/05-fixMACaddress.rules $destination/$rules
7039
}
71-
7240
}
7341

7442
function pre_install_kernel_debs__enforce_cma() {
@@ -77,5 +45,5 @@ function pre_install_kernel_debs__enforce_cma() {
7745
display_alert "$BOARD" "set CMA size to 16MB due to small DRAM size"
7846
run_host_command_logged echo "extraargs=cma=16M" ">>" "${SDCARD}"/boot/armbianEnv.txt
7947

80-
return 0
48+
return 0
8149
}

config/sources/families/include/rockchip64_common.inc

+55-56
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ esac
5656
# - tpl-spl-blob: uses mainline u-boot TPL and SPL with proprietary rockchip ATF blob
5757
# - tpl-blob-atf-mainline: proprietary rockchip ddrbin + mainline u-boot SPL + mainline ATF
5858
# - blobless: mainline u-boot TPL + mainline u-boot SPL + mainline ATF
59+
# - binman: u-boot builds full boot image from information in device tree. See: https://docs.u-boot.org/en/latest/develop/package/binman.html
5960

6061
#BOOT_SOC=`expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*'`
6162
BOOT_SOC=${BOOT_SOC:=$(expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*' || true)}
@@ -80,12 +81,6 @@ case "$BOOT_SOC" in
8081
DDR_BLOB="${DDR_BLOB:-"rk33/rk3308_ddr_589MHz_uart2_m1_v1.30.bin"}"
8182
MINILOADER_BLOB="${MINILOADER_BLOB:-"rk33/rk3308_miniloader_v1.22.bin"}"
8283
BL31_BLOB="${BL31_BLOB:-"rk33/rk3308_bl31_v2.22.elf"}"
83-
84-
if [[ ${BRANCH} == legacy ]]; then
85-
DDR_BLOB="${DDR_BLOB:-"rk33/rk3308_ddr_589MHz_uart2_m0_v1.26.bin"}"
86-
MINILOADER_BLOB="${MINILOADER_BLOB:-"rk33/rk3308_miniloader_sd_nand_v1.13.bin"}"
87-
BL31_BLOB="${BL31_BLOB:-"rk33/rk3308_bl31_v2.10.elf"}"
88-
fi
8984
;;
9085

9186
rk3328)
@@ -157,9 +152,12 @@ case "$BOOT_SOC" in
157152
esac
158153

159154
prepare_boot_configuration() {
155+
ATFSOURCE=''
156+
ATF_COMPILE='no'
160157
case "$BOOT_SCENARIO" in
161158
blobless | tpl-blob-atf-mainline)
162159
UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
160+
ATF_COMPILE=yes
163161
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
164162
ATF_COMPILER='aarch64-linux-gnu-'
165163
ATFDIR='arm-trusted-firmware'
@@ -171,22 +169,17 @@ prepare_boot_configuration() {
171169
[[ $BOOT_SCENARIO == tpl-blob-atf-mainline ]] &&
172170
UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
173171
;;
174-
175172
tpl-spl-blob)
176173
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
177-
ATFSOURCE=''
178-
ATF_COMPILE='no'
179174
;;
180175
spl-blobs)
181176
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB spl/u-boot-spl.bin u-boot.dtb u-boot.itb;;idbloader.img u-boot.itb"
182-
ATFSOURCE=''
183-
ATF_COMPILE='no'
184177
;;
185-
186178
only-blobs)
187179
UBOOT_TARGET_MAP="u-boot-dtb.bin;;idbloader.bin uboot.img trust.bin"
188-
ATFSOURCE=''
189-
ATF_COMPILE='no'
180+
;;
181+
binman)
182+
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB ROCKCHIP_TPL=$RKBIN_DIR/$DDR_BLOB;;u-boot-rockchip.bin"
190183
;;
191184
esac
192185

@@ -206,45 +199,52 @@ prepare_boot_configuration() {
206199
}
207200

208201
uboot_custom_postprocess() {
209-
[[ -z ${BOOT_SOC} ]] && exit_with_error "BOOT_SOC not defined for scenario '${BOOT_SCENARIO}' for BOARD'=${BOARD}' and BOOTCONFIG='${BOOTCONFIG}'"
210-
211-
if [[ $BOOT_SCENARIO == "blobless" || $BOOT_SCENARIO == "tpl-spl-blob" ]]; then
212-
:
213-
elif [[ $BOOT_SCENARIO == "spl-blobs" || $BOOT_SCENARIO == "tpl-blob-atf-mainline" ]]; then
214-
# Bomb if DDR_BLOB not defined or does not exist
215-
declare SPL_BIN_PATH="${RKBIN_DIR}/${DDR_BLOB}"
216-
[[ -z ${SPL_BIN_PATH} ]] && exit_with_error "DDR_BLOB not defined for scenario ${BOOT_SCENARIO}"
217-
[[ ! -f "${SPL_BIN_PATH}" ]] && exit_with_error "DDR_BLOB ${SPL_BIN_PATH} does not exist for scenario ${BOOT_SCENARIO}"
218-
219-
if [[ $BOOT_SOC == "rk3576" ]]; then
220-
display_alert "boot_merger for '${BOOT_SOC}' for scenario ${BOOT_SCENARIO}" "SPL_BIN_PATH: ${SPL_BIN_PATH}" "debug"
221-
RKBOOT_INI_FILE=rk3576.ini
222-
cp $RKBIN_DIR/rk35/RK3576MINIALL.ini $RKBOOT_INI_FILE
223-
sed -i "s|FlashBoost=.*$|FlashBoost=${RKBIN_DIR}/rk35/rk3576_boost_v1.02.bin|g" $RKBOOT_INI_FILE
224-
sed -i "s|Path1=.*rk3576_ddr.*$|Path1=${SPL_BIN_PATH}|g" $RKBOOT_INI_FILE
225-
sed -i "s|Path1=.*rk3576_usbplug.*$|Path1=${RKBIN_DIR}/rk35/rk3576_usbplug_v1.03.bin|g" $RKBOOT_INI_FILE
226-
sed -i "s|FlashData=.*$|FlashData=${SPL_BIN_PATH}|g" $RKBOOT_INI_FILE
227-
sed -i "s|FlashBoot=.*$|FlashBoot=./spl/u-boot-spl.bin|g" $RKBOOT_INI_FILE
228-
sed -i "s|IDB_PATH=.*$|IDB_PATH=idbloader.img|g" $RKBOOT_INI_FILE
229-
run_host_x86_binary_logged $RKBIN_DIR/tools/boot_merger $RKBOOT_INI_FILE
230-
rm -f $RKBOOT_INI_FILE
231-
else
232-
display_alert "mkimage for '${BOOT_SOC}' for scenario ${BOOT_SCENARIO}" "SPL_BIN_PATH: ${SPL_BIN_PATH}" "debug"
233-
run_host_command_logged tools/mkimage -n "${BOOT_SOC_MKIMAGE}" -T rksd -d "${SPL_BIN_PATH}:spl/u-boot-spl.bin" idbloader.img
234-
fi
202+
[[ -z ${BOOT_SOC} ]] &&
203+
exit_with_error "BOOT_SOC not defined for scenario '${BOOT_SCENARIO}' for BOARD'=${BOARD}' and BOOTCONFIG='${BOOTCONFIG}'"
204+
display_alert "${BOARD}" "boots with ${BOOT_SCENARIO} scenario" "info"
235205

236-
elif [[ $BOOT_SCENARIO == "only-blobs" ]]; then
206+
case "$BOOT_SCENARIO" in
207+
blobless | tpl-spl-blob | binman)
208+
:
209+
;;
237210

238-
local tempfile
239-
tempfile=$(mktemp)
240-
run_host_command_logged tools/mkimage -n "${BOOT_SOC_MKIMAGE}" -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin
241-
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
242-
run_host_x86_binary_logged $RKBIN_DIR/tools/loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x200000
243-
run_host_x86_binary_logged $RKBIN_DIR/tools/trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
211+
spl-blobs | tpl-blob-atf-mainline)
212+
# Bomb if DDR_BLOB not defined or does not exist
213+
declare SPL_BIN_PATH="${RKBIN_DIR}/${DDR_BLOB}"
214+
[[ -z ${SPL_BIN_PATH} ]] && exit_with_error "DDR_BLOB not defined for scenario ${BOOT_SCENARIO}"
215+
[[ ! -f "${SPL_BIN_PATH}" ]] && exit_with_error "DDR_BLOB ${SPL_BIN_PATH} does not exist for scenario ${BOOT_SCENARIO}"
216+
217+
if [[ "$BOOT_SOC" == "rk3576" ]]; then
218+
display_alert "boot_merger for '${BOOT_SOC}' for scenario ${BOOT_SCENARIO}" "SPL_BIN_PATH: ${SPL_BIN_PATH}" "debug"
219+
RKBOOT_INI_FILE=rk3576.ini
220+
cp $RKBIN_DIR/rk35/RK3576MINIALL.ini $RKBOOT_INI_FILE
221+
sed -i "s|FlashBoost=.*$|FlashBoost=${RKBIN_DIR}/rk35/rk3576_boost_v1.02.bin|g" $RKBOOT_INI_FILE
222+
sed -i "s|Path1=.*rk3576_ddr.*$|Path1=${SPL_BIN_PATH}|g" $RKBOOT_INI_FILE
223+
sed -i "s|Path1=.*rk3576_usbplug.*$|Path1=${RKBIN_DIR}/rk35/rk3576_usbplug_v1.03.bin|g" $RKBOOT_INI_FILE
224+
sed -i "s|FlashData=.*$|FlashData=${SPL_BIN_PATH}|g" $RKBOOT_INI_FILE
225+
sed -i "s|FlashBoot=.*$|FlashBoot=./spl/u-boot-spl.bin|g" $RKBOOT_INI_FILE
226+
sed -i "s|IDB_PATH=.*$|IDB_PATH=idbloader.img|g" $RKBOOT_INI_FILE
227+
run_host_x86_binary_logged $RKBIN_DIR/tools/boot_merger $RKBOOT_INI_FILE
228+
rm -f $RKBOOT_INI_FILE
229+
else
230+
display_alert "mkimage for '${BOOT_SOC}' for scenario ${BOOT_SCENARIO}" "SPL_BIN_PATH: ${SPL_BIN_PATH}" "debug"
231+
run_host_command_logged tools/mkimage -n "${BOOT_SOC_MKIMAGE}" -T rksd -d "${SPL_BIN_PATH}:spl/u-boot-spl.bin" idbloader.img
232+
fi
233+
;;
244234

245-
else
246-
exit_with_error "Unsupported u-boot processing configuration!"
247-
fi
235+
only-blobs)
236+
local tempfile
237+
tempfile=$(mktemp)
238+
run_host_command_logged tools/mkimage -n "${BOOT_SOC_MKIMAGE}" -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin
239+
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
240+
run_host_x86_binary_logged $RKBIN_DIR/tools/loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x200000
241+
run_host_x86_binary_logged $RKBIN_DIR/tools/trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
242+
;;
243+
244+
*)
245+
exit_with_error "\"$BOOT_SCENARIO\" is an Unsupported Boot Scenario!"
246+
;;
247+
esac
248248

249249
if [[ $BOOT_SUPPORT_SPI == yes ]]; then
250250
if [[ "${BOOT_SPI_RKSPI_LOADER:-"no"}" == "yes" ]]; then
@@ -273,9 +273,11 @@ write_uboot_platform() {
273273
local logging_prelude=""
274274
[[ $(type -t run_host_command_logged) == function ]] && logging_prelude="run_host_command_logged"
275275

276-
if [[ -f $1/rksd_loader.img ]]; then # legacy rk3399 loader
276+
if [ -f $1/u-boot-rockchip.bin ]; then #"$BOOT_SCENARIO" == binman
277+
${logging_prelude} dd if=$1/u-boot-rockchip.bin of=$2 bs=32k seek=1 conv=notrunc status=none
278+
elif [ -f $1/rksd_loader.img ]; then # legacy rk3399 loader
277279
${logging_prelude} dd if=$1/rksd_loader.img of=$2 seek=64 conv=notrunc status=none
278-
elif [[ -f $1/u-boot.itb ]]; then # $BOOT_SCENARIO == "blobless" || $BOOT_SCENARIO == "tpl-spl-blob"
280+
elif [[ -f $1/u-boot.itb ]]; then # $BOOT_SCENARIO "blobless" or "tpl-spl-blob"
279281
${logging_prelude} dd if=$1/idbloader.img of=$2 seek=64 conv=notrunc status=none
280282
${logging_prelude} dd if=$1/u-boot.itb of=$2 seek=16384 conv=notrunc status=none
281283
elif [[ -f $1/uboot.img ]]; then # $BOOT_SCENARIO == "only-blobs"
@@ -288,16 +290,13 @@ write_uboot_platform() {
288290
fi
289291
}
290292

293+
# @TODO: this is not ready for BOOT_SCENARIO=binman yet
291294
write_uboot_platform_mtd() {
292295
if [[ -f $1/rkspi_loader.img ]]; then
293-
294296
dd if=$1/rkspi_loader.img of=$2 conv=notrunc status=none > /dev/null 2>&1
295-
296297
else
297-
298298
echo "SPI u-boot image not found!"
299299
exit 1
300-
301300
fi
302301
}
303302

Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Brent Roman <[email protected]>
3+
Date: Sat, 16 Nov 2024 20:50:41 -0800
4+
Subject: Ensure Rock S0 v1.1 boards u-boot SPL can access MMC card
5+
6+
Signed-off-by: Brent Roman <[email protected]>
7+
---
8+
arch/arm/dts/rk3308-rock-s0-u-boot.dtsi | 15 ++++++++++
9+
1 file changed, 15 insertions(+)
10+
11+
diff --git a/arch/arm/dts/rk3308-rock-s0-u-boot.dtsi b/arch/arm/dts/rk3308-rock-s0-u-boot.dtsi
12+
index 84ca2ee0d5..c0d7f7b651 100644
13+
--- a/arch/arm/dts/rk3308-rock-s0-u-boot.dtsi
14+
+++ b/arch/arm/dts/rk3308-rock-s0-u-boot.dtsi
15+
@@ -5,10 +5,25 @@
16+
&emmc_pwren {
17+
bootph-pre-ram;
18+
bootph-some-ram;
19+
};
20+
21+
+&pcfg_pull_down {
22+
+ bootph-pre-ram;
23+
+ bootph-some-ram;
24+
+};
25+
+
26+
+&sdmmc {
27+
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_pwren &sdmmc_bus4>;
28+
+};
29+
+
30+
+&sdmmc_pwren {
31+
+ bootph-pre-ram;
32+
+ bootph-some-ram;
33+
+ rockchip,pins = <4 RK_PD6 0 &pcfg_pull_down>;
34+
+};
35+
+
36+
&uart0 {
37+
bootph-all;
38+
clock-frequency = <24000000>;
39+
};
40+
41+
--
42+
Created with Armbian build tools https://github.com/armbian/build

0 commit comments

Comments
 (0)