uboot-rockchip: revert to vendor atf

Since rockchip is so closed, we have no choice.
This commit is contained in:
AmadeusGhost 2023-04-13 23:40:16 +08:00
parent 8a9cd422ff
commit 36a2481b9a
6 changed files with 139 additions and 1811 deletions

View File

@ -8,49 +8,42 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=arm-trusted-firmware-rockchip
PKG_VERSION:=2.8
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/ARM-software/arm-trusted-firmware
PKG_SOURCE_DATE:=2022-11-17
PKG_SOURCE_VERSION:=0fa7fe59f3a34cb16e390da9bdd290a52005d450
PKG_MIRROR_HASH:=94a92969c1ae06cbedb07d76bc7265692d9f73ec5a7263602902ef4b221886ad
PKG_SOURCE:=atf-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/atf-builds/atf/releases/download/v$(PKG_VERSION)/atf-v$(PKG_VERSION).tar.gz?
PKG_HASH:=61df69619fd611da9e43abf66be28d6d59722feef559587fad0ca4cd9e499758
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=license.md
PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/trusted-firmware-a.mk
MAKE_PATH:=$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Trusted-Firmware-A/Default
BUILD_TARGET:=rockchip
BUILD_SUBTARGET:=armv8
define Package/arm-trusted-firmware-rockchip
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=ARM Trusted Firmware for Rockchip
DEPENDS:=@TARGET_rockchip_armv8
endef
define Trusted-Firmware-A/rk3328
NAME:=Rockchip RK3328
PLAT:=rk3328
define Build/Prepare
$(TAR) -C $(PKG_BUILD_DIR) -xf $(DL_DIR)/$(PKG_SOURCE)
endef
define Trusted-Firmware-A/rk3399
NAME:=Rockchip RK3399
PLAT:=rk3399
define Build/Compile
endef
define Trusted-Firmware-A/rk3568
NAME:=Rockchip RK3568
PLAT:=rk3568
define Build/InstallDev
$(INSTALL_DIR) -p $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/rk*.elf $(STAGING_DIR_IMAGE)/
endef
TFA_TARGETS:= \
rk3328 \
rk3399 \
rk3568
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31/bl31.elf \
$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)_bl31.elf
define Package/arm-trusted-firmware-rockchip/install
endef
$(eval $(call BuildPackage/Trusted-Firmware-A))
$(eval $(call BuildPackage,arm-trusted-firmware-rockchip))

View File

@ -1,11 +0,0 @@
--- a/plat/rockchip/rk3399/rk3399_def.h
+++ b/plat/rockchip/rk3399/rk3399_def.h
@@ -17,7 +17,7 @@
/**************************************************************************
* UART related constants
**************************************************************************/
-#define RK3399_BAUDRATE 115200
+#define RK3399_BAUDRATE 1500000
#define RK3399_UART_CLOCK 24000000
/******************************************************************************

View File

@ -77,7 +77,7 @@ define U-Boot/guangmiao-g4c-rk3399
NAME:=GuangMiao G4C
BUILD_DEVICES:= \
sharevdi_guangmiao-g4c
DEPENDS:=+PACKAGE_u-boot-guangmiao-g4c-rk3399:trusted-firmware-a-rk3399
DEPENDS:=+PACKAGE_u-boot-guangmiao-g4c-rk3399:arm-trusted-firmware-rockchip
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3399_bl31.elf
endef
@ -109,7 +109,7 @@ define U-Boot/rock-pi-4-rk3399
NAME:=Rock Pi 4
BUILD_DEVICES:= \
radxa_rock-pi-4
DEPENDS:=+PACKAGE_u-boot-rock-pi-4-rk3399:trusted-firmware-a-rk3399
DEPENDS:=+PACKAGE_u-boot-rock-pi-4-rk3399:arm-trusted-firmware-rockchip
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3399_bl31.elf
endef
@ -119,7 +119,7 @@ define U-Boot/rockpro64-rk3399
NAME:=RockPro64
BUILD_DEVICES:= \
pine64_rockpro64
DEPENDS:=+PACKAGE_u-boot-rockpro64-rk3399:trusted-firmware-a-rk3399
DEPENDS:=+PACKAGE_u-boot-rockpro64-rk3399:arm-trusted-firmware-rockchip
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3399_bl31.elf
endef
@ -165,9 +165,9 @@ define U-Boot/mrkaio-m68s-rk3568
BUILD_DEVICES:= \
ezpro_mrkaio-m68s \
ezpro_mrkaio-m68s-plus
DEPENDS:=+PACKAGE_u-boot-mrkaio-m68s-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-mrkaio-m68s-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -177,9 +177,9 @@ define U-Boot/nanopi-r5s-rk3568
BUILD_DEVICES:= \
friendlyarm_nanopi-r5c \
friendlyarm_nanopi-r5s
DEPENDS:=+PACKAGE_u-boot-nanopi-r5s-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-nanopi-r5s-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -190,9 +190,9 @@ define U-Boot/opc-h68k-rk3568
hinlink_opc-h66k \
hinlink_opc-h68k \
hinlink_opc-h69k
DEPENDS:=+PACKAGE_u-boot-opc-h68k-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-opc-h68k-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -201,9 +201,9 @@ define U-Boot/photonicat-rk3568
NAME:=Ariaboard Photonicat
BUILD_DEVICES:= \
ariaboard_photonicat
DEPENDS:=+PACKAGE_u-boot-photonicat-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-photonicat-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -212,9 +212,9 @@ define U-Boot/radxa-e25-rk3568
NAME:=Radxa E25
BUILD_DEVICES:= \
radxa_e25
DEPENDS:=+PACKAGE_u-boot-radxa-e25-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-radxa-e25-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -223,9 +223,9 @@ define U-Boot/rock-3a-rk3568
NAME:=ROCK3 Model A
BUILD_DEVICES:= \
radxa_rock-3a
DEPENDS:=+PACKAGE_u-boot-rock-3a-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-rock-3a-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -235,9 +235,9 @@ define U-Boot/r66s-rk3568
BUILD_DEVICES:= \
fastrhino_r66s \
fastrhino_r68s
DEPENDS:=+PACKAGE_u-boot-r66s-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-r66s-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -246,9 +246,9 @@ define U-Boot/station-p2-rk3568
NAME:=StationP2
BUILD_DEVICES:= \
firefly_station-p2
DEPENDS:=+PACKAGE_u-boot-station-p2-rk3568:trusted-firmware-a-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
ATF:=rk3568_bl31.elf
DEPENDS:=+PACKAGE_u-boot-station-p2-rk3568:arm-trusted-firmware-rk3568
PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
ATF:=rk3568_bl31_v1.34.elf
DDR:=rk3568_ddr_1560MHz_v1.13.bin
endef
@ -279,33 +279,11 @@ UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
UBOOT_MAKE_FLAGS += \
BL31=$(STAGING_DIR_IMAGE)/$(ATF)
ifeq ($(CONFIG_PACKAGE_trusted-firmware-a-rk3568),y)
ifeq ($(CONFIG_PACKAGE_arm-trusted-firmware-rk3568),y)
UBOOT_MAKE_FLAGS += \
ROCKCHIP_TPL=$(PKG_BUILD_DIR)/$(DDR)
ROCKCHIP_TPL=$(STAGING_DIR_IMAGE)/$(DDR)
endif
RKBIN_URL:=https://raw.githubusercontent.com/rockchip-linux/rkbin/b0c100f1a260d807df450019774993c761beb79d
define Download/rk3566-ddr
FILE:=rk3566_ddr_1056MHz_v1.13.bin
URL:=$(RKBIN_URL)/bin/rk35/
HASH:=6f165b37640eb876b5f41297bcce6451eb8a86fa56649633d4aca76047136a36
endef
$(eval $(call Download,rk3566-ddr))
define Download/rk3568-ddr
FILE:=rk3568_ddr_1560MHz_v1.13.bin
URL:=$(RKBIN_URL)/bin/rk35/
HASH:=53d5e893916e647ccb8c5a2a51f749e9e11bf7329e61a2f94d8c089a333d7812
endef
$(eval $(call Download,rk3568-ddr))
define Build/Prepare
$(call Build/Prepare/Default)
$(CP) $(DL_DIR)/rk3566_ddr_1056MHz_v1.13.bin $(PKG_BUILD_DIR)/
$(CP) $(DL_DIR)/rk3568_ddr_1560MHz_v1.13.bin $(PKG_BUILD_DIR)/
endef
define Build/Configure
$(call Build/Configure/U-Boot)

View File

@ -0,0 +1,45 @@
--- a/configs/rock-3a-rk3568_defconfig
+++ b/configs/rock-3a-rk3568_defconfig
@@ -39,6 +39,8 @@
CONFIG_CMD_GPT=y
CONFIG_CMD_I2C=y
CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_REGULATOR=y
# CONFIG_CMD_SETEXPR is not set
# CONFIG_SPL_DOS_PARTITION is not set
CONFIG_SPL_OF_CONTROL=y
@@ -47,6 +49,8 @@
CONFIG_SPL_REGMAP=y
CONFIG_SPL_SYSCON=y
CONFIG_SPL_CLK=y
+CONFIG_CLK_SCMI=y
+CONFIG_RESET_SCMI=y
CONFIG_ROCKCHIP_GPIO=y
CONFIG_SYS_I2C_ROCKCHIP=y
CONFIG_MISC=y
@@ -61,7 +65,11 @@
CONFIG_DM_PMIC=y
CONFIG_PMIC_RK8XX=y
CONFIG_SPL_PMIC_RK8XX=y
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
CONFIG_REGULATOR_PWM=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
CONFIG_REGULATOR_RK8XX=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_SPL_RAM=y
@@ -69,5 +77,11 @@
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYS_NS16550_MEM32=y
CONFIG_SYSRESET=y
-# CONFIG_BINMAN_FDT is not set
+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_DWC3=y
+CONFIG_USB_DWC3_GENERIC=y
CONFIG_ERRNO_STR=y

View File

@ -0,0 +1,43 @@
From c13b8e588bd2da6381a6d337df51acb2a61f03b8 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Tue, 21 Mar 2023 21:43:07 +0000
Subject: [PATCH] rockchip: rk35xx: Fix boot with a large fdt blob
The TF-A blobs used to boot RK3568 and RK3588 boards is based on atf
v2.3. Mainline atf v2.3 contains an issue that could lead to a crash
when it fails to parse the fdt blob being passed as the platform param.
An issue that was fixed in atf v2.4.
The vendor TF-A seem to suffer from a similar issue, and this prevents
booting when fdt blob is large enough to trigger this condition.
Fix this by implying SPL_ATF_NO_PLATFORM_PARAM to let u-boot pass a
NULL pointer instead of the fdt blob as the platform param.
This fixes booting Radxa ROCK 3A after recent sync of device tree.
Fixes: 073d911ae64a ("rockchip: rk3568-rock-3a: Sync device tree from linux")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Link: https://patchwork.ozlabs.org/project/uboot/patch/20230321214301.2590326-4-jonas@kwiboo.se/
---
arch/arm/mach-rockchip/Kconfig | 2 ++
1 file changed, 2 insertions(+)
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -288,6 +288,7 @@ config ROCKCHIP_RK3568
select BOARD_LATE_INIT
select DM_REGULATOR_FIXED
select DM_RESET
+ imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
imply ROCKCHIP_COMMON_BOARD
imply ROCKCHIP_OTP
imply MISC_INIT_R
@@ -309,6 +310,7 @@ config ROCKCHIP_RK3588
select REGMAP
select SYSCON
select BOARD_LATE_INIT
+ imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
imply ROCKCHIP_COMMON_BOARD
imply ROCKCHIP_OTP
imply MISC_INIT_R