From 0341855fa1feaeab7e37e1aad12c4f5bceee4b05 Mon Sep 17 00:00:00 2001 From: Liangbin Lian Date: Wed, 11 Jun 2025 13:56:06 +0800 Subject: [PATCH] target/rockchip: add rk3528/rk3576 uboot Signed-off-by: Liangbin Lian --- package/boot/rkbin/Makefile | 38 ++++ package/boot/uboot-rk35xx/Makefile | 83 ++++++++ .../patches/001-add-adc-cmd.patch | 31 +++ .../patches/002-adc-channel-mask-api.patch | 46 +++++ .../patches/003-adc-raw-to-uv-api.patch | 62 ++++++ ...p-saradc-disable-adc-to-volt-convert.patch | 36 ++++ .../004-rockchip-saradc-supports-rk3568.patch | 26 +++ .../patches/006-fix-efi-detection.patch | 40 ++++ .../patches/007-supports-legacy-image.patch | 22 ++ .../patches/008-fix-source-cmd-bug.patch | 23 +++ .../patches/009-fix-bootargs-not-effect.patch | 29 +++ .../uboot-rk35xx/patches/010-fix-ce.patch | 36 ++++ .../uboot-rk35xx/patches/010-fix-ce2.patch | 32 +++ .../uboot-rk35xx/patches/010-fix-ce3.patch | 25 +++ .../patches/011-optional-tee.patch | 24 +++ .../patches/900-rk35-tftp-speed.patch | 74 +++++++ .../901-rk3568-disable-usb30-pcie.patch | 42 ++++ .../patches/902-disable-auto-net-boot.patch | 15 ++ .../patches/903-skip-android-boot.patch | 30 +++ .../patches/904-rk3308-tftp-speed.patch | 29 +++ .../uboot-rk35xx/patches/910-build-idb.patch | 35 ++++ .../uboot-rk35xx/patches/911-fix-itb-ce.patch | 31 +++ .../arch/arm/dts/rk3528-easepi-u-boot.dtsi | 98 +++++++++ .../src/arch/arm/dts/rk3528-easepi.dts | 71 +++++++ package/boot/uboot-rk35xx/src/cmd/adc.c | 188 ++++++++++++++++++ .../src/configs/easepi-rk3528_defconfig | 166 ++++++++++++++++ .../src/configs/easepi-rk3576_defconfig | 179 +++++++++++++++++ 27 files changed, 1511 insertions(+) create mode 100644 package/boot/uboot-rk35xx/Makefile create mode 100644 package/boot/uboot-rk35xx/patches/001-add-adc-cmd.patch create mode 100644 package/boot/uboot-rk35xx/patches/002-adc-channel-mask-api.patch create mode 100644 package/boot/uboot-rk35xx/patches/003-adc-raw-to-uv-api.patch create mode 100644 package/boot/uboot-rk35xx/patches/004-rockchip-saradc-disable-adc-to-volt-convert.patch create mode 100644 package/boot/uboot-rk35xx/patches/004-rockchip-saradc-supports-rk3568.patch create mode 100644 package/boot/uboot-rk35xx/patches/006-fix-efi-detection.patch create mode 100644 package/boot/uboot-rk35xx/patches/007-supports-legacy-image.patch create mode 100644 package/boot/uboot-rk35xx/patches/008-fix-source-cmd-bug.patch create mode 100644 package/boot/uboot-rk35xx/patches/009-fix-bootargs-not-effect.patch create mode 100644 package/boot/uboot-rk35xx/patches/010-fix-ce.patch create mode 100644 package/boot/uboot-rk35xx/patches/010-fix-ce2.patch create mode 100644 package/boot/uboot-rk35xx/patches/010-fix-ce3.patch create mode 100644 package/boot/uboot-rk35xx/patches/011-optional-tee.patch create mode 100644 package/boot/uboot-rk35xx/patches/900-rk35-tftp-speed.patch create mode 100644 package/boot/uboot-rk35xx/patches/901-rk3568-disable-usb30-pcie.patch create mode 100644 package/boot/uboot-rk35xx/patches/902-disable-auto-net-boot.patch create mode 100644 package/boot/uboot-rk35xx/patches/903-skip-android-boot.patch create mode 100644 package/boot/uboot-rk35xx/patches/904-rk3308-tftp-speed.patch create mode 100644 package/boot/uboot-rk35xx/patches/910-build-idb.patch create mode 100644 package/boot/uboot-rk35xx/patches/911-fix-itb-ce.patch create mode 100644 package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi-u-boot.dtsi create mode 100644 package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi.dts create mode 100644 package/boot/uboot-rk35xx/src/cmd/adc.c create mode 100644 package/boot/uboot-rk35xx/src/configs/easepi-rk3528_defconfig create mode 100644 package/boot/uboot-rk35xx/src/configs/easepi-rk3576_defconfig diff --git a/package/boot/rkbin/Makefile b/package/boot/rkbin/Makefile index d895c06547..c15003e1b4 100644 --- a/package/boot/rkbin/Makefile +++ b/package/boot/rkbin/Makefile @@ -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 diff --git a/package/boot/uboot-rk35xx/Makefile b/package/boot/uboot-rk35xx/Makefile new file mode 100644 index 0000000000..a7381d1780 --- /dev/null +++ b/package/boot/uboot-rk35xx/Makefile @@ -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)) diff --git a/package/boot/uboot-rk35xx/patches/001-add-adc-cmd.patch b/package/boot/uboot-rk35xx/patches/001-add-adc-cmd.patch new file mode 100644 index 0000000000..a0a112c480 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/001-add-adc-cmd.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/patches/002-adc-channel-mask-api.patch b/package/boot/uboot-rk35xx/patches/002-adc-channel-mask-api.patch new file mode 100644 index 0000000000..bca4940290 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/002-adc-channel-mask-api.patch @@ -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. diff --git a/package/boot/uboot-rk35xx/patches/003-adc-raw-to-uv-api.patch b/package/boot/uboot-rk35xx/patches/003-adc-raw-to-uv-api.patch new file mode 100644 index 0000000000..6fdcd0aabb --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/003-adc-raw-to-uv-api.patch @@ -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 + #include ++#include + #include + #include + #include +@@ -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 diff --git a/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-disable-adc-to-volt-convert.patch b/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-disable-adc-to-volt-convert.patch new file mode 100644 index 0000000000..6403c33f8c --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-disable-adc-to-volt-convert.patch @@ -0,0 +1,36 @@ +From 34bfaa17488e5fd933dad63eacfef4f1c86ebd58 Mon Sep 17 00:00:00 2001 +From: Liangbin Lian +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; + } diff --git a/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-supports-rk3568.patch b/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-supports-rk3568.patch new file mode 100644 index 0000000000..aa540e46c0 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/004-rockchip-saradc-supports-rk3568.patch @@ -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 }, + { } + }; + diff --git a/package/boot/uboot-rk35xx/patches/006-fix-efi-detection.patch b/package/boot/uboot-rk35xx/patches/006-fix-efi-detection.patch new file mode 100644 index 0000000000..47cafcd57c --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/006-fix-efi-detection.patch @@ -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. diff --git a/package/boot/uboot-rk35xx/patches/007-supports-legacy-image.patch b/package/boot/uboot-rk35xx/patches/007-supports-legacy-image.patch new file mode 100644 index 0000000000..0790f08a01 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/007-supports-legacy-image.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/patches/008-fix-source-cmd-bug.patch b/package/boot/uboot-rk35xx/patches/008-fix-source-cmd-bug.patch new file mode 100644 index 0000000000..45e5269582 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/008-fix-source-cmd-bug.patch @@ -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) diff --git a/package/boot/uboot-rk35xx/patches/009-fix-bootargs-not-effect.patch b/package/boot/uboot-rk35xx/patches/009-fix-bootargs-not-effect.patch new file mode 100644 index 0000000000..4a90b54df3 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/009-fix-bootargs-not-effect.patch @@ -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) + { diff --git a/package/boot/uboot-rk35xx/patches/010-fix-ce.patch b/package/boot/uboot-rk35xx/patches/010-fix-ce.patch new file mode 100644 index 0000000000..679fe92cd2 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/010-fix-ce.patch @@ -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: + * diff --git a/package/boot/uboot-rk35xx/patches/010-fix-ce2.patch b/package/boot/uboot-rk35xx/patches/010-fix-ce2.patch new file mode 100644 index 0000000000..aff7a5f3e8 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/010-fix-ce2.patch @@ -0,0 +1,32 @@ +From 6928b3a2b8397bea88add5174821e7a9c6f405d9 Mon Sep 17 00:00:00 2001 +From: jjm2473 +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 + diff --git a/package/boot/uboot-rk35xx/patches/010-fix-ce3.patch b/package/boot/uboot-rk35xx/patches/010-fix-ce3.patch new file mode 100644 index 0000000000..379eac453a --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/010-fix-ce3.patch @@ -0,0 +1,25 @@ +From 8a530b27f8c486281b60a4bbcf35ed463431a617 Mon Sep 17 00:00:00 2001 +From: jjm2473 +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 + diff --git a/package/boot/uboot-rk35xx/patches/011-optional-tee.patch b/package/boot/uboot-rk35xx/patches/011-optional-tee.patch new file mode 100644 index 0000000000..698e2e4a01 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/011-optional-tee.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/patches/900-rk35-tftp-speed.patch b/package/boot/uboot-rk35xx/patches/900-rk35-tftp-speed.patch new file mode 100644 index 0000000000..ec97dcf553 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/900-rk35-tftp-speed.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/patches/901-rk3568-disable-usb30-pcie.patch b/package/boot/uboot-rk35xx/patches/901-rk3568-disable-usb30-pcie.patch new file mode 100644 index 0000000000..4fc5e1db6b --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/901-rk3568-disable-usb30-pcie.patch @@ -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"; diff --git a/package/boot/uboot-rk35xx/patches/902-disable-auto-net-boot.patch b/package/boot/uboot-rk35xx/patches/902-disable-auto-net-boot.patch new file mode 100644 index 0000000000..d4779285c8 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/902-disable-auto-net-boot.patch @@ -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" diff --git a/package/boot/uboot-rk35xx/patches/903-skip-android-boot.patch b/package/boot/uboot-rk35xx/patches/903-skip-android-boot.patch new file mode 100644 index 0000000000..1cffa6bee3 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/903-skip-android-boot.patch @@ -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 */ diff --git a/package/boot/uboot-rk35xx/patches/904-rk3308-tftp-speed.patch b/package/boot/uboot-rk35xx/patches/904-rk3308-tftp-speed.patch new file mode 100644 index 0000000000..88146c27bc --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/904-rk3308-tftp-speed.patch @@ -0,0 +1,29 @@ +From d53d50dd1500d71f94ce5551606956f9373f3e52 Mon Sep 17 00:00:00 2001 +From: Liangbin Lian +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 diff --git a/package/boot/uboot-rk35xx/patches/910-build-idb.patch b/package/boot/uboot-rk35xx/patches/910-build-idb.patch new file mode 100644 index 0000000000..a06c829015 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/910-build-idb.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/patches/911-fix-itb-ce.patch b/package/boot/uboot-rk35xx/patches/911-fix-itb-ce.patch new file mode 100644 index 0000000000..5a7f4b3539 --- /dev/null +++ b/package/boot/uboot-rk35xx/patches/911-fix-itb-ce.patch @@ -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 diff --git a/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi-u-boot.dtsi b/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi-u-boot.dtsi new file mode 100644 index 0000000000..0c5d3cc6a4 --- /dev/null +++ b/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi-u-boot.dtsi @@ -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; + }; +}; diff --git a/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi.dts b/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi.dts new file mode 100644 index 0000000000..fe27652dee --- /dev/null +++ b/package/boot/uboot-rk35xx/src/arch/arm/dts/rk3528-easepi.dts @@ -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 + +/ { + 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 = ; + 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>; + }; +}; diff --git a/package/boot/uboot-rk35xx/src/cmd/adc.c b/package/boot/uboot-rk35xx/src/cmd/adc.c new file mode 100644 index 0000000000..9d95d06144 --- /dev/null +++ b/package/boot/uboot-rk35xx/src/cmd/adc.c @@ -0,0 +1,188 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 BayLibre, SAS + * Author: Neil Armstrong + */ +#include +#include +#include +#include + +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 - Get ADC device info\n" + "adc single [varname] - Get Single data of ADC device channel\n" + "adc scan [channel mask] - Scan all [or masked] ADC channels"; + +U_BOOT_CMD(adc, 5, 1, do_adc, "ADC sub-system", adc_help_text); diff --git a/package/boot/uboot-rk35xx/src/configs/easepi-rk3528_defconfig b/package/boot/uboot-rk35xx/src/configs/easepi-rk3528_defconfig new file mode 100644 index 0000000000..24a39335e5 --- /dev/null +++ b/package/boot/uboot-rk35xx/src/configs/easepi-rk3528_defconfig @@ -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 diff --git a/package/boot/uboot-rk35xx/src/configs/easepi-rk3576_defconfig b/package/boot/uboot-rk35xx/src/configs/easepi-rk3576_defconfig new file mode 100644 index 0000000000..a71b1e69cd --- /dev/null +++ b/package/boot/uboot-rk35xx/src/configs/easepi-rk3576_defconfig @@ -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