0006-ar71xx-add-support-for-TP-LINK-CPE210-220-510-520.patch 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. From: Matthias Schiffer <mschiffer@universe-factory.net>
  2. Date: Wed, 26 Nov 2014 19:57:50 +0100
  3. Subject: ar71xx: add support for TP-LINK CPE210/220/510/520
  4. This adds support for the TP-LINK CPE210/220/510/520 (Pharos series). These
  5. devices are very similar to the Ubiquiti NanoStations, but with better specs:
  6. faster CPU, more RAM, 2x2 MIMO.
  7. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
  8. diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
  9. index 1864b11..4b510dd 100755
  10. --- a/target/linux/ar71xx/base-files/etc/diag.sh
  11. +++ b/target/linux/ar71xx/base-files/etc/diag.sh
  12. @@ -43,6 +43,9 @@ get_status_led() {
  13. cap4200ag)
  14. status_led="senao:green:pwr"
  15. ;;
  16. + cpe510)
  17. + status_led="tp-link:green:link4"
  18. + ;;
  19. db120)
  20. status_led="db120:green:status"
  21. ;;
  22. diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
  23. index d3b766d..fb8df40 100755
  24. --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
  25. +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
  26. @@ -61,6 +61,16 @@ carambola2)
  27. ucidef_set_led_wlan "wlan" "WLAN" "carambola2:green:wlan" "phy0tpt"
  28. ;;
  29. +cpe510)
  30. + ucidef_set_led_switch "lan0" "LAN0" "tp-link:green:lan0" "switch0" "0x20"
  31. + ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
  32. + ucidef_set_rssimon "wlan0" "40000" "1"
  33. + ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:green:link1" "wlan0" "1" "100" "0" "13"
  34. + ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:green:link2" "wlan0" "26" "100" "-25" "13"
  35. + ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:green:link3" "wlan0" "51" "100" "-50" "13"
  36. + ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:green:link4" "wlan0" "76" "100" "-75" "13"
  37. + ;;
  38. +
  39. db120)
  40. ucidef_set_led_usbdev "usb" "USB" "db120:green:usb" "1-1"
  41. ;;
  42. diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
  43. index c5cfd67..a9f00fa 100755
  44. --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
  45. +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
  46. @@ -62,6 +62,13 @@ tl-wdr4900-v2)
  47. ucidef_add_switch_vlan "switch0" "2" "1 6"
  48. ;;
  49. +cpe510)
  50. + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
  51. + ucidef_add_switch "switch0" "1" "1"
  52. + ucidef_add_switch_vlan "switch0" "1" "0t 5"
  53. + ucidef_add_switch_vlan "switch0" "2" "0t 4"
  54. + ;;
  55. +
  56. db120 |\
  57. rb-2011l | \
  58. rb-2011uas |\
  59. diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
  60. index 5aceaee..0b0a8d6 100755
  61. --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
  62. +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
  63. @@ -229,6 +229,39 @@ tplink_board_detect() {
  64. AR71XX_MODEL="$model $hwver"
  65. }
  66. +tplink_pharos_get_model_string() {
  67. + local part
  68. + part=$(find_mtd_part 'product-info')
  69. + [ -z "$part" ] && return 1
  70. +
  71. + # The returned string will end with \r\n, but we don't remove it here
  72. + # to simplify matching against it in the sysupgrade image check
  73. + dd if=$part bs=1 skip=4360 2>/dev/null | head -n 1
  74. +}
  75. +
  76. +tplink_pharos_board_detect() {
  77. + local model_string="$(tplink_pharos_get_model_string | tr -d '\r')"
  78. + local oIFS="$IFS"; IFS=":"; set -- $model_string; IFS="$oIFS"
  79. + local model
  80. +
  81. + case "$1" in
  82. + 'CPE210(TP-LINK|UN|N300-2)')
  83. + model='TP-Link CPE210'
  84. + ;;
  85. + 'CPE220(TP-LINK|UN|N300-2)')
  86. + model='TP-Link CPE220'
  87. + ;;
  88. + 'CPE510(TP-LINK|UN|N300-5)')
  89. + model='TP-Link CPE510'
  90. + ;;
  91. + 'CPE520(TP-LINK|UN|N300-5)')
  92. + model='TP-Link CPE520'
  93. + ;;
  94. + esac
  95. +
  96. + [ -n "$model" ] && AR71XX_MODEL="$model v$2"
  97. +}
  98. +
  99. ar71xx_board_detect() {
  100. local machine
  101. local name
  102. @@ -302,6 +335,10 @@ ar71xx_board_detect() {
  103. *CAP4200AG)
  104. name="cap4200ag"
  105. ;;
  106. + *"CPE210/220/510/520")
  107. + name="cpe510"
  108. + tplink_pharos_board_detect
  109. + ;;
  110. *"DB120 reference board")
  111. name="db120"
  112. ;;
  113. @@ -751,11 +788,8 @@ ar71xx_board_detect() {
  114. ;;
  115. esac
  116. - case "$machine" in
  117. - *TL-WR* | *TL-WA* | *TL-MR* | *TL-WD* | *Archer*)
  118. + [ -z "$AR71XX_MODEL" ] && [ "${machine:0:8}" = 'TP-LINK ' ] && \
  119. tplink_board_detect "$machine"
  120. - ;;
  121. - esac
  122. [ -z "$name" ] && name="unknown"
  123. diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
  124. index 846954c..15e998c 100755
  125. --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
  126. +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
  127. @@ -70,6 +70,33 @@ tplink_get_image_boot_size() {
  128. get_image "$@" | dd bs=4 count=1 skip=37 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
  129. }
  130. +tplink_pharos_check_image() {
  131. + local magic_long="$(get_magic_long "$1")"
  132. + [ "$magic_long" != "7f454c46" ] && {
  133. + echo "Invalid image magic '$magic_long'"
  134. + return 1
  135. + }
  136. +
  137. + local model_string="$(tplink_pharos_get_model_string)"
  138. + local line
  139. +
  140. + # Here $1 is given to dd directly instead of get_image as otherwise the skip
  141. + # will take almost a second (as dd can't seek then)
  142. + #
  143. + # This will fail if the image isn't local, but that's fine: as the
  144. + # read loop won't be executed at all, it will return true, so the image
  145. + # is accepted (loading the first 1.5M of a remote image for this check seems
  146. + # a bit extreme)
  147. + dd if="$1" bs=1 skip=1511432 count=1024 2>/dev/null | while read line; do
  148. + [ "$line" == "$model_string" ] && break
  149. + done || {
  150. + echo "Unsupported image (model not in support-list)"
  151. + return 1
  152. + }
  153. +
  154. + return 0
  155. +}
  156. +
  157. seama_get_type_magic() {
  158. get_image "$@" | dd bs=1 count=4 skip=53 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
  159. }
  160. @@ -214,6 +241,11 @@ platform_check_image() {
  161. return 0
  162. ;;
  163. + cpe510)
  164. + tplink_pharos_check_image "$1" && return 0
  165. + return 1
  166. + ;;
  167. +
  168. dir-825-b1 | \
  169. tew-673gru)
  170. dir825b_check_image "$1" && return 0
  171. diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10
  172. index 9a8378a..2f05ec6 100644
  173. --- a/target/linux/ar71xx/config-3.10
  174. +++ b/target/linux/ar71xx/config-3.10
  175. @@ -39,6 +39,7 @@ CONFIG_ATH79_MACH_AW_NR580=y
  176. CONFIG_ATH79_MACH_BHU_BXU2000N2_A=y
  177. CONFIG_ATH79_MACH_CAP4200AG=y
  178. CONFIG_ATH79_MACH_CARAMBOLA2=y
  179. +CONFIG_ATH79_MACH_CPE510=y
  180. CONFIG_ATH79_MACH_DB120=y
  181. CONFIG_ATH79_MACH_DIR_505_A1=y
  182. CONFIG_ATH79_MACH_DIR_600_A1=y
  183. diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c
  184. new file mode 100644
  185. index 0000000..8bf5c0f
  186. --- /dev/null
  187. +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c
  188. @@ -0,0 +1,107 @@
  189. +/*
  190. + * TP-LINK CPE210/220/510/520 board support
  191. + *
  192. + * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
  193. + *
  194. + * This program is free software; you can redistribute it and/or modify it
  195. + * under the terms of the GNU General Public License version 2 as published
  196. + * by the Free Software Foundation.
  197. + */
  198. +
  199. +#include <linux/gpio.h>
  200. +#include <linux/platform_device.h>
  201. +
  202. +#include <asm/mach-ath79/ath79.h>
  203. +#include <asm/mach-ath79/ar71xx_regs.h>
  204. +
  205. +#include "common.h"
  206. +#include "dev-eth.h"
  207. +#include "dev-gpio-buttons.h"
  208. +#include "dev-leds-gpio.h"
  209. +#include "dev-m25p80.h"
  210. +#include "dev-wmac.h"
  211. +#include "machtypes.h"
  212. +
  213. +
  214. +#define CPE510_GPIO_LED_LAN0 11
  215. +#define CPE510_GPIO_LED_LAN1 12
  216. +#define CPE510_GPIO_LED_L1 13
  217. +#define CPE510_GPIO_LED_L2 14
  218. +#define CPE510_GPIO_LED_L3 15
  219. +#define CPE510_GPIO_LED_L4 16
  220. +
  221. +#define CPE510_GPIO_BTN_RESET 4
  222. +
  223. +#define CPE510_KEYS_POLL_INTERVAL 20 /* msecs */
  224. +#define CPE510_KEYS_DEBOUNCE_INTERVAL (3 * CPE510_KEYS_POLL_INTERVAL)
  225. +
  226. +
  227. +static struct gpio_led cpe510_leds_gpio[] __initdata = {
  228. + {
  229. + .name = "tp-link:green:lan0",
  230. + .gpio = CPE510_GPIO_LED_LAN0,
  231. + .active_low = 1,
  232. + }, {
  233. + .name = "tp-link:green:lan1",
  234. + .gpio = CPE510_GPIO_LED_LAN1,
  235. + .active_low = 1,
  236. + }, {
  237. + .name = "tp-link:green:link1",
  238. + .gpio = CPE510_GPIO_LED_L1,
  239. + .active_low = 1,
  240. + }, {
  241. + .name = "tp-link:green:link2",
  242. + .gpio = CPE510_GPIO_LED_L2,
  243. + .active_low = 1,
  244. + }, {
  245. + .name = "tp-link:green:link3",
  246. + .gpio = CPE510_GPIO_LED_L3,
  247. + .active_low = 1,
  248. + }, {
  249. + .name = "tp-link:green:link4",
  250. + .gpio = CPE510_GPIO_LED_L4,
  251. + .active_low = 1,
  252. + },
  253. +};
  254. +
  255. +static struct gpio_keys_button cpe510_gpio_keys[] __initdata = {
  256. + {
  257. + .desc = "Reset button",
  258. + .type = EV_KEY,
  259. + .code = KEY_RESTART,
  260. + .debounce_interval = CPE510_KEYS_DEBOUNCE_INTERVAL,
  261. + .gpio = CPE510_GPIO_BTN_RESET,
  262. + .active_low = 1,
  263. + }
  264. +};
  265. +
  266. +
  267. +static void __init cpe510_setup(void)
  268. +{
  269. + u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
  270. + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
  271. +
  272. + /* Disable JTAG, enabling GPIOs 0-3 */
  273. + /* Configure OBS4 line, for GPIO 4*/
  274. + ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
  275. + AR934X_GPIO_FUNC_CLK_OBS4_EN);
  276. +
  277. + ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
  278. + cpe510_leds_gpio);
  279. +
  280. + ath79_register_gpio_keys_polled(1, CPE510_KEYS_POLL_INTERVAL,
  281. + ARRAY_SIZE(cpe510_gpio_keys),
  282. + cpe510_gpio_keys);
  283. +
  284. + ath79_register_m25p80(NULL);
  285. +
  286. + ath79_register_mdio(1, 0);
  287. + ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
  288. + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
  289. + ath79_register_eth(1);
  290. +
  291. + ath79_register_wmac(ee, mac);
  292. +}
  293. +
  294. +MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE210/220/510/520",
  295. + cpe510_setup);
  296. diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
  297. index 78333be..a9d170c 100644
  298. --- a/target/linux/ar71xx/generic/profiles/tp-link.mk
  299. +++ b/target/linux/ar71xx/generic/profiles/tp-link.mk
  300. @@ -16,6 +16,17 @@ endef
  301. $(eval $(call Profile,ARCHERC7))
  302. +define Profile/CPE510
  303. + NAME:=TP-LINK CPE210/220/510/520
  304. + PACKAGES:=rssileds
  305. +endef
  306. +
  307. +define Profile/CPE510/Description
  308. + Package set optimized for the TP-LINK CPE210/220/510/520.
  309. +endef
  310. +$(eval $(call Profile,CPE510))
  311. +
  312. +
  313. define Profile/TLMR10U
  314. NAME:=TP-LINK TL-MR10U
  315. PACKAGES:=kmod-usb-core kmod-usb2
  316. diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
  317. index 683c238..5ff7f35 100644
  318. --- a/target/linux/ar71xx/image/Makefile
  319. +++ b/target/linux/ar71xx/image/Makefile
  320. @@ -261,6 +261,7 @@ cameo_ap121_mtdlayout_8M=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k
  321. cameo_db120_mtdlayout=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,15936k(firmware),192k(lang)ro,64k(mac)ro,64k(art)ro
  322. cameo_db120_mtdlayout_8M=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,7872k(firmware),128k(lang)ro,64k(art)ro
  323. cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe),64k(art),13632k@0xa0000(firmware)
  324. +cpe510_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(pation-table)ro,64k(product-info)ro,1536k(kernel),6144k(rootfs),192k(config)ro,64k(ART)ro,7680k@0x40000(firmware)
  325. eap300v2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),320k(custom),13632k(firmware),2048k(failsafe),64k(art)ro
  326. db120_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
  327. cameo_ap94_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware),64k(caldata)ro,1600k(unknown)ro,64k@0x7f0000(caldata_copy)
  328. @@ -811,6 +812,32 @@ define Image/Build/TPLINK-LZMA/initramfs
  329. endef
  330. +Image/Build/TPLINK-SAFELOADER/buildkernel=$(call PatchKernelLzma,$(2),$(3) $(4))
  331. +
  332. +define Image/Build/TPLINK-SAFELOADER
  333. + -rm -rf $(KDIR)/lzma-loader
  334. + $(LOADER_MAKE) LOADER=loader-$(2).elf\
  335. + LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
  336. + LOADER_DATA="$(KDIR_TMP)/vmlinux-$(2).bin.lzma" BOARD="$(2)" \
  337. + compile loader.elf
  338. +
  339. + -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
  340. + -B $(5) \
  341. + -k $(KDIR)/loader-$(2).elf \
  342. + -r $(KDIR)/root.$(1) \
  343. + -V $(REVISION) \
  344. + -j \
  345. + -o $(call factoryname,$(1),$(2))
  346. + -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
  347. + -B $(5) \
  348. + -k $(KDIR)/loader-$(2).elf \
  349. + -r $(KDIR)/root.$(1) \
  350. + -V $(REVISION) \
  351. + -j -S \
  352. + -o $(call sysupname,$(1),$(2))
  353. +endef
  354. +
  355. +
  356. define Image/Build/CyberTAN
  357. echo -n '' > $(KDIR_TMP)/empty.bin
  358. $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp \
  359. @@ -1226,6 +1253,8 @@ $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWDR4310V1,tl-wdr4310-v1,TL-WDR4
  360. $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWDR4900V2,tl-wdr4900-v2,TL-WDR4900-v2,ttyS0,115200,0x49000002,1,8Mlzma))
  361. $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,MW4530RV1,mw4530r-v1,TL-WDR4300,ttyS0,115200,0x45300001,1,8Mlzma))
  362. +$(eval $(call SingleProfile,TPLINK-SAFELOADER,64kraw,CPE510,cpe210-220-510-520,CPE510,ttyS0,115200,$$(cpe510_mtdlayout),CPE510))
  363. +
  364. $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,SMART-300,smart-300,SMART-300,ttyS0,115200,0x93410001,1,8Mlzma))
  365. $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,OOLITE,oolite,GS-OOLITE,ttyATH0,115200,0x3C000101,1,16Mlzma))
  366. diff --git a/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
  367. index 3669f26..516d52d 100644
  368. --- a/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
  369. +++ b/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
  370. @@ -1,6 +1,6 @@
  371. --- a/arch/mips/ath79/machtypes.h
  372. +++ b/arch/mips/ath79/machtypes.h
  373. -@@ -16,22 +16,144 @@
  374. +@@ -16,22 +16,145 @@
  375. enum ath79_mach_type {
  376. ATH79_MACH_GENERIC = 0,
  377. @@ -24,6 +24,7 @@
  378. + ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
  379. + ATH79_MACH_CAP4200AG, /* Senao CAP4200AG */
  380. + ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */
  381. ++ ATH79_MACH_CPE510, /* TP-LINK CPE510 */
  382. ATH79_MACH_DB120, /* Atheros DB120 reference board */
  383. ATH79_MACH_PB44, /* Atheros PB44 reference board */
  384. + ATH79_MACH_DIR_505_A1, /* D-Link DIR-505 rev. A1 */
  385. @@ -209,7 +210,7 @@
  386. config ATH79_MACH_AP121
  387. bool "Atheros AP121 reference board"
  388. select SOC_AR933X
  389. -@@ -9,64 +64,736 @@ config ATH79_MACH_AP121
  390. +@@ -9,64 +64,745 @@ config ATH79_MACH_AP121
  391. select ATH79_DEV_GPIO_BUTTONS
  392. select ATH79_DEV_LEDS_GPIO
  393. select ATH79_DEV_M25P80
  394. @@ -709,6 +710,15 @@
  395. -config ATH79_MACH_AP81
  396. - bool "Atheros AP81 reference board"
  397. ++config ATH79_MACH_CPE510
  398. ++ bool "TP-LINK CPE510 support"
  399. ++ select SOC_AR934X
  400. ++ select ATH79_DEV_ETH
  401. ++ select ATH79_DEV_GPIO_BUTTONS
  402. ++ select ATH79_DEV_LEDS_GPIO
  403. ++ select ATH79_DEV_M25P80
  404. ++ select ATH79_DEV_WMAC
  405. ++
  406. +config ATH79_MACH_TL_MR11U
  407. + bool "TP-LINK TL-MR11U/TL-MR3040 support"
  408. + select SOC_AR933X
  409. @@ -972,7 +982,7 @@
  410. config ATH79_MACH_UBNT_XM
  411. bool "Ubiquiti Networks XM/UniFi boards"
  412. -@@ -83,6 +810,65 @@ config ATH79_MACH_UBNT_XM
  413. +@@ -83,6 +819,65 @@ config ATH79_MACH_UBNT_XM
  414. Say 'Y' here if you want your kernel to support the
  415. Ubiquiti Networks XM (rev 1.0) board.
  416. @@ -1038,7 +1048,7 @@
  417. endmenu
  418. config SOC_AR71XX
  419. -@@ -132,7 +918,10 @@ config ATH79_DEV_DSA
  420. +@@ -132,7 +927,10 @@ config ATH79_DEV_DSA
  421. config ATH79_DEV_ETH
  422. def_bool n
  423. @@ -1050,7 +1060,7 @@
  424. def_bool n
  425. config ATH79_DEV_GPIO_BUTTONS
  426. -@@ -164,4 +953,7 @@ config ATH79_PCI_ATH9K_FIXUP
  427. +@@ -164,4 +962,7 @@ config ATH79_PCI_ATH9K_FIXUP
  428. config ATH79_ROUTERBOOT
  429. def_bool n
  430. @@ -1060,7 +1070,7 @@
  431. endif
  432. --- a/arch/mips/ath79/Makefile
  433. +++ b/arch/mips/ath79/Makefile
  434. -@@ -38,9 +38,90 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
  435. +@@ -38,9 +38,91 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
  436. #
  437. # Machines
  438. #
  439. @@ -1079,6 +1089,7 @@
  440. +obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
  441. +obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
  442. +obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
  443. ++obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
  444. obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
  445. +obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o
  446. +obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o