d1: add new target
[openwrt/staging/mans0n.git] / target / linux / d1 / image / Makefile
1 #
2 # Copyright (C) 2023 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
9
10 FAT32_BLOCK_SIZE=1024
11 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_D1_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
12
13 KERNEL_LOADADDR:=0x40200000
14
15 define Build/riscv-sdcard
16 rm -f $@.boot #$(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img
17 mkfs.fat $@.boot -C $(FAT32_BLOCKS)
18
19 mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-boot.scr ::boot.scr
20 mcopy -i $@.boot $(DTS_DIR)/$(DEVICE_DTS).dtb ::dtb
21 mcopy -i $@.boot $(IMAGE_KERNEL) ::Image
22
23 ./gen_d1_sdcard_img.sh \
24 $@ \
25 $@.boot \
26 $(IMAGE_ROOTFS) \
27 $(CONFIG_D1_SD_BOOT_PARTSIZE) \
28 $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
29 $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-u-boot-sunxi-with-spl.bin
30 endef
31
32 define Device/Default
33 PROFILES := Default
34 KERNEL_NAME := Image
35 KERNEL := kernel-bin
36 IMAGES := sdcard.img.gz
37 IMAGE/sdcard.img.gz := riscv-sdcard | append-metadata | gzip
38 endef
39
40 define Device/FitImageGzip
41 KERNEL_SUFFIX := -fit-uImage.itb
42 KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
43 KERNEL_NAME := Image
44 endef
45
46 define Device/FitImage
47 KERNEL_SUFFIX := -fit-uImage.itb
48 KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
49 KERNEL_NAME := Image
50 endef
51
52 define Device/dongshan_nezha_stu
53 $(call Device/Default)
54 DEVICE_VENDOR := Dongshan
55 DEVICE_MODEL := Nezha STU devkit
56 DEVICE_DTS := allwinner/sun20i-d1-dongshan-nezha-stu
57 UBOOT := dongshan_nezha_stu
58 endef
59 TARGET_DEVICES += dongshan_nezha_stu
60
61 define Device/lichee_rv_dock
62 $(call Device/Default)
63 DEVICE_VENDOR := Sipeed
64 DEVICE_MODEL := LicheePi RV (dock)
65 DEVICE_DTS := allwinner/sun20i-d1-lichee-rv-dock
66 DEVICE_PACKAGES += kmod-rtl8723bs
67 UBOOT := lichee_rv_dock
68 endef
69 TARGET_DEVICES += lichee_rv_dock
70
71 define Device/mangopi_mq_pro
72 $(call Device/Default)
73 DEVICE_VENDOR := MangoPi
74 DEVICE_MODEL := MQ Pro
75 DEVICE_DTS := allwinner/sun20i-d1-mangopi-mq-pro
76 DEVICE_PACKAGES += kmod-rtl8723bs
77 UBOOT := mangopi_mq_pro
78 endef
79 TARGET_DEVICES += mangopi_mq_pro
80
81 define Device/nezha
82 $(call Device/Default)
83 DEVICE_VENDOR := Nezha
84 DEVICE_MODEL := D1
85 DEVICE_DTS := allwinner/sun20i-d1-nezha
86 UBOOT := nezha
87 endef
88 TARGET_DEVICES += nezha
89
90 define Image/Build
91 $(call Image/Build/$(1),$(1))
92 endef
93
94 $(eval $(call BuildImage))