target/rockchip: add rk3528/rk3576 uboot

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
This commit is contained in:
Liangbin Lian 2025-06-11 13:56:06 +08:00
parent 275f71ae8f
commit 0341855fa1
27 changed files with 1511 additions and 0 deletions

View File

@ -63,12 +63,26 @@ define Trusted-Firmware-A/rk3588
TPL:=rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin
endef
define Trusted-Firmware-A/rk3528
BUILD_SUBTARGET:=armv8
ATF:=rk35/rk3528_bl31_v1.17.elf
TPL:=rk35/rk3528_ddr_1056MHz_v1.09.bin
endef
define Trusted-Firmware-A/rk3576
BUILD_SUBTARGET:=armv8
ATF:=rk35/rk3576_bl31_v1.15.elf
TPL:=rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
endef
TFA_TARGETS:= \
rk3308 \
rk3308-rock-pi-s \
rk3528 \
rk3566 \
rk3568 \
rk3568-e25 \
rk3576 \
rk3588
ifeq ($(BUILD_VARIANT),rk3308-rock-pi-s)
@ -103,6 +117,30 @@ ifeq ($(BUILD_VARIANT),rk3568-e25)
endef
endif
ifeq ($(BUILD_VARIANT),rk3576)
ATF_FILE:=rk3576_bl31_v1.15.elf
TPL_FILE:=rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
define Download/rk3576-atf
FILE:=$(ATF_FILE)
URL:=https://github.com/rockchip-linux/rkbin/raw/f43a462e7a1429a9d407ae52b4745033034a6cf9/bin/rk35/
HASH:=86c1c3e449612bd4ed045da187e58042e3dfb582f14bf5bd3e0954874095a581
endef
define Download/rk3576-tpl
FILE:=$(TPL_FILE)
URL:=https://github.com/rockchip-linux/rkbin/raw/f43a462e7a1429a9d407ae52b4745033034a6cf9/bin/rk35/
HASH:=79bdf7eb259274eec83ea2f6330214b0c0035255bc5563746871f6f8ce7cf089
endef
define Build/Prepare
$(eval $(call Download,rk3576-atf))
$(eval $(call Download,rk3576-tpl))
$(call Build/Prepare/Default)
$(CP) $(DL_DIR)/$(ATF_FILE) $(PKG_BUILD_DIR)/bin/rk35/
$(CP) $(DL_DIR)/$(TPL_FILE) $(PKG_BUILD_DIR)/bin/rk35/
endef
endif
define Build/Compile
endef

View File

@ -0,0 +1,83 @@
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_VERSION:=2017.09.20241018
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=default
PKG_SOURCE:=rkuboot-$(PKG_VERSION).tar.gz
PKG_SOURCE_VERSION:=2687dce2617032930f2c43fef349bdea694c6f68
PKG_SOURCE_URL_FILE:=$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/rockchip-linux/u-boot/archive/
PKG_HASH:=6c723ebd3f0732472e707ac3317847e038e606e7632d5a686f8278d333e5ef78
PKG_MAINTAINER:=jjm2473
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define U-Boot/Default
BUILD_TARGET:=rockchip
UENV:=default
HIDDEN:=1
BUILD_SUBTARGET:=armv8
DEFAULT:=y
PKG_BUILD_DEPENDS:=rkbin
endef
# RK3528 boards
define U-Boot/easepi-rk3528
NAME:=RK3528 Generic
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3528
ATF:=rk3528_bl31_v1.17.elf
TPL:=rk3528_ddr_1056MHz_v1.09.bin
SOC:=rk3528
endef
# RK3576 boards
define U-Boot/easepi-rk3576
NAME:=RK3576 Generic
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3576
ATF:=rk3576_bl31_v1.15.elf
TPL:=rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
SOC:=rk3576
endef
UBOOT_TARGETS := easepi-rk3528 easepi-rk3576
UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
UBOOT_MAKE_FLAGS += \
IDB_SOC=$(SOC) \
TPL_BIN=$(STAGING_DIR_IMAGE)/$(TPL) \
u-boot.itb idbloader.img
define Build/Configure
$(call Build/Configure/U-Boot)
$(SED) 's/CONFIG_TOOLS_LIBCRYPTO=y/# CONFIG_TOOLS_LIBCRYPTO is not set/' $(PKG_BUILD_DIR)/.config
$(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
echo 'CONFIG_IDENT_STRING=" OpenWrt"' >> $(PKG_BUILD_DIR)/.config
$(CP) $(STAGING_DIR_IMAGE)/$(ATF) $(PKG_BUILD_DIR)/bl31.elf
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
dd if=/dev/zero of=$(PKG_BUILD_DIR)/u-boot-rockchip.bin bs=512 count=16320
dd if=$(PKG_BUILD_DIR)/idbloader.img of=$(PKG_BUILD_DIR)/u-boot-rockchip.bin conv=notrunc
dd if=$(PKG_BUILD_DIR)/u-boot.itb of=$(PKG_BUILD_DIR)/u-boot-rockchip.bin seek=16320 conv=notrunc
$(CP) $(PKG_BUILD_DIR)/u-boot-rockchip.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot-rockchip.bin
endef
define Package/u-boot/install/default
endef
$(eval $(call BuildPackage/U-Boot))

View File

@ -0,0 +1,31 @@
Index: rk-u-boot/cmd/Kconfig
===================================================================
--- rk-u-boot.orig/cmd/Kconfig
+++ rk-u-boot/cmd/Kconfig
@@ -589,6 +589,14 @@ config CMD_ARMFLASH
help
ARM Ltd reference designs flash partition access
+config CMD_ADC
+ bool "adc - Access Analog to Digital Converters info and data"
+ select ADC
+ depends on DM_REGULATOR
+ help
+ Shows ADC device info and permit printing one-shot analog converted
+ data from a named Analog to Digital Converter.
+
config CMD_CLK
bool "clk - Show clock frequencies"
help
Index: rk-u-boot/cmd/Makefile
===================================================================
--- rk-u-boot.orig/cmd/Makefile
+++ rk-u-boot/cmd/Makefile
@@ -13,6 +13,7 @@ obj-y += help.o
obj-y += version.o
# command
+obj-$(CONFIG_CMD_ADC) += adc.o
obj-$(CONFIG_CMD_AES) += aes.o
obj-$(CONFIG_CMD_AMBAPP) += ambapp.o
obj-$(CONFIG_CMD_ANDROID_AB_SELECT) += android_ab_select.o android_cmds.o

View File

@ -0,0 +1,46 @@
Index: rk-u-boot/drivers/adc/adc-uclass.c
===================================================================
--- rk-u-boot.orig/drivers/adc/adc-uclass.c
+++ rk-u-boot/drivers/adc/adc-uclass.c
@@ -84,6 +84,18 @@ int adc_data_mask(struct udevice *dev, u
return 0;
}
+int adc_channel_mask(struct udevice *dev, unsigned int *channel_mask)
+{
+ struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev);
+
+ if (!uc_pdata)
+ return -ENOSYS;
+
+ *channel_mask = uc_pdata->channel_mask;
+
+ return 0;
+}
+
int adc_stop(struct udevice *dev)
{
const struct adc_ops *ops = dev_get_driver_ops(dev);
Index: rk-u-boot/include/adc.h
===================================================================
--- rk-u-boot.orig/include/adc.h
+++ rk-u-boot/include/adc.h
@@ -220,6 +220,18 @@ int adc_channels_data(struct udevice *de
int adc_data_mask(struct udevice *dev, unsigned int *data_mask);
/**
+ * adc_channel_mask() - get channel mask for given ADC device
+ *
+ * This can be used if adc uclass platform data is filled.
+ *
+ * @dev: ADC device to check
+ * @channel_mask: pointer to the returned channel bitmask
+ * @return: 0 if OK, -ve on error
+ */
+int adc_channel_mask(struct udevice *dev, unsigned int *channel_mask);
+
+
+/**
* adc_channel_single_shot() - get output data of conversion for the ADC
* device's channel. This function searches for the device with the given name,
* starts the given channel conversion and returns the output data.

View File

@ -0,0 +1,62 @@
Index: rk-u-boot/drivers/adc/adc-uclass.c
===================================================================
--- rk-u-boot.orig/drivers/adc/adc-uclass.c
+++ rk-u-boot/drivers/adc/adc-uclass.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <errno.h>
+#include <div64.h>
#include <dm.h>
#include <dm/lists.h>
#include <dm/device-internal.h>
@@ -365,6 +366,30 @@ nodev:
return 0;
}
+
+int adc_raw_to_uV(struct udevice *dev, unsigned int raw, int *uV)
+{
+ unsigned int data_mask;
+ int ret, val, vref;
+ u64 raw64 = raw;
+
+ ret = adc_vdd_value(dev, &vref);
+ if (ret)
+ return ret;
+
+ if (!adc_vss_value(dev, &val))
+ vref -= val;
+
+ ret = adc_data_mask(dev, &data_mask);
+ if (ret)
+ return ret;
+
+ raw64 *= vref;
+ do_div(raw64, data_mask);
+ *uV = raw64;
+
+ return 0;
+}
static int adc_vdd_platdata_set(struct udevice *dev)
{
Index: rk-u-boot/include/adc.h
===================================================================
--- rk-u-boot.orig/include/adc.h
+++ rk-u-boot/include/adc.h
@@ -297,4 +297,14 @@ int adc_vss_value(struct udevice *dev, i
*/
int adc_stop(struct udevice *dev);
+/**
+ * adc_raw_to_uV() - converts raw value to microvolts for given ADC device.
+ *
+ * @dev: ADC device used from conversion
+ * @raw: raw value to convert
+ * @uV: converted value in microvolts
+ * @return: 0 on success or -ve on error
+ */
+int adc_raw_to_uV(struct udevice *dev, unsigned int raw, int *uV);
+
#endif

View File

@ -0,0 +1,36 @@
From 34bfaa17488e5fd933dad63eacfef4f1c86ebd58 Mon Sep 17 00:00:00 2001
From: Liangbin Lian <jjm2473@gmail.com>
Date: Fri, 26 May 2023 14:25:07 +0800
Subject: [PATCH] disable adc to volt convert
---
drivers/adc/rockchip-saradc-v2.c | 2 ++
drivers/adc/rockchip-saradc.c | 2 ++
2 files changed, 4 insertions(+)
Index: rk-u-boot/drivers/adc/rockchip-saradc-v2.c
===================================================================
--- rk-u-boot.orig/drivers/adc/rockchip-saradc-v2.c
+++ rk-u-boot/drivers/adc/rockchip-saradc-v2.c
@@ -216,6 +216,8 @@ static int rockchip_saradc_ofdata_to_pla
uc_pdata->data_format = ADC_DATA_FORMAT_BIN;
uc_pdata->data_timeout_us = SARADC_TIMEOUT / 5;
uc_pdata->channel_mask = (1 << priv->data->num_channels) - 1;
+ uc_pdata->vdd_microvolts = -ENODATA;
+ uc_pdata->vss_microvolts = -ENODATA;
return 0;
}
Index: rk-u-boot/drivers/adc/rockchip-saradc.c
===================================================================
--- rk-u-boot.orig/drivers/adc/rockchip-saradc.c
+++ rk-u-boot/drivers/adc/rockchip-saradc.c
@@ -134,6 +134,8 @@ int rockchip_saradc_ofdata_to_platdata(s
uc_pdata->data_format = ADC_DATA_FORMAT_BIN;
uc_pdata->data_timeout_us = SARADC_TIMEOUT / 5;
uc_pdata->channel_mask = (1 << priv->data->num_channels) - 1;
+ uc_pdata->vdd_microvolts = -ENODATA;
+ uc_pdata->vss_microvolts = -ENODATA;
return 0;
}

View File

@ -0,0 +1,26 @@
Index: rk-u-boot/drivers/adc/rockchip-saradc.c
===================================================================
--- rk-u-boot.orig/drivers/adc/rockchip-saradc.c
+++ rk-u-boot/drivers/adc/rockchip-saradc.c
@@ -164,6 +164,12 @@ static const struct rockchip_saradc_data
.clk_rate = 1000000,
};
+static const struct rockchip_saradc_data rk3568_saradc_data = {
+ .num_bits = 10,
+ .num_channels = 8,
+ .clk_rate = 1000000,
+};
+
static const struct udevice_id rockchip_saradc_ids[] = {
{ .compatible = "rockchip,saradc",
.data = (ulong)&saradc_data },
@@ -171,6 +177,8 @@ static const struct udevice_id rockchip_
.data = (ulong)&rk3066_tsadc_data },
{ .compatible = "rockchip,rk3399-saradc",
.data = (ulong)&rk3399_saradc_data },
+ { .compatible = "rockchip,rk3568-saradc",
+ .data = (ulong)&rk3568_saradc_data },
{ }
};

View File

@ -0,0 +1,40 @@
From 40361189b449992e14ff0bd0be18c92167ff8d00 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 6 Jun 2023 12:27:39 +0800
Subject: [PATCH] fix efi detection
---
disk/part_efi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: rk-u-boot/disk/part_efi.c
===================================================================
--- rk-u-boot.orig/disk/part_efi.c
+++ rk-u-boot/disk/part_efi.c
@@ -371,7 +371,7 @@ int part_get_info_efi(struct blk_desc *d
return 0;
}
-#ifdef CONFIG_RKIMG_BOOTLOADER
+#if 0
#if defined(CONFIG_SPL_KERNEL_BOOT) || !defined(CONFIG_SPL_BUILD)
static void gpt_entry_modify(struct blk_desc *dev_desc,
gpt_entry *gpt_pte,
@@ -504,7 +504,7 @@ static int part_test_efi(struct blk_desc
|| (is_pmbr_valid(legacymbr) != 1)) {
return -1;
}
-#ifdef CONFIG_RKIMG_BOOTLOADER
+#if 0
#if defined(CONFIG_SPL_KERNEL_BOOT) || !defined(CONFIG_SPL_BUILD)
gpt_entry *h_gpt_pte = NULL;
gpt_header *h_gpt_head = NULL;
@@ -1147,7 +1147,7 @@ static int is_pmbr_valid(legacy_mbr * mb
{
int i = 0;
-#ifdef CONFIG_ARCH_ROCKCHIP
+#if 0
/*
* In sd-update card, we use RKPARM partition in bootloader to load
* firmware, and use MS-DOS partition in recovery to update system.

View File

@ -0,0 +1,22 @@
From 600dbd1d1ca42e82aa11540954725a7c19952bef Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 16:58:02 +0800
Subject: [PATCH] supports legacy image
---
include/configs/rockchip-common.h | 2 ++
1 file changed, 2 insertions(+)
Index: rk-u-boot/include/configs/rockchip-common.h
===================================================================
--- rk-u-boot.orig/include/configs/rockchip-common.h
+++ rk-u-boot/include/configs/rockchip-common.h
@@ -180,6 +180,8 @@
"run distro_bootcmd;"
#endif
+#define CONFIG_IMAGE_FORMAT_LEGACY /* enable also legacy image format */
+
#endif /* CONFIG_SPL_BUILD */
#define CONFIG_DISPLAY_BOARDINFO_LATE

View File

@ -0,0 +1,23 @@
From fba85cc35e748ce82af8d23c8ae6b7594a927ca1 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 17:36:35 +0800
Subject: [PATCH] fix source cmd bug introduced by rk
11a331d232dea79e25443776ebc3044cbe91d259
---
cmd/source.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: rk-u-boot/cmd/source.c
===================================================================
--- rk-u-boot.orig/cmd/source.c
+++ rk-u-boot/cmd/source.c
@@ -87,7 +87,7 @@ source (ulong addr, const char *fit_unam
* past the zero-terminated sequence of image lengths to get
* to the actual image data
*/
- while (*data++ != IMAGE_PARAM_INVAL);
+ while (*data++);
break;
#endif
#if defined(CONFIG_FIT)

View File

@ -0,0 +1,29 @@
From ca4343eb308b019c6bc6930361b56306cd3ba55d Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 18:48:45 +0800
Subject: [PATCH] fix boorargs not in effect
---
arch/arm/mach-rockchip/board.c | 2 ++
1 file changed, 2 insertions(+)
Index: rk-u-boot/arch/arm/mach-rockchip/board.c
===================================================================
--- rk-u-boot.orig/arch/arm/mach-rockchip/board.c
+++ rk-u-boot/arch/arm/mach-rockchip/board.c
@@ -1399,6 +1399,7 @@ static void bootargs_add_dtb_dtbo(void *
}
}
+#ifdef CONFIG_CMD_BOOT_ANDROID
char *board_fdt_chosen_bootargs(void *fdt)
{
int verbose = is_hotkey(HK_CMDLINE);
@@ -1442,6 +1443,7 @@ char *board_fdt_chosen_bootargs(void *fd
return (char *)bootargs;
}
+#endif
int ft_verify_fdt(void *fdt)
{

View File

@ -0,0 +1,36 @@
From 07015a9f00f8cafb0985ff88bf8beb2731a45559 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 21:39:00 +0800
Subject: [PATCH] fix CE without RKIMG_BOOTLOADER
---
common/image-android.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: rk-u-boot/common/image-android.c
===================================================================
--- rk-u-boot.orig/common/image-android.c
+++ rk-u-boot/common/image-android.c
@@ -38,6 +38,7 @@ DECLARE_GLOBAL_DATA_PTR;
static char andr_tmp_str[ANDR_BOOT_ARGS_SIZE + 1];
static u32 android_kernel_comp_type = IH_COMP_NONE;
+#ifdef CONFIG_RKIMG_BOOTLOADER
static int android_version_init(void)
{
struct andr_img_hdr *hdr = NULL;
@@ -72,11 +73,13 @@ static int android_version_init(void)
return (os_version >> 25) & 0x7f;
}
+#endif
u32 android_bcb_msg_sector_offset(void)
{
+#ifdef CONFIG_RKIMG_BOOTLOADER
static int android_version = -1; /* static */
-
+#endif
/*
* get android os version:
*

View File

@ -0,0 +1,32 @@
From 6928b3a2b8397bea88add5174821e7a9c6f405d9 Mon Sep 17 00:00:00 2001
From: jjm2473 <jjm2473@gmail.com>
Date: Wed, 11 Jun 2025 14:16:45 +0800
Subject: [PATCH] fix CE without CMD_BOOT_ANDROID
---
arch/arm/mach-rockchip/board.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index f98eaca8..7714345d 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -1217,6 +1217,7 @@ int board_rng_seed(struct abuf *buf)
return 0;
}
+#ifdef CONFIG_CMD_BOOT_ANDROID
/*
* Pass fwver when any available.
*/
@@ -1398,6 +1399,7 @@ static void bootargs_add_dtb_dtbo(void *fdt, bool verbose)
#endif
}
}
+#endif
#ifdef CONFIG_CMD_BOOT_ANDROID
char *board_fdt_chosen_bootargs(void *fdt)
--
2.46.0

View File

@ -0,0 +1,25 @@
From 8a530b27f8c486281b60a4bbcf35ed463431a617 Mon Sep 17 00:00:00 2001
From: jjm2473 <jjm2473@gmail.com>
Date: Wed, 11 Jun 2025 14:28:23 +0800
Subject: [PATCH] fix CE cmd_process signature mismatch
---
common/command.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/command.c b/common/command.c
index 71715572..001238a9 100644
--- a/common/command.c
+++ b/common/command.c
@@ -501,7 +501,7 @@ static int cmd_call(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return result;
}
-enum command_ret_t cmd_process(int flag, int argc, char * const argv[],
+int cmd_process(int flag, int argc, char * const argv[],
int *repeatable, ulong *ticks)
{
enum command_ret_t rc = CMD_RET_SUCCESS;
--
2.46.0

View File

@ -0,0 +1,24 @@
From 41863d2b0c75b64dbd455eb4ad21936e92584b6a Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 24 Jul 2023 13:48:51 +0800
Subject: [PATCH] optional tee.bin
---
arch/arm/mach-rockchip/fit_nodes.sh | 4 ++++
1 file changed, 4 insertions(+)
Index: rk-u-boot/arch/arm/mach-rockchip/fit_nodes.sh
===================================================================
--- rk-u-boot.orig/arch/arm/mach-rockchip/fit_nodes.sh
+++ rk-u-boot/arch/arm/mach-rockchip/fit_nodes.sh
@@ -167,6 +167,10 @@ function gen_bl32_node()
return
fi
+ if ! [ -e "tee.bin" ] && ! grep -q '^CONFIG_SPL_OPTEE=y' .config ; then
+ return
+ fi
+
if [ "${ARCH}" == "arm" ]; then
# If not AArch32 mode
if ! grep -q '^CONFIG_ARM64_BOOT_AARCH32=y' .config ; then

View File

@ -0,0 +1,74 @@
From c291573436be43868a0963103985543e82d73cc7 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 12:44:57 +0800
Subject: [PATCH] rk35: tftp speed
---
include/configs/evb_rk3528.h | 11 ++++++++++++
include/configs/evb_rk3568.h | 12 ++++++++++++
include/configs/evb_rk3588.h | 12 ++++++++++++
3 files changed, 35 insertions(+)
Index: rk-u-boot/include/configs/evb_rk3528.h
===================================================================
--- rk-u-boot.orig/include/configs/evb_rk3528.h
+++ rk-u-boot/include/configs/evb_rk3528.h
@@ -23,4 +23,15 @@
#define CONFIG_BOOTCOMMAND RKIMG_BOOTCOMMAND
#endif
+/*
+ * TFTP speed up, by enable ip fragment, and set default blksize to MTU.
+ * Use `env set tftpblocksize 16384` to override blksize, max CONFIG_NET_MAXDEFRAG.
+ * MUST: CONFIG_TFTP_BLOCKSIZE <= CONFIG_NET_MAXDEFRAG
+ */
+#define CONFIG_IP_DEFRAG
+/* ip fragment, CONFIG_NET_MAXDEFRAG , default 16384, max 65536 */
+/* #define CONFIG_NET_MAXDEFRAG 16384 */
+#define CONFIG_UDP_CHECKSUM
+#define CONFIG_TFTP_BLOCKSIZE 1468
+
#endif /* __CONFIGS_RK3528_EVB_H */
Index: rk-u-boot/include/configs/evb_rk3568.h
===================================================================
--- rk-u-boot.orig/include/configs/evb_rk3568.h
+++ rk-u-boot/include/configs/evb_rk3568.h
@@ -60,4 +60,16 @@
#endif /* CONFIG_ANDROID_AB */
#endif /* CONFIG_SPL_BUILD */
+
+/*
+ * TFTP speed up, by enable ip fragment, and set default blksize to MTU.
+ * Use `env set tftpblocksize 16384` to override blksize, max CONFIG_NET_MAXDEFRAG.
+ * MUST: CONFIG_TFTP_BLOCKSIZE <= CONFIG_NET_MAXDEFRAG
+ */
+#define CONFIG_IP_DEFRAG
+/* ip fragment, CONFIG_NET_MAXDEFRAG , default 16384, max 65536 */
+/* #define CONFIG_NET_MAXDEFRAG 16384 */
+#define CONFIG_UDP_CHECKSUM
+#define CONFIG_TFTP_BLOCKSIZE 1468
+
#endif /* __CONFIGS_RK3568_EVB_H */
Index: rk-u-boot/include/configs/evb_rk3588.h
===================================================================
--- rk-u-boot.orig/include/configs/evb_rk3588.h
+++ rk-u-boot/include/configs/evb_rk3588.h
@@ -22,4 +22,16 @@
#define CONFIG_BOOTCOMMAND RKIMG_BOOTCOMMAND
#endif
+
+/*
+ * TFTP speed up, by enable ip fragment, and set default blksize to MTU.
+ * Use `env set tftpblocksize 16384` to override blksize, max CONFIG_NET_MAXDEFRAG.
+ * MUST: CONFIG_TFTP_BLOCKSIZE <= CONFIG_NET_MAXDEFRAG
+ */
+#define CONFIG_IP_DEFRAG
+/* ip fragment, CONFIG_NET_MAXDEFRAG , default 16384, max 65536 */
+/* #define CONFIG_NET_MAXDEFRAG 16384 */
+#define CONFIG_UDP_CHECKSUM
+#define CONFIG_TFTP_BLOCKSIZE 1468
+
#endif
\ No newline at end of file

View File

@ -0,0 +1,42 @@
From 88d321d1512bbe4589985150997e559a3d8ac83f Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 12:40:10 +0800
Subject: [PATCH] disable pcie and usb3.0 on rk3568
---
arch/arm/dts/rk3568-u-boot.dtsi | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
Index: rk-u-boot/arch/arm/dts/rk3568-u-boot.dtsi
===================================================================
--- rk-u-boot.orig/arch/arm/dts/rk3568-u-boot.dtsi
+++ rk-u-boot/arch/arm/dts/rk3568-u-boot.dtsi
@@ -80,6 +80,11 @@
&usbdrd_dwc3 {
u-boot,dm-pre-reloc;
+ phys = <&u2phy0_otg>;
+ phy-names = "usb2-phy";
+ extcon = <&usb2phy0>;
+ maximum-speed = "high-speed"; /* only USB2.0 */
+ snps,dis_u2_susphy_quirk; /* only USB2.0 */
status = "okay";
};
@@ -389,16 +394,6 @@
u-boot,dm-pre-reloc;
};
-&pcie30phy {
- u-boot,dm-pre-reloc;
- status = "okay";
-};
-
-&pcie3x2 {
- u-boot,dm-pre-reloc;
- status = "okay";
-};
-
&pinctrl {
u-boot,dm-spl;
status = "okay";

View File

@ -0,0 +1,15 @@
Index: rk-u-boot/include/configs/rockchip-common.h
===================================================================
--- rk-u-boot.orig/include/configs/rockchip-common.h
+++ rk-u-boot/include/configs/rockchip-common.h
@@ -108,9 +108,7 @@
BOOT_TARGET_MMC(func) \
BOOT_TARGET_MTD(func) \
BOOT_TARGET_RKNAND(func) \
- BOOT_TARGET_USB(func) \
- BOOT_TARGET_PXE(func) \
- BOOT_TARGET_DHCP(func)
+ BOOT_TARGET_USB(func)
#ifdef CONFIG_ARM64
#define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"

View File

@ -0,0 +1,30 @@
From f9dced95ce10893799be34534f605b34d15f3c39 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 16:43:41 +0800
Subject: [PATCH] skip android boot when cmd disabled
---
include/configs/rockchip-common.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: rk-u-boot/include/configs/rockchip-common.h
===================================================================
--- rk-u-boot.orig/include/configs/rockchip-common.h
+++ rk-u-boot/include/configs/rockchip-common.h
@@ -170,12 +170,15 @@
#elif defined(CONFIG_FIT_SIGNATURE)
#define RKIMG_BOOTCOMMAND \
"boot_fit;"
-#else
+#elif defined(CONFIG_CMD_BOOT_ANDROID)
#define RKIMG_BOOTCOMMAND \
"boot_android ${devtype} ${devnum};" \
"boot_fit;" \
"bootrkp;" \
"run distro_bootcmd;"
+#else
+#define RKIMG_BOOTCOMMAND \
+ "run distro_bootcmd;"
#endif
#define CONFIG_IMAGE_FORMAT_LEGACY /* enable also legacy image format */

View File

@ -0,0 +1,29 @@
From d53d50dd1500d71f94ce5551606956f9373f3e52 Mon Sep 17 00:00:00 2001
From: Liangbin Lian <jjm2473@gmail.com>
Date: Thu, 14 Dec 2023 13:08:11 +0800
Subject: [PATCH] rk3308: tftp speed
---
include/configs/evb_rk3308.h | 11 +++++++++++
1 file changed, 11 insertions(+)
Index: rk-u-boot/include/configs/evb_rk3308.h
===================================================================
--- rk-u-boot.orig/include/configs/evb_rk3308.h
+++ rk-u-boot/include/configs/evb_rk3308.h
@@ -22,4 +22,15 @@
#define CONFIG_BOOTCOMMAND RKIMG_BOOTCOMMAND
#endif
+/*
+ * TFTP speed up, by enable ip fragment, and set default blksize to MTU.
+ * Use `env set tftpblocksize 16384` to override blksize, max CONFIG_NET_MAXDEFRAG.
+ * MUST: CONFIG_TFTP_BLOCKSIZE <= CONFIG_NET_MAXDEFRAG
+ */
+#define CONFIG_IP_DEFRAG
+/* ip fragment, CONFIG_NET_MAXDEFRAG , default 16384, max 65536 */
+/* #define CONFIG_NET_MAXDEFRAG 16384 */
+#define CONFIG_UDP_CHECKSUM
+#define CONFIG_TFTP_BLOCKSIZE 1468
+
#endif

View File

@ -0,0 +1,35 @@
From bb0df1fab4c945947d99022c2dc22ad25ab90165 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 14:59:01 +0800
Subject: [PATCH] build idb
---
Makefile | 8 ++++++++
1 files changed, 8 insertions(+)
Index: rk-u-boot/Makefile
===================================================================
--- rk-u-boot.orig/Makefile
+++ rk-u-boot/Makefile
@@ -854,6 +854,9 @@ quiet_cmd_mkimage = MKIMAGE $@
cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT))
+cmd_mkimage_combined = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $(COMBINED_FILE_$(@F)):$< $@ \
+ $(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT))
+
quiet_cmd_mkfitimage = MKIMAGE $@
cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -f $(U_BOOT_ITS) -E $@ \
$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT))
@@ -1079,6 +1082,11 @@ OBJCOPYFLAGS_u-boot-with-spl.bin = -I bi
u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE
$(call if_changed,pad_cat)
+MKIMAGEFLAGS_idbloader.img = -n $(IDB_SOC) -T rksd
+COMBINED_FILE_idbloader.img = $(TPL_BIN)
+idbloader.img: spl/u-boot-spl.bin FORCE
+ $(call if_changed,mkimage_combined)
+
MKIMAGEFLAGS_lpc32xx-spl.img = -T lpc32xximage -a $(CONFIG_SPL_TEXT_BASE)
lpc32xx-spl.img: spl/u-boot-spl.bin FORCE

View File

@ -0,0 +1,31 @@
From 68c654bb60aba401e382174fb08ae41173c5ec9b Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Mon, 5 Jun 2023 16:10:50 +0800
Subject: [PATCH] fix itb ce
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: rk-u-boot/Makefile
===================================================================
--- rk-u-boot.orig/Makefile
+++ rk-u-boot/Makefile
@@ -1021,7 +1021,7 @@ U_BOOT_ITS = $(subst ",,$(CONFIG_SPL_FIT
else
ifneq ($(CONFIG_SPL_FIT_GENERATOR),"")
U_BOOT_ITS := u-boot.its
-$(U_BOOT_ITS): FORCE
+$(U_BOOT_ITS): u-boot FORCE
$(srctree)/$(CONFIG_SPL_FIT_GENERATOR) \
$(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST))) > $@
endif
@@ -1059,7 +1059,7 @@ u-boot-dtb.img u-boot.img u-boot.kwb u-b
$(if $(CONFIG_SPL_LOAD_FIT),u-boot-nodtb.bin dts/dt.dtb,u-boot.bin) FORCE
$(call if_changed,mkimage)
-u-boot.itb: u-boot-nodtb.bin dts/dt.dtb $(U_BOOT_ITS) FORCE
+u-boot.itb: u-boot-nodtb.bin u-boot.dtb $(U_BOOT_ITS) FORCE
$(call if_changed,mkfitimage)
u-boot-spl.kwb: u-boot.img spl/u-boot-spl.bin FORCE

View File

@ -0,0 +1,98 @@
&otp {
u-boot,dm-pre-reloc;
};
&macphy_bgs {
u-boot,dm-pre-reloc;
};
&macphy_txlevel {
u-boot,dm-pre-reloc;
};
&gmac0 {
u-boot,dm-pre-reloc;
};
&mdio0 {
u-boot,dm-pre-reloc;
ethernet-phy@2 {
u-boot,dm-pre-reloc;
};
};
&gmac0_stmmac_axi_setup {
u-boot,dm-pre-reloc;
};
&gmac0_mtl_rx_setup {
u-boot,dm-pre-reloc;
queue0 {
u-boot,dm-pre-reloc;
};
};
&gmac0_mtl_tx_setup {
u-boot,dm-pre-reloc;
queue0 {
u-boot,dm-pre-reloc;
};
};
&fephym0_led_link {
u-boot,dm-pre-reloc;
};
&fephym0_led_spd {
u-boot,dm-pre-reloc;
};
&gmac1 {
u-boot,dm-pre-reloc;
};
&mdio1 {
u-boot,dm-pre-reloc;
rgmii_phy: phy@1 {
u-boot,dm-pre-reloc;
};
};
&rgmii_miim {
u-boot,dm-pre-reloc;
};
&rgmii_tx_bus2 {
u-boot,dm-pre-reloc;
};
&rgmii_rx_bus2 {
u-boot,dm-pre-reloc;
};
&rgmii_rgmii_clk {
u-boot,dm-pre-reloc;
};
&rgmii_rgmii_bus {
u-boot,dm-pre-reloc;
};
&gmac1_stmmac_axi_setup {
u-boot,dm-pre-reloc;
};
&gmac1_mtl_rx_setup {
u-boot,dm-pre-reloc;
queue0 {
u-boot,dm-pre-reloc;
};
};
&gmac1_mtl_tx_setup {
u-boot,dm-pre-reloc;
queue0 {
u-boot,dm-pre-reloc;
};
};

View File

@ -0,0 +1,71 @@
/*
* SPDX-License-Identifier: GPL-2.0+
*
* (C) Copyright 2020 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3528.dtsi"
#include "rk3528-u-boot.dtsi"
#include "rk3528-easepi-u-boot.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Easepi RK3528 Board";
compatible = "linkease,rk3528-demo", "rockchip,rk3528";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
u-boot,dm-pre-reloc;
status = "okay";
volumeup-key {
u-boot,dm-pre-reloc;
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <9>;
};
};
};
&otp {
status = "okay";
};
&gmac0 {
status = "okay";
};
&gmac1 {
/* Use rgmii-rxid mode to disable rx delay inside Soc */
phy-mode = "rgmii-rxid";
clock_in_out = "output";
snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
tx_delay = <0x30>;
/* rx_delay = <0x3f>; */
pinctrl-names = "default";
pinctrl-0 = <&rgmii_miim
&rgmii_tx_bus2
&rgmii_rx_bus2
&rgmii_rgmii_clk
&rgmii_rgmii_bus>;
phy-handle = <&rgmii_phy>;
status = "okay";
};
&mdio1 {
rgmii_phy: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
};
};

View File

@ -0,0 +1,188 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2018 BayLibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#include <common.h>
#include <command.h>
#include <dm.h>
#include <adc.h>
static int do_adc_list(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
struct udevice *dev;
int ret, err;
ret = err = uclass_first_device_check(UCLASS_ADC, &dev);
while (dev) {
printf("- %s status: %i\n", dev->name, ret);
ret = uclass_next_device_check(&dev);
if (ret)
err = ret;
}
return err ? CMD_RET_FAILURE : CMD_RET_SUCCESS;
}
static int do_adc_info(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
struct udevice *dev;
unsigned int data_mask, ch_mask;
int ret, vss, vdd;
if (argc < 2)
return CMD_RET_USAGE;
ret = uclass_get_device_by_name(UCLASS_ADC, argv[1], &dev);
if (ret) {
printf("Unknown ADC device %s\n", argv[1]);
return CMD_RET_FAILURE;
}
printf("ADC Device '%s' :\n", argv[1]);
ret = adc_channel_mask(dev, &ch_mask);
if (!ret)
printf("channel mask: %x\n", ch_mask);
ret = adc_data_mask(dev, &data_mask);
if (!ret)
printf("data mask: %x\n", data_mask);
ret = adc_vdd_value(dev, &vdd);
if (!ret)
printf("vdd: %duV\n", vdd);
ret = adc_vss_value(dev, &vss);
if (!ret)
printf("vss: %duV\n", vss);
return CMD_RET_SUCCESS;
}
static int do_adc_single(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
char *varname = NULL;
struct udevice *dev;
unsigned int data;
int ret, uV, val;
if (argc < 3)
return CMD_RET_USAGE;
if (argc >= 4)
varname = argv[3];
ret = adc_channel_single_shot(argv[1], simple_strtol(argv[2], NULL, 0),
&data);
if (ret) {
printf("Error getting single shot for device %s channel %s (ret=%d)\n",
argv[1], argv[2], ret);
return CMD_RET_FAILURE;
}
ret = uclass_get_device_by_name(UCLASS_ADC, argv[1], &dev);
if (!ret && !adc_raw_to_uV(dev, data, &uV)) {
val = uV;
printf("%u, %d uV\n", data, uV);
} else {
val = data;
printf("%u\n", data);
}
if (varname)
env_set_ulong(varname, val);
return CMD_RET_SUCCESS;
}
static int do_adc_scan(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
struct adc_channel ch[ADC_MAX_CHANNEL];
struct udevice *dev;
unsigned int ch_mask;
int i, chan, ret, uV;
if (argc < 2)
return CMD_RET_USAGE;
ret = uclass_get_device_by_name(UCLASS_ADC, argv[1], &dev);
if (ret) {
pr_err("Can't get the ADC %s: %d\n", argv[1], ret);
return CMD_RET_FAILURE;
}
switch (argc) {
case 3:
ch_mask = simple_strtoul(argv[2], NULL, 0);
if (ch_mask)
break;
case 2:
ret = adc_channel_mask(dev, &ch_mask);
if (ret) {
pr_err("Can't get mask for %s: %d\n", dev->name, ret);
return CMD_RET_FAILURE;
}
break;
}
ret = adc_channels_single_shot(dev->name, ch_mask, ch);
if (ret) {
pr_err("Can't get single shot for %s (chans mask: 0x%x): %d\n",
dev->name, ch_mask, ret);
return CMD_RET_FAILURE;
}
for (chan = 0, i = 0; chan < ADC_MAX_CHANNEL; chan++) {
if (!(ch_mask & ADC_CHANNEL(chan)))
continue;
if (!adc_raw_to_uV(dev, ch[i].data, &uV))
printf("[%02d]: %u, %d uV\n", ch[i].id, ch[i].data, uV);
else
printf("[%02d]: %u\n", ch[i].id, ch[i].data);
i++;
}
return CMD_RET_SUCCESS;
}
static cmd_tbl_t cmd_adc_sub[] = {
U_BOOT_CMD_MKENT(list, 1, 1, do_adc_list, "", ""),
U_BOOT_CMD_MKENT(info, 2, 1, do_adc_info, "", ""),
U_BOOT_CMD_MKENT(single, 4, 1, do_adc_single, "", ""),
U_BOOT_CMD_MKENT(scan, 3, 1, do_adc_scan, "", ""),
};
static int do_adc(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
cmd_tbl_t *c;
if (argc < 2)
return CMD_RET_USAGE;
/* Strip off leading 'adc' command argument */
argc--;
argv++;
c = find_cmd_tbl(argv[0], &cmd_adc_sub[0], ARRAY_SIZE(cmd_adc_sub));
if (c)
return c->cmd(cmdtp, flag, argc, argv);
else
return CMD_RET_USAGE;
}
static char adc_help_text[] =
"list - list ADC devices\n"
"adc info <name> - Get ADC device info\n"
"adc single <name> <channel> [varname] - Get Single data of ADC device channel\n"
"adc scan <name> [channel mask] - Scan all [or masked] ADC channels";
U_BOOT_CMD(adc, 5, 1, do_adc, "ADC sub-system", adc_help_text);

View File

@ -0,0 +1,166 @@
CONFIG_ARM=y
CONFIG_ARM_SMCCC=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x80000
CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh"
CONFIG_ROCKCHIP_RK3528=y
# CONFIG_RKIMG_BOOTLOADER is not set
CONFIG_ROCKCHIP_FIT_IMAGE=y
CONFIG_USING_KERNEL_DTB_V2=y
CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y
CONFIG_ROCKCHIP_NEW_IDB=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
CONFIG_TARGET_EVB_RK3528=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_DEFAULT_DEVICE_TREE="rk3528-easepi"
CONFIG_DEBUG_UART=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
CONFIG_FIT=y
CONFIG_FIT_IMAGE_POST_PROCESS=y
CONFIG_FIT_HW_CRYPTO=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
CONFIG_SPL_FIT_HW_CRYPTO=y
# CONFIG_SPL_SYS_DCACHE_OFF is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_INFO_QUIET=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL_BOARD_INIT=y
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SPL_CRYPTO_SUPPORT=y
CONFIG_SPL_MMC_WRITE=y
CONFIG_SPL_ATF=y
CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
# CONFIG_TPL is not set
CONFIG_FASTBOOT_BUF_ADDR=0xc00800
CONFIG_FASTBOOT_BUF_SIZE=0x04000000
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
CONFIG_CMD_ADC=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_ELF is not set
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_XIMG is not set
# CONFIG_CMD_LZMADEC is not set
# CONFIG_CMD_UNZIP is not set
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_FPGA is not set
CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
# CONFIG_CMD_LOADB is not set
# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_USB_MASS_STORAGE=y
# CONFIG_CMD_ITEST is not set
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_TFTPPUT=y
CONFIG_CMD_TFTP_BOOTM=y
CONFIG_CMD_TFTP_FLASH=y
# CONFIG_CMD_MISC is not set
CONFIG_CMD_REGULATOR=y
# CONFIG_SPL_DOS_PARTITION is not set
# CONFIG_ISO_PARTITION is not set
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
# CONFIG_SPL_EFI_PARTITION is not set
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_LIVE=y
CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clock-parents"
CONFIG_ENV_IS_IN_MMC=y
CONFIG_REGMAP=y
CONFIG_SPL_REGMAP=y
CONFIG_SYSCON=y
CONFIG_SPL_SYSCON=y
# CONFIG_SARADC_ROCKCHIP is not set
CONFIG_SARADC_ROCKCHIP_V2=y
CONFIG_CLK=y
CONFIG_SPL_CLK=y
CONFIG_CLK_SCMI=y
CONFIG_SPL_CLK_SCMI=y
CONFIG_DM_CRYPTO=y
CONFIG_SPL_DM_CRYPTO=y
CONFIG_ROCKCHIP_CRYPTO_V2=y
CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y
CONFIG_DM_RNG=y
CONFIG_RNG_ROCKCHIP=y
CONFIG_SCMI_FIRMWARE=y
CONFIG_SPL_SCMI_FIRMWARE=y
CONFIG_ROCKCHIP_GPIO=y
CONFIG_ROCKCHIP_GPIO_V2=y
CONFIG_SYS_I2C_ROCKCHIP=y
CONFIG_DM_KEY=y
CONFIG_ADC_KEY=y
CONFIG_MISC=y
CONFIG_SPL_MISC=y
CONFIG_ROCKCHIP_OTP=y
CONFIG_SPL_ROCKCHIP_SECURE_OTP=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_REALTEK=y
CONFIG_PHY_FIXED=y
CONFIG_PHY_RK630=y
CONFIG_DM_ETH=y
CONFIG_DM_MDIO=y
CONFIG_DM_ETH_PHY=y
CONFIG_PHY_GIGE=y
CONFIG_DWC_ETH_QOS=y
CONFIG_RGMII=y
CONFIG_GMAC_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PINCTRL=y
CONFIG_SPL_PINCTRL=y
CONFIG_REGULATOR_PWM=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_REGULATOR_GPIO=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_RAM=y
CONFIG_SPL_RAM=y
CONFIG_TPL_RAM=y
CONFIG_DM_RESET=y
CONFIG_SPL_DM_RESET=y
CONFIG_SPL_RESET_ROCKCHIP=y
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_BASE=0xff9f0000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_ROCKCHIP_SFC=y
CONFIG_SYSRESET=y
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_GENERIC=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_GENERIC=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_DWC3_GENERIC=y
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
CONFIG_USB_GADGET_VENDOR_NUM=0x2207
CONFIG_USB_GADGET_PRODUCT_NUM=0x350a
CONFIG_USB_GADGET_DOWNLOAD=y
# CONFIG_SYS_WHITE_ON_BLACK is not set
CONFIG_USE_TINY_PRINTF=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_RSA=y
CONFIG_SPL_RSA=y
CONFIG_RSA_N_SIZE=0x200
CONFIG_RSA_E_SIZE=0x10
CONFIG_RSA_C_SIZE=0x20
CONFIG_LZ4=y
CONFIG_LZMA=y
CONFIG_SPL_GZIP=y
CONFIG_ERRNO_STR=y
CONFIG_OF_LIBFDT_OVERLAY=y
# CONFIG_EFI_LOADER is not set

View File

@ -0,0 +1,179 @@
CONFIG_ARM=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x80000
CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh"
CONFIG_ROCKCHIP_RK3576=y
# CONFIG_RKIMG_BOOTLOADER is not set
CONFIG_ROCKCHIP_FIT_IMAGE=y
CONFIG_USING_KERNEL_DTB_V2=y
CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y
CONFIG_ROCKCHIP_NEW_IDB=y
CONFIG_SANITY_CPU_SWAP=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
CONFIG_TARGET_EVB_RK3576=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_ARMV8_CRYPTO=y
CONFIG_DEFAULT_DEVICE_TREE="rk3576-evb"
CONFIG_DEBUG_UART=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
CONFIG_FIT=y
CONFIG_FIT_IMAGE_POST_PROCESS=y
CONFIG_FIT_HW_CRYPTO=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
CONFIG_SPL_FIT_HW_CRYPTO=y
# CONFIG_SPL_SYS_DCACHE_OFF is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_INFO_QUIET=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL_BOARD_INIT=y
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SPL_UFS_SUPPORT=y
# CONFIG_TPL is not set
CONFIG_FASTBOOT_BUF_ADDR=0x40c00800
CONFIG_FASTBOOT_BUF_SIZE=0x07000000
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
CONFIG_CMD_ADC=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_ELF is not set
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_XIMG is not set
# CONFIG_CMD_LZMADEC is not set
# CONFIG_CMD_UNZIP is not set
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_FPGA is not set
CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
# CONFIG_CMD_LOADB is not set
# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MMC=y
CONFIG_CMD_UFS=y
CONFIG_CMD_USB=y
CONFIG_CMD_USB_MASS_STORAGE=y
# CONFIG_CMD_ITEST is not set
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_TFTPPUT=y
CONFIG_CMD_TFTP_BOOTM=y
CONFIG_CMD_TFTP_FLASH=y
# CONFIG_CMD_MISC is not set
# CONFIG_SPL_DOS_PARTITION is not set
# CONFIG_ISO_PARTITION is not set
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
CONFIG_SPL_OF_CONTROL=y
CONFIG_SPL_DTB_MINIMUM=y
CONFIG_OF_LIVE=y
CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
CONFIG_OF_U_BOOT_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
CONFIG_ENV_IS_IN_MMC=y
CONFIG_REGMAP=y
CONFIG_SPL_REGMAP=y
CONFIG_SYSCON=y
CONFIG_SPL_SYSCON=y
# CONFIG_SARADC_ROCKCHIP is not set
CONFIG_SARADC_ROCKCHIP_V2=y
CONFIG_CLK=y
CONFIG_SPL_CLK=y
CONFIG_CLK_SCMI=y
CONFIG_DM_CRYPTO=y
CONFIG_SPL_DM_CRYPTO=y
CONFIG_ROCKCHIP_CRYPTO_V2=y
CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y
CONFIG_DM_RNG=y
CONFIG_RNG_ROCKCHIP=y
CONFIG_SCMI_FIRMWARE=y
CONFIG_GPIO_HOG=y
CONFIG_ROCKCHIP_GPIO=y
CONFIG_ROCKCHIP_GPIO_V2=y
CONFIG_SYS_I2C_ROCKCHIP=y
CONFIG_I2C_MUX=y
CONFIG_DM_KEY=y
CONFIG_RK8XX_PWRKEY=y
CONFIG_ADC_KEY=y
CONFIG_MISC=y
CONFIG_SPL_MISC=y
CONFIG_MISC_DECOMPRESS=y
CONFIG_SPL_MISC_DECOMPRESS=y
CONFIG_ROCKCHIP_OTP=y
CONFIG_ROCKCHIP_HW_DECOMPRESS=y
CONFIG_SPL_ROCKCHIP_HW_DECOMPRESS=y
CONFIG_SPL_ROCKCHIP_SECURE_OTP=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_DM_ETH=y
CONFIG_DM_ETH_PHY=y
CONFIG_DWC_ETH_QOS=y
CONFIG_GMAC_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PINCTRL=y
CONFIG_SPL_PINCTRL=y
CONFIG_DM_FUEL_GAUGE=y
CONFIG_POWER_FG_CW201X=y
CONFIG_POWER_FG_CW221X=y
CONFIG_DM_PMIC=y
CONFIG_PMIC_RK8XX=y
CONFIG_DM_POWER_DELIVERY=y
CONFIG_REGULATOR_PWM=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_REGULATOR_GPIO=y
CONFIG_REGULATOR_RK8XX=y
CONFIG_CHARGER_BQ25700=y
CONFIG_CHARGER_BQ25890=y
CONFIG_CHARGER_SGM41542=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_RAM=y
CONFIG_SPL_RAM=y
CONFIG_TPL_RAM=y
CONFIG_DM_RESET=y
CONFIG_SPL_DM_RESET=y
CONFIG_SCSI=y
CONFIG_DM_SCSI=y
CONFIG_SPL_RESET_ROCKCHIP=y
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_BASE=0x2ad40000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_ROCKCHIP_SFC=y
CONFIG_SYSRESET=y
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_GENERIC=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_GENERIC=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_DWC3_GENERIC=y
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
CONFIG_USB_GADGET_VENDOR_NUM=0x2207
CONFIG_USB_GADGET_PRODUCT_NUM=0x350e
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_UFS=y
CONFIG_ROCKCHIP_UFS=y
CONFIG_USE_TINY_PRINTF=y
CONFIG_LIB_RAND=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_RSA=y
CONFIG_SPL_RSA=y
CONFIG_RSA_N_SIZE=0x200
CONFIG_RSA_E_SIZE=0x10
CONFIG_RSA_C_SIZE=0x20
CONFIG_XBC=y
CONFIG_LZ4=y
CONFIG_SPL_GZIP=y
CONFIG_ERRNO_STR=y
CONFIG_OF_LIBFDT_OVERLAY=y
# CONFIG_EFI_LOADER is not set