d0d86ee10d764c1977c41b1b11676ddfb88e138d
[openwrt/openwrt.git] / target / linux / sunxi / image / Makefile
1 #
2 # Copyright (C) 2013-2016 OpenWrt.org
3 # Copyright (C) 2016 Yousong Zhou
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/image.mk
10
11 FAT32_BLOCK_SIZE=1024
12 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
13
14 KERNEL_LOADADDR:=0x40008000
15
16 define Build/sunxi-sdcard
17 rm -f $@.boot
18 mkfs.fat $@.boot -C $(FAT32_BLOCKS)
19
20 mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-boot.scr ::boot.scr
21 mcopy -i $@.boot $(DTS_DIR)/$(SUNXI_DTS).dtb ::dtb
22 mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage
23 ./gen_sunxi_sdcard_img.sh $@ \
24 $@.boot \
25 $(IMAGE_ROOTFS) \
26 $(CONFIG_SUNXI_SD_BOOT_PARTSIZE) \
27 $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
28 $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-u-boot-with-spl.bin
29 rm -f $@.boot
30 endef
31
32 # why \x00\x00\x00\x00 for zImage-initramfs
33 define Device/Default
34 PROFILES := Default
35 DEVICE_VARS := SUNXI_DTS SUNXI_UBOOT
36 KERNEL_NAME := zImage
37 KERNEL := kernel-bin | uImage none
38 IMAGES := sdcard.img.gz
39 IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip
40 endef
41
42 define Device/sun4i-a10-olinuxino-lime
43 DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
44 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
45 SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
46 SUNXI_DTS:=sun4i-a10-olinuxino-lime
47 endef
48
49 TARGET_DEVICES += sun4i-a10-olinuxino-lime
50
51
52 define Device/sun5i-a13-olimex-som
53 DEVICE_TITLE:=Olimex A13 SOM
54 DEVICE_PACKAGES:=kmod-rtl8192cu
55 SUPPORTED_DEVICES:=olimex,a13-olinuxino
56 SUNXI_DTS:=sun5i-a13-olinuxino
57 endef
58
59 TARGET_DEVICES += sun5i-a13-olimex-som
60
61
62 define Device/sun5i-a13-olinuxino
63 DEVICE_TITLE:=Olimex A13-Olinuxino
64 DEVICE_PACKAGES:=kmod-rtl8192cu
65 SUPPORTED_DEVICES:=olimex,a13-olinuxino
66 SUNXI_DTS:=sun5i-a13-olinuxino
67 endef
68
69 TARGET_DEVICES += sun5i-a13-olinuxino
70
71
72 define Device/sun7i-a20-olinuxino-lime
73 DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
74 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
75 SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
76 SUNXI_DTS:=sun7i-a20-olinuxino-lime
77 endef
78
79 TARGET_DEVICES += sun7i-a20-olinuxino-lime
80
81
82 define Device/sun7i-a20-olinuxino-micro
83 DEVICE_TITLE:=Olimex A20-Olinuxino Micro
84 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
85 SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
86 SUNXI_DTS:=sun7i-a20-olinuxino-micro
87 endef
88
89 TARGET_DEVICES += sun7i-a20-olinuxino-micro
90
91
92 define Device/sun7i-a20-bananapi
93 DEVICE_TITLE:=LeMaker Banana Pi
94 DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
95 SUPPORTED_DEVICES:=lemaker,bananapi
96 SUNXI_DTS:=sun7i-a20-bananapi
97 endef
98
99 TARGET_DEVICES += sun7i-a20-bananapi
100
101
102 define Device/sun7i-a20-bananapro
103 DEVICE_TITLE:=LeMaker Banana Pro
104 DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
105 SUPPORTED_DEVICES:=lemaker,bananapro
106 SUNXI_DTS:=sun7i-a20-bananapro
107 endef
108
109 TARGET_DEVICES += sun7i-a20-bananapro
110
111
112 define Device/sun7i-a20-cubieboard2
113 DEVICE_TITLE:=Cubietech Cubieboard2
114 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
115 SUPPORTED_DEVICES:=cubietech,cubieboard2
116 SUNXI_DTS:=sun7i-a20-cubieboard2
117 endef
118
119 TARGET_DEVICES += sun7i-a20-cubieboard2
120
121
122 define Device/sun4i-a10-cubieboard
123 DEVICE_TITLE:=Cubietech Cubieboard
124 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
125 SUPPORTED_DEVICES:=cubietech,a10-cubieboard
126 SUNXI_DTS:=sun4i-a10-cubieboard
127 endef
128
129 TARGET_DEVICES += sun4i-a10-cubieboard
130
131
132 define Device/sun7i-a20-cubietruck
133 DEVICE_TITLE:=Cubietech Cubietruck
134 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
135 SUPPORTED_DEVICES:=cubietech,cubietruck
136 SUNXI_DTS:=sun7i-a20-cubietruck
137 endef
138
139 TARGET_DEVICES += sun7i-a20-cubietruck
140
141
142 define Device/sun7i-a20-lamobo-r1
143 DEVICE_TITLE:=Lamobo R1
144 DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
145 SUPPORTED_DEVICES:=lamobo,lamobo-r1
146 SUNXI_DTS:=sun7i-a20-lamobo-r1
147 endef
148
149 TARGET_DEVICES += sun7i-a20-lamobo-r1
150
151
152 define Device/sun6i-a31-m9
153 DEVICE_TITLE:=Mele M9 top set box
154 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
155 SUPPORTED_DEVICES:=mele,m9
156 SUNXI_DTS:=sun6i-a31-m9
157 endef
158
159 TARGET_DEVICES += sun6i-a31-m9
160
161
162 define Device/sun8i-h3-orangepi-plus
163 DEVICE_TITLE:=Xunlong Orange Pi Plus
164 DEVICE_PACKAGES:=kmod-rtc-sunxi
165 SUPPORTED_DEVICES:=xunlong,orangepi-plus
166 SUNXI_DTS:=sun8i-h3-orangepi-plus
167 endef
168
169 TARGET_DEVICES += sun8i-h3-orangepi-plus
170
171
172 define Device/sun7i-a20-pcduino3
173 DEVICE_TITLE:=LinkSprite pcDuino3
174 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
175 SUPPORTED_DEVICES:=linksprite,pcduino3
176 SUNXI_DTS:=sun7i-a20-pcduino3
177 endef
178
179 TARGET_DEVICES += sun7i-a20-pcduino3
180
181
182 define Device/sun4i-a10-pcduino
183 DEVICE_TITLE:=LinkSprite pcDuino
184 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
185 SUPPORTED_DEVICES:=linksprite,a10-pcduino
186 SUNXI_DTS:=sun4i-a10-pcduino
187 endef
188
189 TARGET_DEVICES += sun4i-a10-pcduino
190
191
192 $(eval $(call BuildImage))