1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2022 OpenWrt.org
5 include $(TOPDIR
)/rules.mk
6 include $(INCLUDE_DIR
)/image.mk
9 FAT32_BLOCKS
=$(shell echo
$$(($(CONFIG_VISIONFIVE_SD_BOOT_PARTSIZE
)*1024*1024/$(FAT32_BLOCK_SIZE
))))
11 KERNEL_LOADADDR
:=0x80200000
13 define Build
/riscv-sdcard
14 rm -f
$@.boot
#$(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img
15 mkfs.fat
$@.boot
-C
$(FAT32_BLOCKS
)
17 mcopy
-i
$@.boot
$(STAGING_DIR_IMAGE
)/$(DEVICE_NAME
)-boot.scr
::boot.scr
18 mcopy
-i
$@.boot
$(IMAGE_KERNEL
) ::uImage
20 .
/gen_sifiveu_sdcard_img.sh \
24 $(CONFIG_VISIONFIVE_SD_BOOT_PARTSIZE
) \
25 $(CONFIG_TARGET_ROOTFS_PARTSIZE
) \
26 $(STAGING_DIR_IMAGE
)/$(DEVICE_NAME
)-u-boot.itb \
27 $(STAGING_DIR_IMAGE
)/$(DEVICE_NAME
)-u-boot.itb-spl
33 KERNEL
:= kernel-bin | lzma | uImage lzma
-a
$(KERNEL_LOADADDR
)
34 IMAGE
/sdcard.img.gz
:= riscv-sdcard | append-metadata | gzip
37 define Device
/FitImageGzip
38 KERNEL_SUFFIX
:= -fit-uImage.itb
39 KERNEL
= kernel-bin | gzip | fit gzip
$$(DTS_DIR
)/$$(DEVICE_DTS
).dtb
43 define Device
/FitImage
44 KERNEL_SUFFIX
:= -fit-uImage.itb
45 KERNEL
= kernel-bin | fit none
$$(DTS_DIR
)/$$(DEVICE_DTS
).dtb
49 define Device
/visionfive
50 $(call Device
/FitImage
)
51 DEVICE_VENDOR
:= StarFive
52 DEVICE_MODEL
:= VisionFive
53 DEVICE_DTS
:= starfive
/jh7100-starfive-visionfive-v1
55 TARGET_DEVICES
+= visionfive
58 $(eval
$(call BuildImage
))