db80a7dde3045d4820a9e9098cffd9549f588fee
[openwrt/staging/hauke.git] / target / linux / visionfive / image / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2022 OpenWrt.org
4 #
5 include $(TOPDIR)/rules.mk
6 include $(INCLUDE_DIR)/image.mk
7
8 FAT32_BLOCK_SIZE=1024
9 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_VISIONFIVE_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
10
11 KERNEL_LOADADDR:=0x80200000
12
13 define Build/riscv-sdcard
14 rm -f $@.boot #$(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img
15 mkfs.fat $@.boot -C $(FAT32_BLOCKS)
16
17 mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-boot.scr ::boot.scr
18 mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage
19
20 ./gen_sifiveu_sdcard_img.sh \
21 $@ \
22 $@.boot \
23 $(IMAGE_ROOTFS) \
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
28 endef
29
30 define Device/Default
31 PROFILES := Default
32 KERNEL_NAME := Image
33 KERNEL := kernel-bin | lzma | uImage lzma -a $(KERNEL_LOADADDR)
34 IMAGE/sdcard.img.gz := riscv-sdcard | append-metadata | gzip
35 endef
36
37 define Device/FitImageGzip
38 KERNEL_SUFFIX := -fit-uImage.itb
39 KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
40 KERNEL_NAME := Image
41 endef
42
43 define Device/FitImage
44 KERNEL_SUFFIX := -fit-uImage.itb
45 KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
46 KERNEL_NAME := Image
47 endef
48
49 define Device/visionfive
50 $(call Device/FitImage)
51 DEVICE_VENDOR := StarFive
52 DEVICE_MODEL := VisionFive
53 DEVICE_DTS := starfive/jh7100-starfive-visionfive-v1
54 endef
55 TARGET_DEVICES += visionfive
56
57
58 $(eval $(call BuildImage))