immortalwrt/package/boot/uboot-rockchip/Makefile

165 lines
3.6 KiB
Makefile
Raw Normal View History

#
# 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:=2023.01
PKG_RELEASE:=1
PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f
PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
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/Default/rk3328
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3328
ATF:=rk322xh_bl31_v1.49.elf
endef
define U-Boot/nanopi-r2c-rk3328
$(U-Boot/Default/rk3328)
NAME:=NanoPi R2C
BUILD_DEVICES:= \
friendlyarm_nanopi-r2c
endef
define U-Boot/nanopi-r2s-rk3328
$(U-Boot/Default/rk3328)
NAME:=NanoPi R2S
BUILD_DEVICES:= \
friendlyarm_nanopi-r2s
endef
define U-Boot/orangepi-r1-plus-rk3328
$(U-Boot/Default/rk3328)
NAME:=Orange Pi R1 Plus
BUILD_DEVICES:= \
xunlong_orangepi-r1-plus
endef
define U-Boot/orangepi-r1-plus-lts-rk3328
$(U-Boot/Default/rk3328)
NAME:=Orange Pi R1 Plus LTS
BUILD_DEVICES:= \
xunlong_orangepi-r1-plus-lts
endef
# RK3399 boards
define U-Boot/Default/rk3399
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3399
ATF:=rk3399_bl31_v1.35.elf
endef
define U-Boot/nanopi-r4s-rk3399
$(U-Boot/Default/rk3399)
NAME:=NanoPi R4S
BUILD_DEVICES:= \
friendlyarm_nanopi-r4s
endef
define U-Boot/nanopi-r4s-enterprise-rk3399
$(U-Boot/Default/rk3399)
NAME:=NanoPi R4S Enterprise Edition
BUILD_DEVICES:= \
friendlyarm_nanopi-r4s-enterprise
endef
define U-Boot/rock-pi-4-rk3399
$(U-Boot/Default/rk3399)
NAME:=Rock Pi 4
BUILD_DEVICES:= \
radxa_rock-pi-4a
endef
define U-Boot/rockpro64-rk3399
$(U-Boot/Default/rk3399)
NAME:=RockPro64
BUILD_DEVICES:= \
pine64_rockpro64
endef
# RK3568 boards
define U-Boot/Default/rk3568
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3568
ATF:=rk3568_bl31_v1.28.elf
DDR:=rk3568_ddr_1560MHz_v1.15.bin
endef
define U-Boot/fastrhino-r66s-rk3568
$(U-Boot/Default/rk3568)
NAME:=Lunzn FastRhino R66S
BUILD_DEVICES:= \
lunzn_fastrhino-r66s
endef
define U-Boot/fastrhino-r68s-rk3568
$(U-Boot/Default/rk3568)
NAME:=Lunzn FastRhino R68S
BUILD_DEVICES:= \
lunzn_fastrhino-r68s
endef
UBOOT_TARGETS := \
nanopi-r4s-rk3399 \
nanopi-r4s-enterprise-rk3399 \
rock-pi-4-rk3399 \
rockpro64-rk3399 \
nanopi-r2c-rk3328 \
nanopi-r2s-rk3328 \
orangepi-r1-plus-rk3328 \
orangepi-r1-plus-lts-rk3328 \
fastrhino-r66s-rk3568 \
fastrhino-r68s-rk3568
UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
UBOOT_MAKE_FLAGS += \
BL31=$(STAGING_DIR_IMAGE)/$(ATF)
define Build/Configure
$(call Build/Configure/U-Boot)
$(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
ifneq ($(DDR),)
$(INSTALL_DIR) $(PKG_BUILD_DIR)/tpl
$(CP) $(STAGING_DIR_IMAGE)/$(DDR) $(PKG_BUILD_DIR)/tpl/u-boot-tpl.bin
endif
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
ifneq ($(DDR),)
$(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
else
$(STAGING_DIR_IMAGE)/loaderimage --pack --uboot $(PKG_BUILD_DIR)/u-boot-dtb.bin $(PKG_BUILD_DIR)/uboot.img 0x200000
$(CP) $(PKG_BUILD_DIR)/uboot.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot.img
endif
endef
define Package/u-boot/install/default
endef
$(eval $(call BuildPackage/U-Boot))