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