summaryrefslogtreecommitdiff
path: root/arch/arm/mach-rockchip
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2026-06-10 13:12:13 -0600
committerTom Rini <trini@konsulko.com>2026-06-10 13:12:35 -0600
commit3cdce049f90d77c3f9221f1eb73922384c8972c3 (patch)
treec34ab693c99be19ae86c46551265da1d80ba455b /arch/arm/mach-rockchip
parenta30fd0895d1c7cabedac6de79c46a32c9543bd8e (diff)
parent22fa81fd8cce908ecc7e93b55ec4e8df8507779b (diff)
Merge tag 'u-boot-rockchip-20260610' of https://source.denx.de/u-boot/custodians/u-boot-rockchipHEADmaster
CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/30398 Please pull the updates for rockchip platform: - New Board support: rk3588 FriendlyElec NanoPi R76S - UFS boot from SPL for rk3576 (NanoPi M5, ROCK 4D) - Clock support for RK3576 GMAC 25MHz output and RK3528/RK3576 USB3 OTG - Switch rk3128/rk3229 boards to upstream devicetree - MAINTAINERS update for upstream devicetree references - rk3588-rock-5b: Remove USB-C controller from u-boot.dtsi
Diffstat (limited to 'arch/arm/mach-rockchip')
-rw-r--r--arch/arm/mach-rockchip/Kconfig2
-rw-r--r--arch/arm/mach-rockchip/rk3576/MAINTAINERS6
-rw-r--r--arch/arm/mach-rockchip/rk3576/rk3576.c1
-rw-r--r--arch/arm/mach-rockchip/spl-boot-order.c14
4 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index 108713488af..d92fcae2bb5 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -65,6 +65,7 @@ config ROCKCHIP_RK3066
config ROCKCHIP_RK3128
bool "Support Rockchip RK3128"
select CPU_V7A
+ imply OF_UPSTREAM
imply ROCKCHIP_COMMON_BOARD
help
The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
@@ -108,6 +109,7 @@ config ROCKCHIP_RK322X
select TPL_OF_LIBFDT
select TPL_HAVE_INIT_STACK if TPL
select SPL_DRIVERS_MISC
+ imply OF_UPSTREAM
imply ROCKCHIP_COMMON_BOARD
imply SPL_SERIAL
imply SPL_ROCKCHIP_COMMON_BOARD
diff --git a/arch/arm/mach-rockchip/rk3576/MAINTAINERS b/arch/arm/mach-rockchip/rk3576/MAINTAINERS
index 393edd3984c..79cf9e97f70 100644
--- a/arch/arm/mach-rockchip/rk3576/MAINTAINERS
+++ b/arch/arm/mach-rockchip/rk3576/MAINTAINERS
@@ -10,6 +10,12 @@ S: Maintained
F: arch/arm/dts/rk3576-nanopi-m5*
F: configs/nanopi-m5-rk3576_defconfig
+NANOPI-R76S-RK3576
+M: Jonas Karlman <jonas@kwiboo.se>
+S: Maintained
+F: arch/arm/dts/rk3576-nanopi-r76s*
+F: configs/nanopi-r76s-rk3576_defconfig
+
OMNI3576-RK3576
M: Jonas Karlman <jonas@kwiboo.se>
S: Maintained
diff --git a/arch/arm/mach-rockchip/rk3576/rk3576.c b/arch/arm/mach-rockchip/rk3576/rk3576.c
index c17ba418ced..1def4e87971 100644
--- a/arch/arm/mach-rockchip/rk3576/rk3576.c
+++ b/arch/arm/mach-rockchip/rk3576/rk3576.c
@@ -49,6 +49,7 @@ const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
[BROM_BOOTSOURCE_FSPI0] = "/soc/spi@2a340000/flash@0",
[BROM_BOOTSOURCE_FSPI1_M1] = "/soc/spi@2a300000/flash@0",
[BROM_BOOTSOURCE_SD] = "/soc/mmc@2a310000",
+ [BROM_BOOTSOURCE_UFS] = "/soc/ufshc@2a2d0000",
};
static struct mm_region rk3576_mem_map[] = {
diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
index 6572dde29f6..d2dd5e10935 100644
--- a/arch/arm/mach-rockchip/spl-boot-order.c
+++ b/arch/arm/mach-rockchip/spl-boot-order.c
@@ -76,6 +76,9 @@ static int spl_node_to_boot_device(int node)
if (!uclass_find_device_by_of_offset(UCLASS_SPI_FLASH, node, &parent))
return BOOT_DEVICE_SPI;
+ if (!uclass_find_device_by_of_offset(UCLASS_UFS, node, &parent))
+ return BOOT_DEVICE_UFS;
+
return -1;
}
@@ -231,6 +234,17 @@ int spl_decode_boot_device(u32 boot_device, char *buf, size_t buflen)
return -ENODEV;
}
+ if (boot_device == BOOT_DEVICE_UFS) {
+ ret = uclass_find_device(UCLASS_UFS, 0, &dev);
+ if (ret) {
+ debug("%s: could not find device for UFS: %d\n",
+ __func__, ret);
+ return ret;
+ }
+
+ return ofnode_get_path(dev_ofnode(dev), buf, buflen);
+ }
+
#if CONFIG_IS_ENABLED(BLK)
dev_num = (boot_device == BOOT_DEVICE_MMC1) ? 0 : 1;