From 46fc271b646c5e755746d348c58e380ce02122e2 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 29 Jan 2025 11:43:33 +0100 Subject: rockchip: px30: add fdtoverlay_addr_r default value to support FDTO In order to be able to use Device Tree Overlays, the fdtoverlay_addr_r needs to be specified. Follow what's been done for other Rockchip SoCs and leave 1MiB for the base DTB before the address for the overlay. Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- include/configs/px30_common.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/configs/px30_common.h b/include/configs/px30_common.h index 13ed9011764..d0539003fd5 100644 --- a/include/configs/px30_common.h +++ b/include/configs/px30_common.h @@ -20,6 +20,7 @@ "scriptaddr=0x00500000\0" \ "pxefile_addr_r=0x00600000\0" \ "fdt_addr_r=0x08300000\0" \ + "fdtoverlay_addr_r=0x08400000\0" \ "kernel_addr_r=0x00280000\0" \ "ramdisk_addr_r=0x0a200000\0" \ "kernel_comp_addr_r=0x03e80000\0" \ -- cgit v1.2.3 From f88364d5d99da2b95f06a114eef9c852a5a3b8ee Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:23 +0000 Subject: rockchip: Remove partitions env variable for RK356x The partitions env variable is using an outdated partition layout that is typically expected to be used with older vendor miniloader blobs. Rockchip devices will run fine using any partition layout if the first 16 MiB of MMC storage is ignored/skipped. Remove the partitions env variable to stop encourage users a continued use of this outdated partition layout on RK356x devices. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3568_common.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/configs/rk3568_common.h b/include/configs/rk3568_common.h index 09b7b71c6af..a68ca381db5 100644 --- a/include/configs/rk3568_common.h +++ b/include/configs/rk3568_common.h @@ -29,7 +29,6 @@ #define CFG_EXTRA_ENV_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ - "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \ "boot_targets=" BOOT_TARGETS "\0" -- cgit v1.2.3 From 4c8a2564b28e12218cb130ee9e500f408cba2d4f Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:24 +0000 Subject: rockchip: Remove partitions env variable for RK3588 The partitions env variable is using an outdated partition layout that is typically expected to be used with older vendor miniloader blobs. Rockchip devices will run fine using any partition layout if the first 16 MiB of MMC storage is ignored/skipped. Remove the partitions env variable to stop encourage users a continued use of this outdated partition layout on RK3588 devices. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3588_common.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/configs/rk3588_common.h b/include/configs/rk3588_common.h index e6654c275ac..7b02560971a 100644 --- a/include/configs/rk3588_common.h +++ b/include/configs/rk3588_common.h @@ -28,7 +28,6 @@ #define CFG_EXTRA_ENV_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ - "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \ "boot_targets=" BOOT_TARGETS "\0" -- cgit v1.2.3 From e8f2dd137d573be9beca3a1ceb5b9d4c8d2bde6e Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:25 +0000 Subject: rockchip: Ensure device settings is defined before rk3568_common.h Ensure ROCKCHIP_DEVICE_SETTINGS is defined before including rk3568_common.h in board include/configs files. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/anbernic-rgxx3-rk3566.h | 4 ++-- include/configs/evb_rk3568.h | 4 ++-- include/configs/powkiddy-x55-rk3566.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/configs/anbernic-rgxx3-rk3566.h b/include/configs/anbernic-rgxx3-rk3566.h index 3c4ea4e7d84..3d9e05a976a 100644 --- a/include/configs/anbernic-rgxx3-rk3566.h +++ b/include/configs/anbernic-rgxx3-rk3566.h @@ -3,10 +3,10 @@ #ifndef __ANBERNIC_RGXX3_RK3566_H #define __ANBERNIC_RGXX3_RK3566_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif diff --git a/include/configs/evb_rk3568.h b/include/configs/evb_rk3568.h index a0f2383bf2f..9070160cf58 100644 --- a/include/configs/evb_rk3568.h +++ b/include/configs/evb_rk3568.h @@ -6,10 +6,10 @@ #ifndef __EVB_RK3568_H #define __EVB_RK3568_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif diff --git a/include/configs/powkiddy-x55-rk3566.h b/include/configs/powkiddy-x55-rk3566.h index 4b25c6a8774..8ace435434f 100644 --- a/include/configs/powkiddy-x55-rk3566.h +++ b/include/configs/powkiddy-x55-rk3566.h @@ -3,10 +3,10 @@ #ifndef __POWKIDDY_X55_RK3566_H #define __POWKIDDY_X55_RK3566_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif -- cgit v1.2.3 From fd753bc2a9cc95afd4e7c3df41c6ab0b8f77cc74 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:26 +0000 Subject: rockchip: Ensure device settings is defined before rk3588_common.h Ensure ROCKCHIP_DEVICE_SETTINGS is defined before including rk3588_common.h in board include/configs files. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/evb_rk3588.h | 4 ++-- include/configs/khadas-edge2-rk3588s.h | 4 ++-- include/configs/toybrick_rk3588.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/configs/evb_rk3588.h b/include/configs/evb_rk3588.h index 4568e2cace6..5ff1ddbfcbe 100644 --- a/include/configs/evb_rk3588.h +++ b/include/configs/evb_rk3588.h @@ -6,10 +6,10 @@ #ifndef __EVB_RK3588_H #define __EVB_RK3588_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif diff --git a/include/configs/khadas-edge2-rk3588s.h b/include/configs/khadas-edge2-rk3588s.h index d279cf3826a..fe8461d6362 100644 --- a/include/configs/khadas-edge2-rk3588s.h +++ b/include/configs/khadas-edge2-rk3588s.h @@ -6,10 +6,10 @@ #ifndef __KHADAS_EDGE2_RK3588_H #define __KHADAS_EDGE2_RK3588_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif /* __KHADAS_EDGE2_RK3588_H */ diff --git a/include/configs/toybrick_rk3588.h b/include/configs/toybrick_rk3588.h index faa2e6c19c3..00565089676 100644 --- a/include/configs/toybrick_rk3588.h +++ b/include/configs/toybrick_rk3588.h @@ -6,10 +6,10 @@ #ifndef __TOYBRICK_RK3588_H #define __TOYBRICK_RK3588_H -#include - #define ROCKCHIP_DEVICE_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" +#include + #endif -- cgit v1.2.3 From 3167636f796d05f992a8b20d4f7714028ee805ec Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:27 +0000 Subject: rockchip: Use rk3568_common.h by default for RK356x boards Ensure rk3568_common.h can be used by boards directly by defining a blank ROCKCHIP_DEVICE_SETTINGS unless it already is defined. Add a default SYS_CONFIG_NAME to include rk3568_common.h unless a board target overrides it in its board Kconfig. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3568_common.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/configs/rk3568_common.h b/include/configs/rk3568_common.h index a68ca381db5..b2a35db0b94 100644 --- a/include/configs/rk3568_common.h +++ b/include/configs/rk3568_common.h @@ -15,6 +15,10 @@ #define CFG_SYS_SDRAM_BASE 0 #define SDRAM_MAX_SIZE 0xf0000000 +#ifndef ROCKCHIP_DEVICE_SETTINGS +#define ROCKCHIP_DEVICE_SETTINGS +#endif + #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00c00000\0" \ "script_offset_f=0xffe000\0" \ -- cgit v1.2.3 From 0992c6690314d4eeb818e0c113e0bd2deeea8f53 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 6 Apr 2025 00:24:28 +0000 Subject: rockchip: Use rk3588_common.h by default for RK3588 boards Ensure rk3588_common.h can be used by boards directly by defining a blank ROCKCHIP_DEVICE_SETTINGS unless it already is defined. Add a default SYS_CONFIG_NAME to include rk3588_common.h unless a board target overrides it in its board Kconfig. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3588_common.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/configs/rk3588_common.h b/include/configs/rk3588_common.h index 7b02560971a..2f0d40deb64 100644 --- a/include/configs/rk3588_common.h +++ b/include/configs/rk3588_common.h @@ -14,6 +14,10 @@ #define CFG_SYS_SDRAM_BASE 0 #define SDRAM_MAX_SIZE 0xf0000000 +#ifndef ROCKCHIP_DEVICE_SETTINGS +#define ROCKCHIP_DEVICE_SETTINGS +#endif + #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00c00000\0" \ "script_offset_f=0xffe000\0" \ -- cgit v1.2.3 From 5ad65cae8658bb365a543ec03fcbd1af5c77002b Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Mon, 7 Apr 2025 22:46:52 +0000 Subject: arch: arm: rockchip: Add initial support for RK3528 Rockchip RK3528 is a ARM-based SoC with quad-core Cortex-A53. Add initial arch support for the RK3528 SoC. Signed-off-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3528_common.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 include/configs/rk3528_common.h (limited to 'include') diff --git a/include/configs/rk3528_common.h b/include/configs/rk3528_common.h new file mode 100644 index 00000000000..f7dc6ecd594 --- /dev/null +++ b/include/configs/rk3528_common.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* Copyright Contributors to the U-Boot project. */ + +#ifndef __CONFIG_RK3528_COMMON_H +#define __CONFIG_RK3528_COMMON_H + +#define CFG_CPUID_OFFSET 0xa + +#include "rockchip-common.h" + +#define CFG_IRAM_BASE 0xfe480000 + +#define CFG_SYS_SDRAM_BASE 0 +#define SDRAM_MAX_SIZE 0xfc000000 + +#ifndef ROCKCHIP_DEVICE_SETTINGS +#define ROCKCHIP_DEVICE_SETTINGS +#endif + +#define ENV_MEM_LAYOUT_SETTINGS \ + "scriptaddr=0x00c00000\0" \ + "script_offset_f=0xffe000\0" \ + "script_size_f=0x2000\0" \ + "pxefile_addr_r=0x00e00000\0" \ + "kernel_addr_r=0x02000000\0" \ + "kernel_comp_addr_r=0x0a000000\0" \ + "fdt_addr_r=0x12000000\0" \ + "fdtoverlay_addr_r=0x12100000\0" \ + "ramdisk_addr_r=0x12180000\0" \ + "kernel_comp_size=0x8000000\0" + +#define CFG_EXTRA_ENV_SETTINGS \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ + ENV_MEM_LAYOUT_SETTINGS \ + ROCKCHIP_DEVICE_SETTINGS \ + "boot_targets=" BOOT_TARGETS "\0" + +#endif /* __CONFIG_RK3528_COMMON_H */ -- cgit v1.2.3 From e59cd9cb3d6883172f1c635a50008de9f8c6e69e Mon Sep 17 00:00:00 2001 From: Xuhui Lin Date: Tue, 15 Apr 2025 23:51:16 +0200 Subject: arm: rockchip: Add RK3576 arch core support The Rockchip RK3576 is a ARM-based SoC with quad-core Cortex-A72 and quad-core Cortex-A53 including 6TOPS NPU, Mali-G52 MC3, HDMI Out, DP, eDP, MIPI DSI, MIPI CSI2, LPDDR4/4X/5, eMMC5.1, SD3.0/MMC4.5, UFS, USB OTG 3.0, Type-C, USB 2.0, PCIe 2.1, SATA 3, Ethernet, SDIO3.0, I2C, UART, SPI, GPIO and PWM. Add arch core support for it. Signed-off-by: Xuhui Lin [adapted for mainline u-boot] Signed-off-by: Heiko Stuebner Reviewed-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/rk3576_common.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 include/configs/rk3576_common.h (limited to 'include') diff --git a/include/configs/rk3576_common.h b/include/configs/rk3576_common.h new file mode 100644 index 00000000000..14d1d863609 --- /dev/null +++ b/include/configs/rk3576_common.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2024 Rockchip Electronics Co., Ltd + */ + +#ifndef __CONFIG_RK3576_COMMON_H +#define __CONFIG_RK3576_COMMON_H + +#define CFG_CPUID_OFFSET 0xa + +#include "rockchip-common.h" + +#define CFG_IRAM_BASE 0x3ff80000 + +#define CFG_SYS_SDRAM_BASE 0x40000000 +/* Used by board_get_usable_ram_top(), space below the 4G address boundary */ +#define SDRAM_MAX_SIZE (SZ_4G - CFG_SYS_SDRAM_BASE) + +#ifndef ROCKCHIP_DEVICE_SETTINGS +#define ROCKCHIP_DEVICE_SETTINGS +#endif + +#define ENV_MEM_LAYOUT_SETTINGS \ + "scriptaddr=0x40c00000\0" \ + "script_offset_f=0xffe000\0" \ + "script_size_f=0x2000\0" \ + "pxefile_addr_r=0x40e00000\0" \ + "kernel_addr_r=0x42000000\0" \ + "kernel_comp_addr_r=0x4a000000\0" \ + "fdt_addr_r=0x52000000\0" \ + "fdtoverlay_addr_r=0x52100000\0" \ + "ramdisk_addr_r=0x52180000\0" \ + "kernel_comp_size=0x8000000\0" + +#define CFG_EXTRA_ENV_SETTINGS \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ + ENV_MEM_LAYOUT_SETTINGS \ + ROCKCHIP_DEVICE_SETTINGS \ + "boot_targets=" BOOT_TARGETS "\0" + +#endif /* __CONFIG_RK3576_COMMON_H */ -- cgit v1.2.3 From f7c8a69df1243496c1de04a83718d50e48efaab5 Mon Sep 17 00:00:00 2001 From: Heiko Stuebner Date: Tue, 15 Apr 2025 23:51:28 +0200 Subject: rockchip: rk3576: Add support for ROC-RK3576-PC board 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 Reviewed-by: Jonas Karlman Reviewed-by: Kever Yang --- include/configs/roc-pc-rk3576.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 include/configs/roc-pc-rk3576.h (limited to 'include') diff --git a/include/configs/roc-pc-rk3576.h b/include/configs/roc-pc-rk3576.h new file mode 100644 index 00000000000..77c95f0c560 --- /dev/null +++ b/include/configs/roc-pc-rk3576.h @@ -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 + +#endif -- cgit v1.2.3