]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
rockchip: rk3576: Add support for ROC-RK3576-PC board
authorHeiko Stuebner <heiko@sntech.de>
Tue, 15 Apr 2025 21:51:28 +0000 (23:51 +0200)
committerKever Yang <kever.yang@rock-chips.com>
Wed, 23 Apr 2025 14:12:06 +0000 (22:12 +0800)
The ROC-RK3576-PC is a SBC made by Firefly, designed around the RK3576
SoC. This adds the needed board infrastructure and config for it.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/dts/rk3576-roc-pc-u-boot.dtsi [new file with mode: 0644]
arch/arm/mach-rockchip/rk3576/Kconfig
board/firefly/roc-pc-rk3576/Kconfig [new file with mode: 0644]
board/firefly/roc-pc-rk3576/MAINTAINERS [new file with mode: 0644]
configs/roc-pc-rk3576_defconfig [new file with mode: 0644]
doc/board/rockchip/rockchip.rst
include/configs/roc-pc-rk3576.h [new file with mode: 0644]

diff --git a/arch/arm/dts/rk3576-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3576-roc-pc-u-boot.dtsi
new file mode 100644 (file)
index 0000000..9724034
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2023 Joshua Riek <jjriek@verizon.net>
+ *
+ */
+
+#include "rk3576-u-boot.dtsi"
+
+&sdhci {
+       cap-mmc-highspeed;
+};
index a94dc6706f0937bb9e57900a4f95a40e33d2364a..f347caf8904c85e6fb5cb087defb3c5221fbaf7e 100644 (file)
@@ -1,5 +1,11 @@
 if ROCKCHIP_RK3576
 
+config TARGET_ROC_PC_RK3576
+       bool "Firefly ROC-RK3576-PC"
+       help
+         ROC-RK3576-PC is a single board computer from Firefly
+         using the Rockchip RK3576.
+
 config ROCKCHIP_BOOT_MODE_REG
        default 0x26024040
 
@@ -9,6 +15,8 @@ config ROCKCHIP_STIMER_BASE
 config SYS_SOC
        default "rk3576"
 
+source board/firefly/roc-pc-rk3576/Kconfig
+
 config SYS_CONFIG_NAME
        default "rk3576_common"
 
diff --git a/board/firefly/roc-pc-rk3576/Kconfig b/board/firefly/roc-pc-rk3576/Kconfig
new file mode 100644 (file)
index 0000000..2fc0f91
--- /dev/null
@@ -0,0 +1,12 @@
+if TARGET_ROC_PC_RK3576
+
+config SYS_BOARD
+       default "roc-pc-rk3576"
+
+config SYS_VENDOR
+       default "firefly"
+
+config SYS_CONFIG_NAME
+       default "roc-pc-rk3576"
+
+endif
diff --git a/board/firefly/roc-pc-rk3576/MAINTAINERS b/board/firefly/roc-pc-rk3576/MAINTAINERS
new file mode 100644 (file)
index 0000000..aa8897c
--- /dev/null
@@ -0,0 +1,7 @@
+ROC-RK3576-PC
+M:     Heiko Stuebner <heiko@sntech.de>
+S:     Maintained
+F:     board/firefly/roc-pc-rk3576
+F:     include/configs/roc-pc-rk3576.h
+F:     configs/roc-pc-rk3576_defconfig
+F:     arch/arm/dts/rk3576-roc-pc*
diff --git a/configs/roc-pc-rk3576_defconfig b/configs/roc-pc-rk3576_defconfig
new file mode 100644 (file)
index 0000000..af2c102
--- /dev/null
@@ -0,0 +1,45 @@
+CONFIG_ARM=y
+CONFIG_SKIP_LOWLEVEL_INIT=y
+CONFIG_COUNTER_FREQUENCY=24000000
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3576-roc-pc"
+CONFIG_ROCKCHIP_RK3576=y
+CONFIG_TARGET_ROC_PC_RK3576=y
+CONFIG_SYS_LOAD_ADDR=0x40c00800
+CONFIG_DEBUG_UART_BASE=0x2AD40000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART=y
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-roc-pc.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_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_REGULATOR=y
+# CONFIG_SPL_DOS_PARTITION is not set
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_BUTTON=y
+CONFIG_BUTTON_ADC=y
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_SYS_I2C_ROCKCHIP=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_PHY_MOTORCOMM=y
+CONFIG_DWC_ETH_QOS=y
+CONFIG_DWC_ETH_QOS_ROCKCHIP=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_RK8XX=y
+CONFIG_REGULATOR_RK8XX=y
+CONFIG_BAUDRATE=1500000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
+CONFIG_SYSRESET_PSCI=y
+CONFIG_ERRNO_STR=y
index 1058a1ce990681214f757147f1d2d93b0cbaafec..8d7c2591e25f731a02f49485763c30e129022da1 100644 (file)
@@ -130,6 +130,9 @@ List of mainline supported Rockchip boards:
      - Radxa ROCK 3A (rock-3a-rk3568)
      - Radxa ROCK 3B (rock-3b-rk3568)
 
+* rk3576
+     - Firefly ROC-RK3576-PC (roc-pc-rk3576)
+
 * rk3588
      - ArmSoM Sige7 (sige7-rk3588)
      - Rockchip EVB (evb-rk3588)
diff --git a/include/configs/roc-pc-rk3576.h b/include/configs/roc-pc-rk3576.h
new file mode 100644 (file)
index 0000000..77c95f0
--- /dev/null
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
+ */
+
+#ifndef __ROC_PC_RK3576_H
+#define __ROC_PC_RK3576_H
+
+#define ROCKCHIP_DEVICE_SETTINGS \
+               "stdout=serial,vidconsole\0" \
+               "stderr=serial,vidconsole\0"
+
+#include <configs/rk3576_common.h>
+
+#endif