mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-25 16:13:05 +00:00
opensbi: add package for RISC-V
OpenSBI is a form of a first-stage bootloader, which initializes certain parts of an SoC and then passes on control to the second stage bootloader i.e. an u-boot image. We're introducing the package with release v1.2, which provides SBI v0.3 and the SBI SRST extensions which helps to gracefully reboot/shutdown various HiFive-U SoCs. Tested on SiFive Unleashed and Unmatched boards. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This commit is contained in:
parent
50c05f6cd7
commit
944b13b3ee
63
package/boot/opensbi/Makefile
Normal file
63
package/boot/opensbi/Makefile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022 OpenWrt.org
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=opensbi
|
||||||
|
PKG_RELEASE:=1.2
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_URL=https://github.com/riscv/opensbi
|
||||||
|
PKG_SOURCE_DATE:=2022-12-24
|
||||||
|
PKG_SOURCE_VERSION:=6b5188ca14e59ce7bf71afe4e7d3d557c3d31bf8
|
||||||
|
PKG_MIRROR_HASH:=edcdd99da6c62975171981c0aa2b73a27091067da11ccd49816b5ad27d000858
|
||||||
|
|
||||||
|
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_TARGETS:=bin
|
||||||
|
PKG_FLAGS:=nonshared
|
||||||
|
PKG_LICENSE:=BSD-2-Clause
|
||||||
|
PKG_LICENSE_FILES:=COPYING.BSD
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/opensbi
|
||||||
|
SECTION:=boot
|
||||||
|
CATEGORY:=Boot Loaders
|
||||||
|
DEPENDS:=@TARGET_sifiveu
|
||||||
|
URL:=https://github.com/riscv/opensbi/blob/master/README.md
|
||||||
|
VARIANT:=$(subst _,/,$(subst opensbi_,,$(1)))
|
||||||
|
TITLE:=OpenSBI generic
|
||||||
|
OPENSBI_IMAGE:=
|
||||||
|
PLAT:=
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/opensbi_generic
|
||||||
|
$(Package/opensbi)
|
||||||
|
TITLE:=OpenSBI generic
|
||||||
|
OPENSBI_IMAGE:=fw_dynamic.bin
|
||||||
|
PLAT:=generic
|
||||||
|
endef
|
||||||
|
|
||||||
|
export GCC_HONOUR_COPTS=s
|
||||||
|
|
||||||
|
MAKE_VARS = \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)"
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(eval $(Package/opensbi_$(BUILD_VARIANT))) \
|
||||||
|
+$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
|
PLATFORM=$(PLAT)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/InstallDev
|
||||||
|
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/build/platform/$(PLAT)/firmware/fw_dynamic.bin $(STAGING_DIR_IMAGE)/fw_dynamic-${BUILD_VARIANT}.bin
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,opensbi_generic))
|
Loading…
Reference in New Issue
Block a user