Add support for TP-Link TL-WR841N v9 (QCA953x based)
[oweals/u-boot_mod.git] / Makefile
1 export BUILD_TOPDIR=$(PWD)
2 export STAGING_DIR=$(BUILD_TOPDIR)/tmp
3
4 ifndef CROSS_COMPILE
5 CROSS_COMPILE = mips-linux-gnu-
6 endif
7 export CROSS_COMPILE
8
9 export MAKECMD=make --silent --no-print-directory ARCH=mips
10
11 # boot delay (time to autostart boot command)
12 export CONFIG_BOOTDELAY=1
13
14 # uncomment following line, to disable output in U-Boot console
15 #export DISABLE_CONSOLE_OUTPUT=1
16
17 # uncomment following line, to build RAM version images (without low level initialization)
18 #export CONFIG_SKIP_LOWLEVEL_INIT=1
19
20 tplink_mr3020:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3020
21 tplink_mr3020:  export CONFIG_MAX_UBOOT_SIZE_KB=123
22 ifndef CONFIG_SKIP_LOWLEVEL_INIT
23 tplink_mr3020:  export COMPRESSED_UBOOT=1
24 endif
25 tplink_mr3020:
26         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3020_config
27         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
28         @make --no-print-directory show_size
29
30 tplink_wr703n:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr703n
31 tplink_wr703n:  export CONFIG_MAX_UBOOT_SIZE_KB=123
32 ifndef CONFIG_SKIP_LOWLEVEL_INIT
33 tplink_wr703n:  export COMPRESSED_UBOOT=1
34 endif
35 tplink_wr703n:
36         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr703n_config
37         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
38         @make --no-print-directory show_size
39
40 tplink_wr720n_v3_CN:    export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr720n_v3_CN
41 tplink_wr720n_v3_CN:    export CONFIG_MAX_UBOOT_SIZE_KB=123
42 ifndef CONFIG_SKIP_LOWLEVEL_INIT
43 tplink_wr720n_v3_CN:    export COMPRESSED_UBOOT=1
44 endif
45 tplink_wr720n_v3_CN:
46         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr720n_v3_CN_config
47         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
48         @make --no-print-directory show_size
49
50 tplink_wr710n:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr710n
51 tplink_wr710n:  export CONFIG_MAX_UBOOT_SIZE_KB=123
52 ifndef CONFIG_SKIP_LOWLEVEL_INIT
53 tplink_wr710n:  export COMPRESSED_UBOOT=1
54 endif
55 tplink_wr710n:
56         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr710n_config
57         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
58         @make --no-print-directory show_size
59
60 tplink_mr3040:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3040
61 tplink_mr3040:  export CONFIG_MAX_UBOOT_SIZE_KB=123
62 ifndef CONFIG_SKIP_LOWLEVEL_INIT
63 tplink_mr3040:  export COMPRESSED_UBOOT=1
64 endif
65 tplink_mr3040:
66         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3040_config
67         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
68         @make --no-print-directory show_size
69
70 tplink_mr10u:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr10u
71 tplink_mr10u:   export CONFIG_MAX_UBOOT_SIZE_KB=123
72 ifndef CONFIG_SKIP_LOWLEVEL_INIT
73 tplink_mr10u:   export COMPRESSED_UBOOT=1
74 endif
75 tplink_mr10u:
76         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr10u_config
77         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
78         @make --no-print-directory show_size
79
80 tplink_mr13u:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr13u
81 tplink_mr13u:   export CONFIG_MAX_UBOOT_SIZE_KB=123
82 ifndef CONFIG_SKIP_LOWLEVEL_INIT
83 tplink_mr13u:   export COMPRESSED_UBOOT=1
84 endif
85 tplink_mr13u:
86         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr13u_config
87         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
88         @make --no-print-directory show_size
89
90 tplink_wr740n_v4:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr740n_v4
91 tplink_wr740n_v4:       export CONFIG_MAX_UBOOT_SIZE_KB=123
92 ifndef CONFIG_SKIP_LOWLEVEL_INIT
93 tplink_wr740n_v4:       export COMPRESSED_UBOOT=1
94 endif
95 tplink_wr740n_v4:
96         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr740n_v4_config
97         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
98         @make --no-print-directory show_size
99
100 tplink_mr3220_v2:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3220_v2
101 tplink_mr3220_v2:       export CONFIG_MAX_UBOOT_SIZE_KB=123
102 ifndef CONFIG_SKIP_LOWLEVEL_INIT
103 tplink_mr3220_v2:       export COMPRESSED_UBOOT=1
104 endif
105 tplink_mr3220_v2:
106         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3220_v2_config
107         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
108         @make --no-print-directory show_size
109
110 tplink_wdr3600_43x0:    export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wdr3600-43x0
111 tplink_wdr3600_43x0:    export CONFIG_MAX_UBOOT_SIZE_KB=123
112 ifndef CONFIG_SKIP_LOWLEVEL_INIT
113 tplink_wdr3600_43x0:    export COMPRESSED_UBOOT=1
114 endif
115 tplink_wdr3600_43x0:    export ETH_CONFIG=_s17
116 tplink_wdr3600_43x0:
117         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wdr3600_43x0_config
118         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
119         @make --no-print-directory show_size
120
121 tplink_wdr3500: export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wdr3500
122 tplink_wdr3500: export CONFIG_MAX_UBOOT_SIZE_KB=123
123 ifndef CONFIG_SKIP_LOWLEVEL_INIT
124 tplink_wdr3500: export COMPRESSED_UBOOT=1
125 endif
126 tplink_wdr3500: export ETH_CONFIG=_s27
127 tplink_wdr3500:
128         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wdr3500_config
129         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
130         @make --no-print-directory show_size
131
132 tplink_mr3420_v2:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3420_v2
133 tplink_mr3420_v2:       export CONFIG_MAX_UBOOT_SIZE_KB=123
134 ifndef CONFIG_SKIP_LOWLEVEL_INIT
135 tplink_mr3420_v2:       export COMPRESSED_UBOOT=1
136 endif
137 tplink_mr3420_v2:       export ETH_CONFIG=_s27
138 tplink_mr3420_v2:
139         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3420_v2_config
140         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
141         @make --no-print-directory show_size
142
143 tplink_wr841n_v8:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr841n_v8
144 tplink_wr841n_v8:       export CONFIG_MAX_UBOOT_SIZE_KB=123
145 ifndef CONFIG_SKIP_LOWLEVEL_INIT
146 tplink_wr841n_v8:       export COMPRESSED_UBOOT=1
147 endif
148 tplink_wr841n_v8:       export ETH_CONFIG=_s27
149 tplink_wr841n_v8:
150         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr841n_v8_config
151         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
152         @make --no-print-directory show_size
153
154 tplink_wr841n_v9:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr841n_v9
155 tplink_wr841n_v9:       export CONFIG_MAX_UBOOT_SIZE_KB=123
156 ifndef CONFIG_SKIP_LOWLEVEL_INIT
157 tplink_wr841n_v9:       export COMPRESSED_UBOOT=1
158 endif
159 tplink_wr841n_v9:       export ETH_CONFIG=_s27
160 tplink_wr841n_v9:
161         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr841n_v9_config
162         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
163         @make --no-print-directory show_size
164
165 tplink_wa830re_v2_wa801nd_v2:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wa830re_v2_tl-wa801nd_v2
166 tplink_wa830re_v2_wa801nd_v2:   export CONFIG_MAX_UBOOT_SIZE_KB=123
167 ifndef CONFIG_SKIP_LOWLEVEL_INIT
168 tplink_wa830re_v2_wa801nd_v2:   export COMPRESSED_UBOOT=1
169 endif
170 tplink_wa830re_v2_wa801nd_v2:   export ETH_CONFIG=_s27
171 tplink_wa830re_v2_wa801nd_v2:
172         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wa830re_v2_wa801nd_v2_config
173         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
174         @make --no-print-directory show_size
175
176 tplink_wr820n_CN:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr820n_CN
177 tplink_wr820n_CN:       export CONFIG_MAX_UBOOT_SIZE_KB=123
178 ifndef CONFIG_SKIP_LOWLEVEL_INIT
179 tplink_wr820n_CN:       export COMPRESSED_UBOOT=1
180 endif
181 tplink_wr820n_CN:       export ETH_CONFIG=_s27
182 tplink_wr820n_CN:
183         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr820n_CN_config
184         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
185         @make --no-print-directory show_size
186
187 dlink_dir505:   export UBOOT_FILE_NAME=uboot_for_d-link_dir-505
188 dlink_dir505:   export CONFIG_MAX_UBOOT_SIZE_KB=64
189 ifndef CONFIG_SKIP_LOWLEVEL_INIT
190 dlink_dir505:   export COMPRESSED_UBOOT=1
191 endif
192 dlink_dir505:
193         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) dir505_config
194         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
195         @make --no-print-directory show_size
196
197 gs-oolite_v1_dev:       export UBOOT_FILE_NAME=uboot_for_gs-oolite_v1_dev
198 gs-oolite_v1_dev:       export CONFIG_MAX_UBOOT_SIZE_KB=123
199 ifndef CONFIG_SKIP_LOWLEVEL_INIT
200 gs-oolite_v1_dev:       export COMPRESSED_UBOOT=1
201 endif
202 gs-oolite_v1_dev:
203         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) gs_oolite_v1_dev_config
204         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
205         @make --no-print-directory show_size
206
207 8devices_carambola2:    export UBOOT_FILE_NAME=uboot_for_8devices_carambola2
208 8devices_carambola2:    export CONFIG_MAX_UBOOT_SIZE_KB=256
209 8devices_carambola2:
210         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) carambola2_config
211         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
212         @make --no-print-directory show_size
213
214 dragino_v2_ms14:        export UBOOT_FILE_NAME=uboot_for_dragino_v2_ms14
215 dragino_v2_ms14:        export CONFIG_MAX_UBOOT_SIZE_KB=192
216 dragino_v2_ms14:        export DEVICE_VENDOR=dragino
217 dragino_v2_ms14:
218         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) dragino_v2_ms14_config
219         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
220         @make --no-print-directory show_size
221
222 black_swift_board:      export UBOOT_FILE_NAME=uboot_for_black_swift_board
223 black_swift_board:      export CONFIG_MAX_UBOOT_SIZE_KB=128
224 black_swift_board:      export COMPRESSED_UBOOT=1
225 black_swift_board:      export DEVICE_VENDOR=SE
226 black_swift_board:
227         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) black_swift_board_config
228         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
229         @make --no-print-directory show_size
230
231 villagetelco_mp2:       export UBOOT_FILE_NAME=uboot_for_villagetelco_mp2
232 villagetelco_mp2:       export CONFIG_MAX_UBOOT_SIZE_KB=192
233 villagetelco_mp2:       export DEVICE_VENDOR=villagetelco
234 villagetelco_mp2:
235         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) villagetelco_mp2_config
236         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
237         @make --no-print-directory show_size
238
239 gl-inet:        export UBOOT_FILE_NAME=uboot_for_gl-inet
240 gl-inet:        export CONFIG_MAX_UBOOT_SIZE_KB=123
241 ifndef CONFIG_SKIP_LOWLEVEL_INIT
242 gl-inet:        export COMPRESSED_UBOOT=1
243 endif
244 gl-inet:
245         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) gl-inet_config
246         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
247         @make --no-print-directory show_size
248
249 ifdef CONFIG_SKIP_LOWLEVEL_INIT
250   ifdef DISABLE_CONSOLE_OUTPUT
251 show_size:      export UBOOT_FILE_NAME_SUFFIX=__SILENT-CONSOLE__RAM
252   else
253 show_size:      export UBOOT_FILE_NAME_SUFFIX=__RAM
254   endif
255 else
256   ifdef DISABLE_CONSOLE_OUTPUT
257 show_size:      export UBOOT_FILE_NAME_SUFFIX=__SILENT-CONSOLE
258   endif
259 endif
260 show_size:
261 ifdef COMPRESSED_UBOOT
262         @cp $(BUILD_TOPDIR)/u-boot/tuboot.bin $(BUILD_TOPDIR)/bin/temp.bin
263 else
264         @cp $(BUILD_TOPDIR)/u-boot/u-boot.bin $(BUILD_TOPDIR)/bin/temp.bin
265 endif
266         @/bin/echo -ne "\e[32m"
267 ifndef CONFIG_SKIP_LOWLEVEL_INIT
268         @echo "> Preparing $(CONFIG_MAX_UBOOT_SIZE_KB)KB file filled with 0xFF..."
269         @`tr "\000" "\377" < /dev/zero | dd ibs=1k count=$(CONFIG_MAX_UBOOT_SIZE_KB) of=$(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin 2> /dev/null`
270         @echo "> Copying U-Boot image..."
271         @`dd if=$(BUILD_TOPDIR)/bin/temp.bin of=$(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin conv=notrunc 2> /dev/null`
272         @`rm $(BUILD_TOPDIR)/bin/temp.bin`
273 else
274         @echo "> Copying U-Boot image..."
275         @`mv $(BUILD_TOPDIR)/bin/temp.bin $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`
276 endif
277         @echo "> U-Boot image ready, size:" `wc -c < $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`" bytes"
278         @`md5sum $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin | awk '{print $$1}' | tr -d '\n' > $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).md5`
279         @`echo ' *'$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin >> $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).md5`
280 # Do not check image size for RAM version
281 ifndef CONFIG_SKIP_LOWLEVEL_INIT
282         @if [ "`wc -c < $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`" -gt "`/bin/echo '$(CONFIG_MAX_UBOOT_SIZE_KB)*1024' | bc`" ]; then \
283                         /bin/echo -e "\e[31m\n**************************************************"; \
284                         /bin/echo "*     WARNING: U-BOOT IMAGE SIZE IS TOO BIG!     *"; \
285                         /bin/echo -e "**************************************************"; \
286         fi;
287 endif
288         @/bin/echo -ne "\e[0m"
289
290 clean:
291         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) --no-print-directory distclean
292         @rm -f $(BUILD_TOPDIR)/u-boot/httpd/fsdata.c
293
294 clean_all:      clean
295         @/bin/echo -e "\e[32m> Removing all binary images...\e[0m"
296         @rm -f $(BUILD_TOPDIR)/bin/*.bin
297         @rm -f $(BUILD_TOPDIR)/bin/*.md5