openwrt/package/boot/uboot-rockchip/Makefile
Tianling Shen 23cb2b1636 uboot-rockchip: add NanoPi R2C Plus support
Add support for the FriendlyARM NanoPi R2C Plus.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-19 16:23:32 +01:00

189 lines
3.8 KiB
Makefile

#
# 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:=2024.01
PKG_RELEASE:=1
PKG_HASH:=b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3
PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
UBOOT_USE_BINMAN:=1
UBOOT_USE_INTREE_DTC:=1
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define U-Boot/Default
BUILD_TARGET:=rockchip
UENV:=default
HIDDEN:=1
endef
# RK3328 boards
define U-Boot/rk3328/Default
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3328
ATF:=rk3328_bl31.elf
endef
define U-Boot/nanopi-r2c-rk3328
$(U-Boot/rk3328/Default)
NAME:=NanoPi R2C
BUILD_DEVICES:= \
friendlyarm_nanopi-r2c
endef
define U-Boot/nanopi-r2c-plus-rk3328
$(U-Boot/rk3328/Default)
NAME:=NanoPi R2C Plus
BUILD_DEVICES:= \
friendlyarm_nanopi-r2c-plus
endef
define U-Boot/nanopi-r2s-rk3328
$(U-Boot/rk3328/Default)
NAME:=NanoPi R2S
BUILD_DEVICES:= \
friendlyarm_nanopi-r2s
endef
define U-Boot/orangepi-r1-plus-rk3328
$(U-Boot/rk3328/Default)
NAME:=Orange Pi R1 Plus
BUILD_DEVICES:= \
xunlong_orangepi-r1-plus
endef
define U-Boot/orangepi-r1-plus-lts-rk3328
$(U-Boot/rk3328/Default)
NAME:=Orange Pi R1 Plus LTS
BUILD_DEVICES:= \
xunlong_orangepi-r1-plus-lts
endef
define U-Boot/roc-cc-rk3328
$(U-Boot/rk3328/Default)
NAME:=ROC-RK3328-CC
BUILD_DEVICES:= \
firefly_roc-rk3328-cc
endef
define U-Boot/rock64-rk3328
$(U-Boot/rk3328/Default)
NAME:=Rock64
BUILD_DEVICES:= \
pine64_rock64
endef
define U-Boot/rock-pi-e-rk3328
$(U-Boot/rk3328/Default)
NAME:=ROCK Pi E
BUILD_DEVICES:= \
radxa_rock-pi-e
endef
# RK3399 boards
define U-Boot/rk3399/Default
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3399
ATF:=rk3399_bl31.elf
endef
define U-Boot/nanopc-t4-rk3399
$(U-Boot/rk3399/Default)
NAME:=NanoPC T4
BUILD_DEVICES:= \
friendlyarm_nanopc-t4
endef
define U-Boot/nanopi-r4s-rk3399
$(U-Boot/rk3399/Default)
NAME:=NanoPi R4S
BUILD_DEVICES:= \
friendlyarm_nanopi-r4s
endef
define U-Boot/rock-pi-4-rk3399
$(U-Boot/rk3399/Default)
NAME:=Rock Pi 4
BUILD_DEVICES:= \
radxa_rock-pi-4a
endef
define U-Boot/rockpro64-rk3399
$(U-Boot/rk3399/Default)
NAME:=RockPro64
BUILD_DEVICES:= \
pine64_rockpro64
endef
# RK3568 boards
define U-Boot/rk3568/Default
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3568
ATF:=rk3568_bl31_v1.43.elf
TPL:=rk3568_ddr_1560MHz_v1.18.bin
endef
define U-Boot/nanopi-r5c-rk3568
$(U-Boot/rk3568/Default)
NAME:=NanoPi R5C
BUILD_DEVICES:= \
friendlyarm_nanopi-r5c
endef
define U-Boot/nanopi-r5s-rk3568
$(U-Boot/rk3568/Default)
NAME:=NanoPi R5S
BUILD_DEVICES:= \
friendlyarm_nanopi-r5s
endef
UBOOT_TARGETS := \
nanopc-t4-rk3399 \
nanopi-r4s-rk3399 \
rock-pi-4-rk3399 \
rockpro64-rk3399 \
nanopi-r2c-rk3328 \
nanopi-r2c-plus-rk3328 \
nanopi-r2s-rk3328 \
orangepi-r1-plus-rk3328 \
orangepi-r1-plus-lts-rk3328 \
roc-cc-rk3328 \
rock64-rk3328 \
rock-pi-e-rk3328 \
nanopi-r5c-rk3568 \
nanopi-r5s-rk3568
UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
UBOOT_CUSTOMIZE_CONFIG := \
--disable SPL_FIT_SIGNATURE \
--disable TOOLS_MKEFICAPSULE \
--set-str MKIMAGE_DTC_PATH $(PKG_BUILD_DIR)/scripts/dtc/dtc
UBOOT_MAKE_FLAGS += \
PATH=$(STAGING_DIR_HOST)/bin:$(PATH) \
BL31=$(STAGING_DIR_IMAGE)/$(ATF) \
$(if $(TPL),ROCKCHIP_TPL=$(STAGING_DIR_IMAGE)/$(TPL))
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
$(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
endef
define Package/u-boot/install/default
endef
$(eval $(call BuildPackage/U-Boot))