generic.mk 24 KB

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