generic.mk 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  1. define Device/ap90q
  2. DEVICE_TITLE := YunCore AP90Q
  3. BOARDNAME = AP90Q
  4. IMAGE_SIZE = 16000k
  5. CONSOLE = ttyS0,115200
  6. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
  7. endef
  8. TARGET_DEVICES += ap90q
  9. define Device/bsb
  10. DEVICE_TITLE := Smart Electronics Black Swift board
  11. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  12. BOARDNAME = BSB
  13. IMAGE_SIZE = 16000k
  14. CONSOLE = ttyATH0,115200
  15. MTDPARTS = spi0.0:128k(u-boot)ro,64k(u-boot-env)ro,16128k(firmware),64k(art)ro
  16. endef
  17. TARGET_DEVICES += bsb
  18. define Device/carambola2
  19. DEVICE_TITLE := Carambola2 board from 8Devices
  20. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  21. BOARDNAME = CARAMBOLA2
  22. IMAGE_SIZE = 16000k
  23. CONSOLE = ttyATH0,115200
  24. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  25. endef
  26. TARGET_DEVICES += carambola2
  27. define Device/cf-e316n-v2
  28. DEVICE_TITLE := COMFAST CF-E316N v2
  29. BOARDNAME = CF-E316N-V2
  30. IMAGE_SIZE = 16192k
  31. CONSOLE = ttyS0,115200
  32. MTDPARTS = spi0.0:64k(u-boot)ro,64k(art)ro,16192k(firmware),64k(art-backup)ro
  33. endef
  34. TARGET_DEVICES += cf-e316n-v2
  35. define Device/cf-e320n-v2
  36. $(Device/cf-e316n-v2)
  37. DEVICE_TITLE := COMFAST CF-E320N v2
  38. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  39. BOARDNAME = CF-E320N-V2
  40. endef
  41. TARGET_DEVICES += cf-e320n-v2
  42. define Device/cf-e380ac-v2
  43. $(Device/cf-e380ac-v1)
  44. DEVICE_TITLE := COMFAST CF-E380AC v2
  45. BOARDNAME = CF-E380AC-V2
  46. IMAGE_SIZE = 16000k
  47. MTDPARTS = spi0.0:256k(u-boot)ro,64k(art)ro,16000k(firmware),64k(art-backup)ro
  48. endef
  49. TARGET_DEVICES += cf-e380ac-v2
  50. define Device/cf-e520n
  51. DEVICE_TITLE := COMFAST CF-E520N
  52. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  53. BOARDNAME = CF-E520N
  54. IMAGE_SIZE = 8000k
  55. CONSOLE = ttyS0,115200
  56. MTDPARTS = spi0.0:64k(u-boot)ro,64k(art)ro,8000k(firmware),64k(art-backup)ro
  57. endef
  58. TARGET_DEVICES += cf-e520n
  59. define Device/cf-e530n
  60. $(Device/cf-e520n)
  61. DEVICE_TITLE := COMFAST CF-E530N
  62. BOARDNAME = CF-E530N
  63. endef
  64. TARGET_DEVICES += cf-e530n
  65. define Device/cpe830
  66. $(Device/ap90q)
  67. DEVICE_TITLE := YunCore CPE830
  68. DEVICE_PACKAGES := rssileds
  69. BOARDNAME = CPE830
  70. endef
  71. TARGET_DEVICES += cpe830
  72. define Device/cpe870
  73. DEVICE_TITLE := YunCore CPE870
  74. DEVICE_PACKAGES := rssileds
  75. BOARDNAME = CPE870
  76. IMAGE_SIZE = 7936k
  77. CONSOLE = ttyS0,115200
  78. MTDPARTS = spi0.0:64k(u-boot)ro,64k(u-boot-env),7936k(firmware),64k(config)ro,64k(art)ro
  79. endef
  80. TARGET_DEVICES += cpe870
  81. define Device/dragino2
  82. BOARDNAME := DRAGINO2
  83. CONSOLE := ttyATH0,115200
  84. DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport
  85. DEVICE_TITLE := Dragino 2 (MS14)
  86. IMAGE_SIZE := 16000k
  87. MTDPARTS := spi0.0:256k(u-boot)ro,16000k(firmware),64k(config)ro,64k(art)ro
  88. endef
  89. TARGET_DEVICES += dragino2
  90. define Device/weio
  91. DEVICE_TITLE := WeIO
  92. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  93. BOARDNAME = WEIO
  94. IMAGE_SIZE = 16000k
  95. CONSOLE = ttyATH0,115200
  96. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  97. endef
  98. TARGET_DEVICES += weio
  99. define Device/gl-ar150
  100. DEVICE_TITLE := GL AR150
  101. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  102. BOARDNAME = GL-AR150
  103. IMAGE_SIZE = 16000k
  104. CONSOLE = ttyATH0,115200
  105. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  106. endef
  107. TARGET_DEVICES += gl-ar150
  108. define Device/tpe-r1100
  109. $(Device/gl-ar150)
  110. DEVICE_TITLE := Think Penguin Mini Router
  111. endef
  112. TARGET_DEVICES += tpe-r1100
  113. define Device/gl-ar300
  114. DEVICE_TITLE := GL AR300
  115. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  116. BOARDNAME = GL-AR300
  117. IMAGE_SIZE = 16000k
  118. CONSOLE = ttyS0,115200
  119. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  120. endef
  121. TARGET_DEVICES += gl-ar300
  122. define Device/gl-ar300m
  123. DEVICE_TITLE := GL AR300M
  124. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 uboot-envtools
  125. BOARDNAME = GL-AR300M
  126. IMAGE_SIZE = 16000k
  127. CONSOLE = ttyS0,115200
  128. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
  129. endef
  130. TARGET_DEVICES += gl-ar300m
  131. define Device/gl-domino
  132. DEVICE_TITLE := GL Domino Pi
  133. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  134. BOARDNAME = DOMINO
  135. IMAGE_SIZE = 16000k
  136. CONSOLE = ttyATH0,115200
  137. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  138. endef
  139. TARGET_DEVICES += gl-domino
  140. define Device/gl-mifi
  141. DEVICE_TITLE := GL MIFI
  142. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  143. BOARDNAME = GL-MIFI
  144. IMAGE_SIZE = 16000k
  145. CONSOLE = ttyATH0,115200
  146. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  147. endef
  148. TARGET_DEVICES += gl-mifi
  149. define Device/mr12
  150. DEVICE_TITLE := Meraki MR12
  151. DEVICE_PACKAGES := kmod-spi-gpio
  152. BOARDNAME = MR12
  153. IMAGE_SIZE = 15680k
  154. MTDPARTS = spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2240k(kernel),64k(mac),128k(art)ro,15680k@0x80000(firmware)
  155. IMAGE/kernel.bin = append-kernel
  156. IMAGE/rootfs.bin = append-rootfs | pad-rootfs
  157. IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to 13440k | append-kernel | check-size $$$$(IMAGE_SIZE)
  158. IMAGES := kernel.bin rootfs.bin sysupgrade.bin
  159. endef
  160. TARGET_DEVICES += mr12
  161. define Device/mr16
  162. DEVICE_TITLE := Meraki MR16
  163. DEVICE_PACKAGES := kmod-spi-gpio
  164. BOARDNAME = MR16
  165. IMAGE_SIZE = 15680k
  166. MTDPARTS = spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2240k(kernel),64k(mac),128k(art)ro,15680k@0x80000(firmware)
  167. IMAGE/kernel.bin = append-kernel
  168. IMAGE/rootfs.bin = append-rootfs | pad-rootfs
  169. IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to 13440k | append-kernel | check-size $$$$(IMAGE_SIZE)
  170. IMAGES := kernel.bin rootfs.bin sysupgrade.bin
  171. endef
  172. TARGET_DEVICES += mr16
  173. define Device/dr531
  174. DEVICE_TITLE := Wallys DR531
  175. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  176. BOARDNAME = DR531
  177. IMAGE_SIZE = 7808k
  178. MTDPARTS = spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(partition-table)ro,7808k(firmware),64k(art)ro
  179. endef
  180. TARGET_DEVICES += dr531
  181. define Device/wndr3700
  182. DEVICE_TITLE := NETGEAR WNDR3700
  183. DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-wndr3700-usb
  184. BOARDNAME = WNDR3700
  185. NETGEAR_KERNEL_MAGIC = 0x33373030
  186. NETGEAR_BOARD_ID = WNDR3700
  187. IMAGE_SIZE = 7680k
  188. MTDPARTS = spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,7680k(firmware),64k(art)ro
  189. IMAGES := sysupgrade.bin factory.img factory-NA.img
  190. KERNEL := kernel-bin | patch-cmdline | lzma -d20 | netgear-uImage lzma
  191. IMAGE/default = append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
  192. IMAGE/sysupgrade.bin = $$(IMAGE/default) | check-size $$$$(IMAGE_SIZE)
  193. IMAGE/factory.img = $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
  194. IMAGE/factory-NA.img = $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
  195. endef
  196. define Device/wndr3700v2
  197. $(Device/wndr3700)
  198. DEVICE_TITLE := NETGEAR WNDR3700 v2
  199. NETGEAR_BOARD_ID = WNDR3700v2
  200. NETGEAR_KERNEL_MAGIC = 0x33373031
  201. NETGEAR_HW_ID = 29763654+16+64
  202. IMAGE_SIZE = 15872k
  203. MTDPARTS = spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,15872k(firmware),64k(art)ro
  204. IMAGES := sysupgrade.bin factory.img
  205. endef
  206. define Device/wndr3800
  207. $(Device/wndr3700v2)
  208. DEVICE_TITLE := NETGEAR WNDR3800
  209. NETGEAR_BOARD_ID = WNDR3800
  210. NETGEAR_HW_ID = 29763654+16+128
  211. endef
  212. define Device/wndr3800ch
  213. $(Device/wndr3800)
  214. DEVICE_TITLE := NETGEAR WNDR3800 (Ch)
  215. NETGEAR_BOARD_ID = WNDR3800CH
  216. endef
  217. define Device/wndrmac
  218. $(Device/wndr3700v2)
  219. DEVICE_TITLE := NETGEAR WNDRMAC
  220. NETGEAR_BOARD_ID = WNDRMAC
  221. endef
  222. define Device/wndrmacv2
  223. $(Device/wndr3800)
  224. DEVICE_TITLE := NETGEAR WNDRMAC v2
  225. NETGEAR_BOARD_ID = WNDRMACv2
  226. endef
  227. TARGET_DEVICES += wndr3700 wndr3700v2 wndr3800 wndr3800ch wndrmac wndrmacv2
  228. define Device/cap324
  229. DEVICE_TITLE := PowerCloud CAP324 Cloud AP
  230. DEVICE_PACKAGES := uboot-envtools
  231. BOARDNAME := CAP324
  232. DEVICE_PROFILE := CAP324
  233. IMAGE_SIZE = 15296k
  234. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,15296k(firmware),640k(certs),64k(nvram),64k(art)ro
  235. endef
  236. TARGET_DEVICES += cap324
  237. define Device/cap324-nocloud
  238. DEVICE_TITLE := PowerCloud CAP324 Cloud AP (No-Cloud)
  239. DEVICE_PACKAGES := uboot-envtools
  240. BOARDNAME := CAP324
  241. DEVICE_PROFILE := CAP324
  242. IMAGE_SIZE = 16000k
  243. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
  244. endef
  245. TARGET_DEVICES += cap324-nocloud
  246. define Device/cr3000
  247. DEVICE_TITLE := PowerCloud CR3000 Cloud Router
  248. DEVICE_PACKAGES := uboot-envtools
  249. BOARDNAME := CR3000
  250. DEVICE_PROFILE := CR3000
  251. IMAGE_SIZE = 7104k
  252. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
  253. endef
  254. TARGET_DEVICES += cr3000
  255. define Device/cr3000-nocloud
  256. DEVICE_TITLE := PowerCloud CR3000 (No-Cloud)
  257. DEVICE_PACKAGES := uboot-envtools
  258. BOARDNAME := CR3000
  259. DEVICE_PROFILE := CR3000
  260. IMAGE_SIZE = 7808k
  261. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
  262. endef
  263. TARGET_DEVICES += cr3000-nocloud
  264. define Device/cr5000
  265. DEVICE_TITLE := PowerCloud CR5000 Cloud Router
  266. DEVICE_PACKAGES := uboot-envtools kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-usb-core
  267. BOARDNAME := CR5000
  268. DEVICE_PROFILE := CR5000
  269. IMAGE_SIZE = 7104k
  270. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
  271. endef
  272. TARGET_DEVICES += cr5000
  273. define Device/cr5000-nocloud
  274. DEVICE_TITLE := PowerCloud CR5000 (No-Cloud)
  275. DEVICE_PACKAGES := uboot-envtools kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-usb-core
  276. BOARDNAME := CR5000
  277. DEVICE_PROFILE := CR5000
  278. IMAGE_SIZE = 7808k
  279. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
  280. endef
  281. TARGET_DEVICES += cr5000-nocloud
  282. define Device/antminer-s1
  283. $(Device/tplink-8mlzma)
  284. DEVICE_TITLE := Antminer-S1
  285. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
  286. BOARDNAME := ANTMINER-S1
  287. DEVICE_PROFILE := ANTMINERS1
  288. TPLINK_HWID := 0x04440101
  289. CONSOLE := ttyATH0,115200
  290. endef
  291. define Device/antminer-s3
  292. $(Device/tplink-8mlzma)
  293. DEVICE_TITLE := Antminer-S3
  294. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
  295. BOARDNAME := ANTMINER-S3
  296. DEVICE_PROFILE := ANTMINERS3
  297. TPLINK_HWID := 0x04440301
  298. CONSOLE := ttyATH0,115200
  299. endef
  300. define Device/antrouter-r1
  301. $(Device/tplink-8mlzma)
  302. DEVICE_TITLE := Antrouter-R1
  303. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  304. BOARDNAME := ANTROUTER-R1
  305. DEVICE_PROFILE := ANTROUTERR1
  306. TPLINK_HWID := 0x44440101
  307. CONSOLE := ttyATH0,115200
  308. endef
  309. define Device/el-m150
  310. $(Device/tplink-8mlzma)
  311. DEVICE_TITLE := EasyLink EL-M150
  312. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  313. BOARDNAME := EL-M150
  314. DEVICE_PROFILE := ELM150
  315. TPLINK_HWID := 0x01500101
  316. CONSOLE := ttyATH0,115200
  317. endef
  318. define Device/el-mini
  319. $(Device/tplink-8mlzma)
  320. DEVICE_TITLE := EasyLink EL-MINI
  321. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  322. BOARDNAME := EL-MINI
  323. DEVICE_PROFILE := ELMINI
  324. TPLINK_HWID := 0x01530001
  325. CONSOLE := ttyATH0,115200
  326. endef
  327. TARGET_DEVICES += antminer-s1 antminer-s3 antrouter-r1 el-m150 el-mini
  328. define Device/gl-inet-6408A-v1
  329. $(Device/tplink-8mlzma)
  330. DEVICE_TITLE := GL.iNet 6408
  331. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  332. BOARDNAME := GL-INET
  333. DEVICE_PROFILE := GLINET
  334. TPLINK_HWID := 0x08000001
  335. CONSOLE := ttyATH0,115200
  336. endef
  337. define Device/gl-inet-6416A-v1
  338. $(Device/tplink-16mlzma)
  339. DEVICE_TITLE := GL.iNet 6416
  340. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  341. BOARDNAME := GL-INET
  342. DEVICE_PROFILE := GLINET
  343. TPLINK_HWID := 0x08000001
  344. CONSOLE := ttyATH0,115200
  345. endef
  346. TARGET_DEVICES += gl-inet-6408A-v1 gl-inet-6416A-v1
  347. define Device/jwap230
  348. DEVICE_TITLE := jjPlus JWAP230
  349. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  350. BOARDNAME = JWAP230
  351. IMAGE_SIZE = 16000k
  352. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
  353. endef
  354. TARGET_DEVICES += jwap230
  355. define Device/rnx-n360rt
  356. $(Device/tplink-4m)
  357. DEVICE_TITLE := Rosewill RNX-N360RT
  358. BOARDNAME := TL-WR941ND
  359. DEVICE_PROFILE := RNXN360RT
  360. TPLINK_HWID := 0x09410002
  361. TPLINK_HWREV := 0x00420001
  362. endef
  363. TARGET_DEVICES += rnx-n360rt
  364. define Device/minibox-v1
  365. $(Device/tplink-16mlzma)
  366. DEVICE_TITLE := Gainstrong MiniBox V1.0
  367. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
  368. BOARDNAME := MINIBOX-V1
  369. DEVICE_PROFILE := MINIBOXV1
  370. TPLINK_HWID := 0x3C000201
  371. CONSOLE := ttyATH0,115200
  372. endef
  373. TARGET_DEVICES += minibox-v1
  374. define Device/omy-g1
  375. $(Device/tplink-16mlzma)
  376. DEVICE_TITLE := OMYlink OMY-G1
  377. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  378. BOARDNAME := OMY-G1
  379. DEVICE_PROFILE := OMYG1
  380. TPLINK_HWID := 0x06660101
  381. endef
  382. define Device/omy-x1
  383. $(Device/tplink-8mlzma)
  384. DEVICE_TITLE := OMYlink OMY-X1
  385. BOARDNAME := OMY-X1
  386. DEVICE_PROFILE := OMYX1
  387. TPLINK_HWID := 0x06660201
  388. endef
  389. TARGET_DEVICES += omy-g1 omy-x1
  390. define Device/onion-omega
  391. $(Device/tplink-16mlzma)
  392. DEVICE_TITLE := Onion Omega
  393. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
  394. BOARDNAME := ONION-OMEGA
  395. DEVICE_PROFILE := OMEGA
  396. TPLINK_HWID := 0x04700001
  397. CONSOLE := ttyATH0,115200
  398. endef
  399. TARGET_DEVICES += onion-omega
  400. define Device/smart-300
  401. $(Device/tplink-8mlzma)
  402. DEVICE_TITLE := NC-LINK SMART-300
  403. BOARDNAME := SMART-300
  404. DEVICE_PROFILE := SMART-300
  405. TPLINK_HWID := 0x93410001
  406. endef
  407. TARGET_DEVICES += smart-300
  408. define Device/som9331
  409. $(Device/tplink-8mlzma)
  410. DEVICE_TITLE := OpenEmbed SOM9331
  411. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
  412. BOARDNAME := SOM9331
  413. DEVICE_PROFILE := SOM9331
  414. TPLINK_HWID := 0x04800054
  415. CONSOLE := ttyATH0,115200
  416. endef
  417. TARGET_DEVICES += som9331
  418. define Device/tellstick-znet-lite
  419. $(Device/tplink-16mlzma)
  420. DEVICE_TITLE := TellStick ZNet Lite
  421. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-acm kmod-usb-serial kmod-usb-serial-pl2303
  422. BOARDNAME := TELLSTICK-ZNET-LITE
  423. DEVICE_PROFILE := TELLSTICKZNETLITE
  424. TPLINK_HWID := 0x00726001
  425. CONSOLE := ttyATH0,115200
  426. endef
  427. TARGET_DEVICES += tellstick-znet-lite
  428. define Device/oolite
  429. $(Device/tplink-16mlzma)
  430. DEVICE_TITLE := Gainstrong OOLITE
  431. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
  432. BOARDNAME := GS-OOLITE
  433. DEVICE_PROFILE := OOLITE
  434. TPLINK_HWID := 0x3C000101
  435. CONSOLE := ttyATH0,115200
  436. endef
  437. TARGET_DEVICES += oolite
  438. define Device/NBG6616
  439. DEVICE_TITLE := ZyXEL NBG6616
  440. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-rtc-pcf8563
  441. BOARDNAME = NBG6616
  442. KERNEL_SIZE = 2048k
  443. IMAGE_SIZE = 15323k
  444. MTDPARTS = spi0.0:192k(u-boot)ro,64k(env)ro,64k(RFdata)ro,384k(zyxel_rfsd),384k(romd),64k(header),2048k(kernel),13184k(rootfs),15232k@0x120000(firmware)
  445. CMDLINE += mem=128M
  446. IMAGES := sysupgrade.bin
  447. KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 boot/vmlinux.lzma.uImage
  448. IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
  449. # We cannot currently build a factory image. It is the sysupgrade image
  450. # prefixed with a header (which is actually written into the MTD device).
  451. # The header is 2kiB and is filled with 0xff. The format seems to be:
  452. # 2 bytes: 0x0000
  453. # 2 bytes: checksum of the data partition (big endian)
  454. # 4 bytes: length of the contained image file (big endian)
  455. # 32 bytes: Firmware Version string (NUL terminated, 0xff padded)
  456. # 2 bytes: 0x0000
  457. # 2 bytes: checksum over the header partition (big endian)
  458. # 32 bytes: Model (e.g. "NBG6616", NUL termiated, 0xff padded)
  459. # rest: 0xff padding
  460. #
  461. # The checksums are calculated by adding up all bytes and if a 16bit
  462. # overflow occurs, one is added and the sum is masked to 16 bit:
  463. # csum = csum + databyte; if (csum > 0xffff) { csum += 1; csum &= 0xffff };
  464. # Should the file have an odd number of bytes then the byte len-0x800 is
  465. # used additionally.
  466. # The checksum for the header is calcualted over the first 2048 bytes with
  467. # the firmware checksum as the placeholder during calculation.
  468. #
  469. # The header is padded with 0xff to the erase block size of the device.
  470. endef
  471. TARGET_DEVICES += NBG6616
  472. define Device/c-55
  473. DEVICE_TITLE := AirTight Networks C-55
  474. DEVICE_PACKAGES := kmod-ath9k
  475. BOARDNAME = C-55
  476. KERNEL_SIZE = 2048k
  477. IMAGE_SIZE = 15872k
  478. MTDPARTS = spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
  479. IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
  480. endef
  481. TARGET_DEVICES += c-55
  482. define Build/uImageHiWiFi
  483. # Field ih_name needs to start with "tw150v1"
  484. mkimage -A $(LINUX_KARCH) \
  485. -O linux -T kernel \
  486. -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
  487. -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) libreCMC Linux-$(LINUX_VERSION)' -d $@ $@.new
  488. @mv $@.new $@
  489. endef
  490. define Device/hiwifi-hc6361
  491. DEVICE_TITLE := HiWiFi HC6361
  492. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage \
  493. kmod-fs-ext4 kmod-nls-iso8859-1 e2fsprogs
  494. BOARDNAME := HiWiFi-HC6361
  495. DEVICE_PROFILE := HIWIFI_HC6361
  496. IMAGE_SIZE := 16128k
  497. KERNEL := kernel-bin | patch-cmdline | lzma | uImageHiWiFi lzma
  498. CONSOLE := ttyATH0,115200
  499. MTDPARTS := spi0.0:64k(u-boot)ro,64k(bdinfo)ro,16128k(firmware),64k(backup)ro,64k(art)ro
  500. endef
  501. TARGET_DEVICES += hiwifi-hc6361
  502. define Build/seama
  503. $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
  504. mv $@.seama $@
  505. endef
  506. define Build/seama-seal
  507. $(call Build/seama,-s $@.seama $(1))
  508. endef
  509. define Device/seama
  510. CONSOLE := ttyS0,115200
  511. LOADER_TYPE := bin
  512. BLOCKSIZE := 64k
  513. KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma
  514. KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | seama
  515. KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX).seama
  516. IMAGES := sysupgrade.bin factory.bin
  517. # 64 bytes offset:
  518. # - 28 bytes seama_header
  519. # - 36 bytes of META data (4-bytes aligned)
  520. IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
  521. IMAGE/sysupgrade.bin := \
  522. $$(IMAGE/default) | seama | pad-rootfs | \
  523. check-size $$$$(IMAGE_SIZE)
  524. IMAGE/factory.bin := \
  525. $$(IMAGE/default) | seama | pad-rootfs | \
  526. seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
  527. check-size $$$$(IMAGE_SIZE)
  528. SEAMA_SIGNATURE :=
  529. DEVICE_VARS += SEAMA_SIGNATURE
  530. endef
  531. define Device/mynet-n600
  532. $(Device/seama)
  533. DEVICE_TITLE := Western Digital My Net N600
  534. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  535. BOARDNAME = MYNET-N600
  536. IMAGE_SIZE = 15808k
  537. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
  538. SEAMA_SIGNATURE := wrgnd16_wd_db600
  539. endef
  540. define Device/mynet-n750
  541. $(Device/seama)
  542. DEVICE_TITLE := Western Digital My Net N750
  543. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  544. BOARDNAME = MYNET-N750
  545. IMAGE_SIZE = 15808k
  546. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
  547. SEAMA_SIGNATURE := wrgnd13_wd_av
  548. endef
  549. define Device/qihoo-c301
  550. $(Device/seama)
  551. DEVICE_TITLE := Qihoo C301
  552. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
  553. BOARDNAME = QIHOO-C301
  554. IMAGE_SIZE = 15744k
  555. MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata),64k(devconf),15744k(firmware),64k(warm_start),64k(action_image_config),64k(radiocfg)ro;spi0.1:15360k(upgrade2),1024k(privatedata)
  556. SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
  557. endef
  558. TARGET_DEVICES += dir-869-a1 mynet-n600 mynet-n750 qihoo-c301
  559. define Build/mkwrggimg
  560. $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
  561. -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
  562. -m $(BOARDNAME) -s $(DAP_SIGNATURE) \
  563. -v libreCMC -B $(REVISION)
  564. mv $@.imghdr $@
  565. endef
  566. define Build/wrgg-pad-rootfs
  567. $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
  568. endef
  569. define Build/mkbuffaloimg
  570. $(STAGING_DIR_HOST)/bin/mkbuffaloimg -B $(BOARDNAME) \
  571. -R $$(($(subst k, * 1024,$(ROOTFS_SIZE)))) \
  572. -K $$(($(subst k, * 1024,$(KERNEL_SIZE)))) \
  573. -i $@ -o $@.new
  574. mv $@.new $@
  575. endef
  576. define Device/bhr-4grv2
  577. DEVICE_TITLE := Buffalo BHR-4GRV2
  578. BOARDNAME := BHR-4GRV2
  579. ROOTFS_SIZE := 14528k
  580. KERNEL_SIZE := 1472k
  581. IMAGE_SIZE := 16000k
  582. MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
  583. IMAGES := sysupgrade.bin factory.bin
  584. IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
  585. IMAGE/factory.bin = append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | mkbuffaloimg
  586. endef
  587. TARGET_DEVICES += bhr-4grv2