board: rockchip: Add minimal generic RK3528 board

Add a minimal generic RK3528 board that only have eMMC and SD-card
enabled. This defconfig can be used to boot from eMMC or SD-card on most
RK3528 boards that follow reference board design.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Jonas Karlman 2025-04-07 22:47:02 +00:00 committed by Kever Yang
parent 838bf2f09b
commit b112a44531
5 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,12 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
#include "rk3528-u-boot.dtsi"
&sdmmc {
bus-width = <4>;
cap-sd-highspeed;
disable-wp;
no-mmc;
no-sdio;
status = "okay";
};

View File

@ -0,0 +1,31 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Minimal generic DT for RK3528 with eMMC enabled
*/
/dts-v1/;
#include "rk3528.dtsi"
/ {
model = "Generic RK3528";
compatible = "rockchip,rk3528";
chosen {
stdout-path = "serial0:1500000n8";
};
};
&sdhci {
bus-width = <8>;
cap-mmc-highspeed;
no-sd;
no-sdio;
non-removable;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
status = "okay";
};

View File

@ -0,0 +1,5 @@
GENERIC-RK3528
M: Jonas Karlman <jonas@kwiboo.se>
S: Maintained
F: arch/arm/dts/rk3528-generic*
F: configs/generic-rk3528_defconfig

View File

@ -0,0 +1,40 @@
CONFIG_ARM=y
CONFIG_SKIP_LOWLEVEL_INIT=y
CONFIG_COUNTER_FREQUENCY=24000000
CONFIG_ARCH_ROCKCHIP=y
CONFIG_DEFAULT_DEVICE_TREE="rk3528-generic"
CONFIG_ROCKCHIP_RK3528=y
CONFIG_SYS_LOAD_ADDR=0xc00800
CONFIG_DEBUG_UART_BASE=0xFF9F0000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART=y
# CONFIG_BOOTMETH_VBE is not set
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-generic.dtb"
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL_MAX_SIZE=0x40000
CONFIG_SPL_PAD_TO=0x7f8000
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MEMINFO_MAP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
CONFIG_CMD_MISC=y
CONFIG_CMD_MMC=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_RNG=y
# CONFIG_SPL_DOS_PARTITION is not set
# CONFIG_OF_UPSTREAM is not set
CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
CONFIG_NO_NET=y
# CONFIG_ADC is not set
CONFIG_ROCKCHIP_GPIO=y
CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_ROCKCHIP=y
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYS_NS16550_MEM32=y
CONFIG_ERRNO_STR=y

View File

@ -97,6 +97,9 @@ List of mainline supported Rockchip boards:
- Rockchip Evb-RK3399 (evb_rk3399) - Rockchip Evb-RK3399 (evb_rk3399)
- Theobroma Systems RK3399-Q7 SoM - Puma (puma_rk3399) - Theobroma Systems RK3399-Q7 SoM - Puma (puma_rk3399)
* rk3528
- Generic RK3528 (generic-rk3528)
* rk3566 * rk3566
- Anbernic RGxx3 (anbernic-rgxx3-rk3566) - Anbernic RGxx3 (anbernic-rgxx3-rk3566)
- FriendlyElec NanoPi R3S (nanopi-r3s-rk3566) - FriendlyElec NanoPi R3S (nanopi-r3s-rk3566)
@ -258,6 +261,15 @@ To build rk3399 boards:
make evb-rk3399_defconfig make evb-rk3399_defconfig
make CROSS_COMPILE=aarch64-linux-gnu- make CROSS_COMPILE=aarch64-linux-gnu-
To build rk3528 boards:
.. code-block:: bash
export BL31=../rkbin/bin/rk35/rk3528_bl31_v1.18.elf
export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.10.bin
make generic-rk3528_defconfig
make CROSS_COMPILE=aarch64-linux-gnu-
To build rk3568 boards: To build rk3568 boards:
.. code-block:: bash .. code-block:: bash