add support for tiny kernel for ar71xx (Tplink 4M or DW33D etc)

This commit is contained in:
coolsnowwolf 2018-01-14 22:22:06 +08:00
parent 8e41d2030c
commit 66dbc4d0d7
83 changed files with 3105 additions and 4316 deletions

View File

@ -62,7 +62,7 @@ config KERNEL_PROFILING
config KERNEL_KALLSYMS
bool "Compile the kernel with symbol table information"
default y if !SMALL_FLASH
default n
help
This will give you more information in stack traces from kernel oopses.

View File

@ -11,9 +11,9 @@ BOARD:=ar71xx
BOARDNAME:=Atheros AR7xxx/AR9xxx
FEATURES:=usbgadget
CPU_TYPE:=24kc
SUBTARGETS:=generic nand mikrotik
SUBTARGETS:=generic tiny nand mikrotik
KERNEL_PATCHVER:=4.9
KERNEL_PATCHVER:=4.4
include $(INCLUDE_DIR)/target.mk

View File

@ -137,11 +137,11 @@ bsb)
ucidef_set_led_default "sys" "SYS" "$board:red:sys" "1"
;;
bullet-m|\
loco-m-xw|\
nanostation-m|\
rocket-m|\
rocket-m-xw|\
nanostation-m-xw|\
loco-m-xw)
rocket-m|\
rocket-m-xw)
ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:red:link1" "wlan0" "1" "100" "0" "13"
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:orange:link2" "wlan0" "26" "100" "-25" "13"
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100" "-50" "13"
@ -302,8 +302,8 @@ rb-962uigs-5hact2hnt)
rb-2011il|\
rb-2011l|\
rb-2011uas|\
rb-2011uias|\
rb-2011uas-2hnd|\
rb-2011uias|\
rb-2011uias-2hnd)
ucidef_set_led_switch "eth6" "ETH6" "rb:green:eth6" "switch1" "0x20"
ucidef_set_led_switch "eth7" "ETH7" "rb:green:eth7" "switch1" "0x10"
@ -320,11 +320,21 @@ rb-lhg-5nd)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "rb:green:rssi3" "wlan0" "60" "100" "-59" "13"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "rb:green:rssi4" "wlan0" "80" "100" "-79" "13"
;;
rb-map-2nd)
ucidef_set_led_switch "eth1" "WAN" "rb:green:eth1" "switch0" "0x02"
ucidef_set_led_switch "eth2" "LAN" "rb:green:eth2" "switch0" "0x04"
ucidef_set_led_gpio "poe" "POE" "rb:red:poe_out" "14" "0"
ucidef_set_led_wlan "wlan" "WLAN" "rb:green:wlan" "phy0tpt"
;;
rb-mapl-2nd)
ucidef_set_led_default "power" "POWER" "rb:green:power" "1"
ucidef_set_led_netdev "lan" "LAN" "rb:green:eth" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "rb:green:wlan" "phy0tpt"
;;
rb-wap-2nd)
ucidef_set_led_timer "user" "USER" "rb:green:user" "1000" "1000"
ucidef_set_led_wlan "wlan" "WLAN" "rb:green:wlan" "phy0tpt"
;;
dap-2695-a1)
ucidef_set_led_default "power" "POWER" "d-link:green:power" "1"
ucidef_set_led_default "diag" "DIAG" "d-link:red:power" "0"
@ -387,7 +397,11 @@ gl-mifi)
ucidef_set_led_netdev "lan" "LAN" "$board:green:lan" "eth1"
ucidef_set_led_netdev "3gnet" "3GNET" "$board:green:net" "3g-wan"
;;
gl-ar150|\
gl-ar150)
ucidef_set_led_wlan "wlan" "WLAN" "$board:orange:wlan" "phy0tpt"
ucidef_set_led_netdev "wan" "WAN" "$board:green:wan" "eth0"
ucidef_set_led_netdev "lan" "LAN" "$board:green:lan" "eth1"
;;
gl-ar300)
ucidef_set_led_wlan "wlan" "WLAN" "$board:wlan" "phy0tpt"
;;
@ -420,14 +434,6 @@ hornet-ub-x2)
ucidef_set_led_wlan "wlan" "WLAN" "alfa:blue:wlan" "phy0tpt"
ucidef_set_led_usbdev "usb" "USB" "alfa:blue:usb" "1-1"
;;
maselink-ap2600i)
ucidef_set_led_netdev "wan" "WAN" "ap2600i:green:run" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "ap2600i:green:wlan" "phy0tpt"
;;
maselink-ap2600ifm)
ucidef_set_led_wlan "wlan1" "WLAN1" "ap2600ifm:green:rf1" "phy0tpt"
ucidef_set_led_wlan "wlan2" "WLAN2" "ap2600ifm:green:rf2" "phy1tpt"
;;
mc-mac1200r)
ucidef_set_led_wlan "wlan2g" "WLAN2G" "mercury:green:wlan2g" "phy1tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "mercury:green:wlan5g" "phy0tpt"
@ -471,13 +477,6 @@ mr900v2)
ucidef_set_led_default "status-red" "Status (red)" "mr900:red:wifi" "0"
ucidef_set_led_default "status-green" "Status (green)" "mr900:green:wifi" "0"
;;
mw316r-v1)
ucidef_set_led_netdev "wan" "WAN" "mercury:green:wan" "eth0"
ucidef_set_led_switch "lan1" "LAN1" "mercury:green:lan1" "switch0" "0x02"
ucidef_set_led_switch "lan2" "LAN2" "mercury:green:lan2" "switch0" "0x04"
ucidef_set_led_switch "lan3" "LAN3" "mercury:green:lan3" "switch0" "0x08"
ucidef_set_led_switch "lan4" "LAN4" "mercury:green:lan4" "switch0" "0x10"
;;
mynet-n600)
ucidef_set_led_netdev "wan" "WAN" "wd:blue:internet" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "wd:green:lan1" "switch0" "0x02"
@ -516,13 +515,13 @@ nbg6716)
ucidef_set_led_usbdev "usb2" "USB2" "$board:white:usb2" "2-1"
;;
om2p|\
om2pv2|\
om2pv4|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-lc)
om2p-lc|\
om2pv2|\
om2pv4)
ucidef_set_led_netdev "port1" "port1" "om2p:blue:wan" "eth0"
ucidef_set_led_netdev "port2" "port2" "om2p:blue:lan" "eth1"
ucidef_set_led_default "wlan-red" "WLAN (red)" "om2p:red:wifi" "0"
@ -580,13 +579,6 @@ re450)
ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "$board:blue:wlan2g" "phy1tpt"
ucidef_set_led_wlan "wlan5g" "WLAN 5 GHz" "$board:blue:wlan5g" "phy0tpt"
;;
sgr-w500-ebi-fit-v3)
ucidef_set_led_netdev "wan" "WAN" "grentech:green:wan" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "grentech:green:wlan" "phy0tpt"
;;
sgr-w500-n85b-v2)
ucidef_set_led_wlan "wlan" "WLAN" "grentech:green:wlan2g" "phy0tpt"
;;
smart-300)
ucidef_set_led_netdev "wan" "WAN" "nc-link:green:wan" "eth0"
ucidef_set_led_switch "lan1" "LAN1" "nc-link:green:lan1" "switch0" "0x04"
@ -662,8 +654,8 @@ tl-wr941nd-v5)
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
case "$board" in
tl-wr842n-v2|\
tl-mr3420-v2)
tl-mr3420-v2|\
tl-wr842n-v2)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
;;
esac
@ -708,11 +700,12 @@ tl-wa850re-v2)
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:blue:signal5" "wlan0" "80" "100" "-79" "13"
;;
tl-wa701nd-v2|\
tl-wa860re|\
tl-wa830re-v2|\
tl-wa801nd-v2|\
tl-wa830re-v2|\
tl-wa860re|\
tl-wa901nd-v3|\
tl-wa901nd-v4)
tl-wa901nd-v4|\
tl-wa901nd-v5)
ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
;;
@ -721,7 +714,6 @@ tl-wa901nd)
;;
tl-wa901nd-v2|\
tl-wr941nd|\
tl-wr941n-v7|\
tl-wr1041n-v2)
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
;;
@ -744,7 +736,6 @@ tl-wdr4900-v2)
ucidef_set_led_wlan "wlan5g" "WLAN5G" "tp-link:blue:wlan5g" "phy1tpt"
;;
tl-wdr6500-v2|\
tl-wdr6500-v6|\
tl-wr741nd)
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x02"
@ -767,7 +758,6 @@ tl-wpa8630)
tl-wr740n-v6|\
tl-wr841n-v9|\
tl-wr841n-v11|\
tl-wr842n-v9|\
tl-wr842n-v3)
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
@ -777,7 +767,6 @@ tl-wr842n-v3)
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
case "$board" in
tl-wr842n-v9|\
tl-wr842n-v3)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
;;
@ -824,26 +813,25 @@ tl-wr1043nd-v2)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
;;
tl-wr1043n-v5|\
tl-wr1043nd-v4)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
ucidef_set_led_switch "wan" "WAN" "tp-link:green:wan" "switch0" "0x20"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
case "$board" in
tl-wr1043nd-v4)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
;;
esac
;;
tl-wr2543n)
ucidef_set_led_wlan "wlan2g" "WLAN2G" "tp-link:green:wlan2g" "phy0tpt"
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
;;
tl-wr882n-v1)
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
;;
tube2h)
ucidef_set_led_netdev "lan" "LAN" "alfa:blue:lan" "eth0"
ucidef_set_rssimon "wlan0" "200000" "1"

View File

@ -49,8 +49,6 @@ ar71xx_setup_interfaces()
tl-wr841n-v11|\
tl-wr841n-v9|\
tl-wr842n-v3|\
tl-wr842n-v9|\
tl-wr882n-v1|\
whr-g301n|\
whr-hp-g300n|\
whr-hp-gn|\
@ -72,6 +70,7 @@ ar71xx_setup_interfaces()
cap4200ag|\
cf-e380ac-v1|\
cf-e380ac-v2|\
dr342|\
eap120|\
eap300v2|\
eap7660d|\
@ -98,10 +97,12 @@ ar71xx_setup_interfaces()
rb-911g-5hpnd|\
rb-912uag-2hpnd|\
rb-912uag-5hpnd|\
rb-921gs-5hpacd-r2|\
rb-lhg-5nd|\
rb-mapl-2nd|\
rb-sxt2n|\
rb-sxt5n|\
rb-wap-2nd|\
re450|\
rocket-m-xw|\
sc300m |\
@ -124,18 +125,16 @@ ar71xx_setup_interfaces()
tl-wa901nd-v2|\
tl-wa901nd-v3|\
tl-wa901nd-v4|\
tl-wa901nd-v5|\
tl-wr703n|\
tl-wr802n-v1|\
tl-wr802n-v2|\
tl-wr902ac-v1|\
tube2h|\
unifi|\
unifiac-lite|\
wi2a-ac200i|\
wndap360|\
sgr-w500-n85b-v2|\
sgr-w500-ebi-fit-v3|\
maselink-ap2600i|\
maselink-ap2600ifm|\
wp543)
ucidef_set_interface_lan "eth0"
;;
@ -151,29 +150,25 @@ ar71xx_setup_interfaces()
gl-inet|\
gl-mifi|\
jwap003|\
om2pv4|\
om2p-hsv4|\
om2pv4|\
pb42|\
pb44|\
rb-951ui-2hnd|\
rb-951ui-2nd|\
rb-952ui-5ac2nd|\
routerstation|\
tl-wr710n|\
tl-wr720n-v3|\
tl-wr810n|\
tl-wr810n-v2|\
wpe72|\
wrtnode2q)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
;;
mw316r-v1)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
;;
rb-750-r2|\
rb-750p-pbr2|\
rb-750up-r2)
rb-750up-r2|\
rb-951ui-2nd)
ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
@ -182,6 +177,7 @@ ar71xx_setup_interfaces()
all0315n|\
dlan-hotspot|\
dlan-pro-500-wp|\
ens202ext|\
ja76pf2|\
rocket-m-ti|\
ubnt-unifi-outdoor)
@ -283,7 +279,8 @@ ar71xx_setup_interfaces()
dir-835-a1|\
esr900|\
mynet-n750|\
sr3200)
sr3200|\
tl-wr1043n-v5)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
;;
@ -322,7 +319,6 @@ ar71xx_setup_interfaces()
r6100|\
smart-300|\
tl-wdr6500-v2|\
tl-wdr6500-v6|\
tl-wr940n-v4|\
tl-wr941nd-v6|\
wnr1000-v2|\
@ -423,9 +419,13 @@ ar71xx_setup_interfaces()
rb-493g)
ucidef_set_interfaces_lan_wan "eth0.1 eth1.1" "eth1.2"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
ucidef_add_switch "switch1" \
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
"0@eth1" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2" "5:wan"
;;
rb-map-2nd)
ucidef_add_switch "switch0" \
"0@eth0" "1:wan" "2:lan"
;;
tellstick-znet-lite)
ucidef_set_interface_wan "eth0"
@ -442,7 +442,6 @@ ar71xx_setup_interfaces()
;;
archer-c7-v4|\
tl-wdr4300|\
tl-wr941n-v7|\
tl-wr1041n-v2)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
@ -546,6 +545,7 @@ ar71xx_setup_macs()
fritz300e)
lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
;;
tl-wr1043n-v5|\
tl-wr1043nd-v4)
lan_mac=$(mtd_get_mac_binary product-info 8)
wan_mac=$(macaddr_add "$lan_mac" 1)

View File

@ -23,6 +23,7 @@ get_status_led() {
antminer-s1|\
antminer-s3|\
antminer-r1|\
eap120|\
minibox-v1|\
som9331|\
sr3200|\
@ -37,6 +38,7 @@ get_status_led() {
ap531b0|\
cpe505n|\
db120|\
dr342|\
dr344|\
tew-632brp|\
tl-wr942n-v1|\
@ -73,9 +75,9 @@ get_status_led() {
ap90q|\
cpe830|\
cpe870|\
gl-ar300m|\
gl-inet|\
gl-mifi|\
gl-ar300m)
gl-mifi)
status_led="$board:green:lan"
;;
ap96)
@ -93,12 +95,12 @@ get_status_led() {
status_led="$board:red:sys"
;;
bullet-m|\
rocket-m|\
rocket-m-xw|\
loco-m-xw|\
nano-m|\
nanostation-m|\
nanostation-m-xw|\
loco-m-xw)
rocket-m|\
rocket-m-xw)
status_led="ubnt:green:link4"
;;
rocket-m-ti)
@ -132,9 +134,7 @@ get_status_led() {
cpe510)
status_led="tp-link:green:link4"
;;
cr3000)
status_led="pcs:amber:power"
;;
cr3000|\
cr5000)
status_led="pcs:amber:power"
;;
@ -179,20 +179,18 @@ get_status_led() {
dw33d)
status_led="$board:blue:status"
;;
eap120)
status_led="$board:green:system"
;;
eap300v2)
status_led="engenius:blue:power"
;;
ens202ext)
ens202ext|\
esr900)
status_led="engenius:amber:power"
;;
eap7660d)
status_led="$board:green:ds4"
;;
el-mini|\
el-m150)
el-m150|\
el-mini)
status_led="easylink:green:system"
;;
ew-dorin|\
@ -206,9 +204,6 @@ get_status_led() {
esr1750)
status_led="$board:amber:power"
;;
esr900)
status_led="engenius:amber:power"
;;
hiveap-121|\
nbg6716)
status_led="$board:white:power"
@ -230,13 +225,6 @@ get_status_led() {
ls-sr71)
status_led="ubnt:green:d22"
;;
maselink-ap2600i)
status_led="ap2600i:green:power"
;;
maselink-ap2600ifm)
status_led="ap2600ifm:green:power"
;;
mw316r-v1|\
mc-mac1200r)
status_led="mercury:green:system"
;;
@ -259,9 +247,7 @@ get_status_led() {
status_led="mr900:blue:power"
;;
mynet-n600|\
mynet-n750)
status_led="wd:blue:power"
;;
mynet-n750|\
mynet-rext)
status_led="wd:blue:power"
;;
@ -273,13 +259,13 @@ get_status_led() {
status_led="nbg460n:green:power"
;;
om2p|\
om2pv2|\
om2pv4|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-lc)
om2p-lc|\
om2pv2|\
om2pv4)
status_led="om2p:blue:power"
;;
om5p|\
@ -334,6 +320,7 @@ get_status_led() {
rb-952ui-5ac2nd|\
rb-962uigs-5hact2hnt|\
rb-lhg-5nd|\
rb-map-2nd|\
rb-mapl-2nd)
status_led="rb:green:user"
;;
@ -357,12 +344,6 @@ get_status_led() {
rw2458n)
status_led="$board:green:d3"
;;
sgr-w500-n85b-v2)
status_led="grentech:green:status"
;;
sgr-w500-ebi-fit-v3)
status_led="grentech:green:status"
;;
smart-300)
status_led="nc-link:green:system"
;;
@ -380,7 +361,8 @@ get_status_led() {
tew-823dru)
status_led="trendnet:green:power"
;;
tl-mr3020)
tl-mr3020|\
tl-wr2543n)
status_led="tp-link:green:wps"
;;
tl-wa750re)
@ -403,47 +385,48 @@ get_status_led() {
tl-mr3420-v2|\
tl-wa701nd-v2|\
tl-wa801nd-v2|\
tl-wa801nd-v3|\
tl-wa830re-v2|\
tl-wa901nd|\
tl-wa901nd-v2|\
tl-wa901nd-v3|\
tl-wa901nd-v4|\
tl-wa901nd-v5|\
tl-wdr3320-v2|\
tl-wdr3500|\
tl-wr1041n-v2|\
tl-wr1043n-v5|\
tl-wr1043nd|\
tl-wr1043nd-v2|\
tl-wr1043nd-v4|\
tl-wr740n-v6|\
tl-wr741nd|\
tl-wr741nd-v4|\
tl-wa801nd-v3|\
tl-wr840n-v2|\
tl-wr840n-v3|\
tl-wr841n-v1|\
tl-wr841n-v7|\
tl-wr841n-v8|\
tl-wr841n-v11|\
tl-wa830re-v2|\
tl-wr842n-v2|\
tl-wr842n-v3|\
tl-wr842n-v9|\
tl-wr941nd|\
tl-wr941n-v7|\
tl-wr941nd-v5)
status_led="tp-link:green:system"
;;
archer-c5|\
archer-c7|\
tl-wdr4900-v2|\
tl-mr10u|\
tl-mr12u|\
tl-mr13u|\
tl-wdr4300|\
tl-wdr4900-v2|\
tl-wr703n|\
tl-wr710n|\
tl-wr720n-v3|\
tl-wr802n-v1|\
tl-wr810n|\
tl-wr810n-v2|\
tl-wr940n-v4|\
tl-wr941nd-v6)
status_led="tp-link:blue:system"
@ -451,13 +434,6 @@ get_status_led() {
tl-wr841n-v9)
status_led="tp-link:green:qss"
;;
tl-wr882n-v1)
status_led="tp-link:white:status"
;;
tl-wr2543n)
status_led="tp-link:green:wps"
;;
tl-wdr6500-v6|\
tl-wdr6500-v2)
status_led="tp-link:white:system"
;;
@ -515,8 +491,8 @@ get_status_led() {
wpj563)
status_led="$board:green:sig1"
;;
wrt400n|\
wrt160nl)
wrt160nl|\
wrt400n)
status_led="$board:blue:wps"
;;
zcn-1523h-2|\

View File

@ -54,14 +54,15 @@ case "$FIRMWARE" in
ath10kcal_extract "ART" 20480 2116
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
;;
archer-c7-v4|\
archer-c25-v1|\
archer-c59-v1|\
archer-c60-v1|\
tl-wdr6500-v2)
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth1/address) -2)
;;
archer-c7-v4)
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -1)
;;
cf-e355ac|\
cf-e380ac-v1|\
cf-e380ac-v2|\
@ -134,6 +135,7 @@ case "$FIRMWARE" in
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
;;
rb-911g-5hpacd|\
rb-921gs-5hpacd-r2|\
rb-962uigs-5hact2hnt)
ath10kcal_from_file "/sys/firmware/routerboot/ext_wlan_data" 20480 2116
;;
@ -141,11 +143,10 @@ case "$FIRMWARE" in
;;
"ath10k/pre-cal-pci-0000:00:00.0.bin")
case $board in
archer-c58-v1)
archer-c58-v1|\
archer-c59-v1|\
archer-c60-v1)
ath10kcal_extract "art" 20480 12064
;;
tl-wdr6500-v6)
ath10kcal_extract "art" 8192 12064
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;

View File

@ -12,12 +12,11 @@ PHYNBR=${DEVPATH##*/phy}
board=$(board_name)
case "$board" in
archer-c58-v1)
archer-c58-v1|\
archer-c59-v1|\
archer-c60-v1)
echo $(macaddr_add $(mtd_get_mac_binary mac 8) $(($PHYNBR - 1)) ) > /sys${DEVPATH}/macaddress
;;
tl-wdr6500-v6)
echo $(macaddr_add $(mtd_get_mac_binary art 2061) $(($PHYNBR - 2)) ) > /sys${DEVPATH}/macaddress
;;
*)
;;
esac

View File

@ -43,20 +43,18 @@ migrate_switch_name() {
board=$(board_name)
case "$board" in
dir-825-c1|\
wzr-hp-g300nh2|\
tl-wdr4300|\
tl-wr1041n-v2|\
wrt160nl|\
airrouter|\
ap121|\
ap121-mini|\
ap96|\
airrouter|\
dir-600-a1|\
dir-615-c1|\
dir-615-e1|\
dir-615-e4|\
dir-825-c1|\
ebr-2310-c1|\
ew-dorin|\
ew-dorin-router|\
ja76pf|\
rb-750|\
rb-751|\
@ -65,17 +63,19 @@ tew-712br|\
tl-mr3220|\
tl-mr3220-v2 |\
tl-mr3420|\
tl-wdr4300|\
tl-wr741nd|\
tl-wr741nd-v4|\
tl-wr841n-v7|\
tl-wr1041n-v2|\
whr-g301n|\
whr-hp-g300n|\
whr-hp-gn|\
wrt160nl|\
wzr-hp-ag300h|\
wzr-hp-g300nh2|\
wzr-hp-g450h|\
z1|\
ew-dorin|\
ew-dorin-router)
z1)
migrate_switch_name "eth0" "switch0"
;;
@ -93,8 +93,8 @@ rb-2011uas-2hnd)
;;
dir-825-b1|\
tew-673gru|\
nbg460n_550n_550nh)
nbg460n_550n_550nh|\
tew-673gru)
migrate_switch_name "rtl8366s" "switch0"
;;

View File

@ -54,6 +54,10 @@ dr344)
migrate_leds ":red:=:green:" ":yellow:=:green:"
;;
gl-ar150)
migrate_leds "gl-ar150:wlan=gl-ar150:orange:wlan" "gl-ar150:lan=gl-ar150:green:lan" "gl-ar150:wan=gl-ar150:green:wan"
;;
wndap360)
migrate_leds "wndap360:=netgear:"
;;

View File

@ -263,12 +263,6 @@ tplink_board_detect() {
"120000"*)
model="MERCURY MAC1200R"
;;
"031600"*)
model="Mercury MW316R"
;;
"204100"*)
model="TP-Link TL-WR2041N"
;;
"254300"*)
model="TP-Link TL-WR2543N/ND"
;;
@ -324,9 +318,6 @@ tplink_board_detect() {
"65000002")
model="TP-Link TL-WDR6500"
;;
"65000006")
model="TP-Link TL-WDR6500"
;;
"721000"*)
model="TP-Link TL-WA7210N"
;;
@ -612,6 +603,9 @@ ar71xx_board_detect() {
*"Domino Pi")
name="gl-domino"
;;
*"DR342")
name="dr342"
;;
*"DR344")
name="dr344"
;;
@ -726,15 +720,6 @@ ar71xx_board_detect() {
*"MAC1200R")
name="mc-mac1200r"
;;
*"MW316R v1")
name="mw316r-v1"
;;
*"MASELink AP2600-I")
name="maselink-ap2600i"
;;
*"MASELink AP2600-IFM")
name="maselink-ap2600ifm"
;;
*"MiniBox V1.0")
name="minibox-v1"
;;
@ -959,6 +944,9 @@ ar71xx_board_detect() {
*"RouterBOARD 912UAG-5HPnD")
name="rb-912uag-5hpnd"
;;
*"RouterBOARD 921GS-5HPacD r2")
name="rb-921gs-5hpacd-r2"
;;
*"RouterBOARD 941-2nD")
name="rb-941-2nd"
;;
@ -980,6 +968,9 @@ ar71xx_board_detect() {
*"RouterBOARD LHG 5nD")
name="rb-lhg-5nd"
;;
*"RouterBOARD mAP 2nD")
name="rb-map-2nd"
;;
*"RouterBOARD mAP L-2nD")
name="rb-mapl-2nd"
;;
@ -989,6 +980,9 @@ ar71xx_board_detect() {
*"RouterBOARD SXT Lite5")
name="rb-sxt5n"
;;
*"RouterBOARD wAP 2nD r2")
name="rb-wap-2nd"
;;
*"RouterStation")
name="routerstation"
;;
@ -1007,12 +1001,6 @@ ar71xx_board_detect() {
*"SC450")
name="sc450"
;;
"GRENTECH SGR-W500-N85b v2.0")
name="sgr-w500-n85b-v2"
;;
"GRENTECH SGR-W500-EBI(FIT) v3.0")
name="sgr-w500-ebi-fit-v3"
;;
*"SMART-300")
name="smart-300"
;;
@ -1073,7 +1061,7 @@ ar71xx_board_detect() {
*"TL-MR3420 v2")
name="tl-mr3420-v2"
;;
*TL-MR6400)
*"TL-MR6400")
name="tl-mr6400"
;;
*"TL-WA701ND v2")
@ -1121,6 +1109,9 @@ ar71xx_board_detect() {
*"TL-WA901ND v4")
name="tl-wa901nd-v4"
;;
*"TL-WA901ND v5")
name="tl-wa901nd-v5"
;;
*"TL-WDR3320 v2")
name="tl-wdr3320-v2"
;;
@ -1136,15 +1127,15 @@ ar71xx_board_detect() {
*"TL-WDR6500 v2")
name="tl-wdr6500-v2"
;;
*"TL-WDR6500 v6")
name="tl-wdr6500-v6"
;;
*"TL-WPA8630")
name="tl-wpa8630"
;;
*"TL-WR1041N v2")
name="tl-wr1041n-v2"
;;
*"TL-WR1043N v5")
name="tl-wr1043n-v5"
;;
*"TL-WR1043ND")
name="tl-wr1043nd"
;;
@ -1154,12 +1145,6 @@ ar71xx_board_detect() {
*"TL-WR1043ND v4")
name="tl-wr1043nd-v4"
;;
*"TL-WR2041N v1")
name="tl-wr2041n-v1"
;;
*"TL-WR2041N v2")
name="tl-wr2041n-v2"
;;
*"TL-WR2543N"*)
name="tl-wr2543n"
;;
@ -1190,6 +1175,9 @@ ar71xx_board_detect() {
*"TL-WR810N")
name="tl-wr810n"
;;
*"TL-WR810N v2")
name="tl-wr810n-v2"
;;
*"TL-WR840N v2")
name="tl-wr840n-v2"
;;
@ -1217,12 +1205,6 @@ ar71xx_board_detect() {
*"TL-WR842N/ND v3")
name="tl-wr842n-v3"
;;
*"TL-WR842N/ND v9")
name="tl-wr842n-v9"
;;
*"TL-WR882N v1")
name="tl-wr882n-v1"
;;
*"TL-WR902AC v1")
name="tl-wr902ac-v1"
;;
@ -1235,9 +1217,6 @@ ar71xx_board_detect() {
*"TL-WR941N/ND v6")
name="tl-wr941nd-v6"
;;
*"TL-WR941N v7")
name="tl-wr941n-v7"
;;
*"TL-WR941ND")
name="tl-wr941nd"
;;

View File

@ -36,8 +36,8 @@ set_preinit_iface() {
tl-wr720n-v3 |\
tl-wr841n-v8 |\
tl-wr842n-v2 |\
tl-wr941nd-v6 |\
tl-wr940n-v4 |\
tl-wr941nd-v6 |\
wnr2000-v3 |\
wnr2200 |\
wnr612-v2 |\

View File

@ -183,15 +183,6 @@ alfa_check_image() {
return 0
}
platform_nand_board_name() {
local board=$(board_name)
case "$board" in
rb*) echo "routerboard";;
*) echo "$board";;
esac
}
platform_check_image() {
local board=$(board_name)
local magic="$(get_magic_word "$1")"
@ -200,8 +191,8 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case "$board" in
airgatewaypro|\
airgateway|\
airgatewaypro|\
airrouter|\
ap121f|\
ap132|\
@ -238,6 +229,7 @@ platform_check_image() {
dlan-hotspot|\
dlan-pro-1200-ac|\
dlan-pro-500-wp|\
dr342|\
dr531|\
dragino2|\
ebr-2310-c1|\
@ -245,8 +237,8 @@ platform_check_image() {
epg5000|\
esr1750|\
esr900|\
ew-dorin-router|\
ew-dorin|\
ew-dorin-router|\
gl-ar150|\
gl-ar300m|\
gl-ar300|\
@ -260,14 +252,14 @@ platform_check_image() {
loco-m-xw|\
mzk-w04nu|\
mzk-w300nh|\
nanostation-m-xw|\
nanostation-m|\
nanostation-m-xw|\
nbg460n_550n_550nh|\
pqi-air-pen|\
r602n|\
rocket-m|\
rocket-m-ti|\
rocket-m-xw|\
rocket-m|\
rw2458n|\
sc1750|\
sc300m|\
@ -277,11 +269,12 @@ platform_check_image() {
tew-712br|\
tew-732br|\
tew-823dru|\
tl-wr1043n-v5|\
tl-wr942n-v1|\
unifi|\
unifi-outdoor|\
unifiac-lite|\
unifiac-pro|\
unifi|\
weio|\
whr-g301n|\
whr-hp-g300n|\
@ -297,8 +290,8 @@ platform_check_image() {
wrtnode2q|\
wzr-450hp2|\
wzr-hp-ag300h|\
wzr-hp-g300nh2|\
wzr-hp-g300nh|\
wzr-hp-g300nh2|\
wzr-hp-g450h|\
xd3200)
[ "$magic" != "2705" ] && {
@ -310,8 +303,8 @@ platform_check_image() {
;;
alfa-ap96|\
alfa-nx|\
ap121-mini|\
ap121|\
ap121-mini|\
ap135-020|\
ap136-010|\
ap136-020|\
@ -326,12 +319,8 @@ platform_check_image() {
dw33d|\
f9k1115v2|\
hornet-ub|\
maselink-ap2600i|\
maselink-ap2600ifm|\
mr12|\
mr16|\
sgr-w500-n85b-v2|\
sgr-w500-ebi-fit-v3|\
zbt-we1526|\
zcn-1523h-2|\
zcn-1523h-5)
@ -354,14 +343,14 @@ platform_check_image() {
all0305|\
eap300v2|\
eap7660d|\
ja76pf2|\
ja76pf|\
ja76pf2|\
jwap003|\
ls-sr71|\
pb42|\
pb44|\
routerstation-pro|\
routerstation|\
routerstation-pro|\
wp543|\
wpe72)
[ "$magic" != "4349" ] && {
@ -390,7 +379,6 @@ platform_check_image() {
el-mini|\
gl-inet|\
mc-mac1200r|\
mw316r-v1|\
minibox-v1|\
omy-g1|\
omy-x1|\
@ -405,12 +393,12 @@ platform_check_image() {
tl-mr12u|\
tl-mr13u|\
tl-mr3020|\
tl-mr3040-v2|\
tl-mr3040|\
tl-mr3220-v2|\
tl-mr3040-v2|\
tl-mr3220|\
tl-mr3420-v2|\
tl-mr3220-v2|\
tl-mr3420|\
tl-mr3420-v2|\
tl-mr6400|\
tl-wa701nd-v2|\
tl-wa7210n-v2|\
@ -423,53 +411,49 @@ platform_check_image() {
tl-wa850re-v2|\
tl-wa855re-v1|\
tl-wa860re|\
tl-wa901nd|\
tl-wa901nd-v2|\
tl-wa901nd-v3|\
tl-wa901nd-v4|\
tl-wa901nd|\
tl-wa901nd-v5|\
tl-wdr3320-v2|\
tl-wdr3500|\
tl-wdr4300|\
tl-wdr4900-v2|\
tl-wdr6500-v2|\
tl-wdr6500-v6|\
tl-wpa8630|\
tl-wr1041n-v2|\
tl-wr1043nd|\
tl-wr1043nd-v2|\
tl-wr1043nd-v4|\
tl-wr1043nd|\
tl-wr2543n|\
tl-wr703n|\
tl-wr710n|\
tl-wr720n-v3|\
tl-wr740n-v6|\
tl-wr741nd-v4|\
tl-wr741nd|\
tl-wr741nd-v4|\
tl-wr802n-v1|\
tl-wr802n-v2|\
tl-wr810n|\
tl-wr810n-v2|\
tl-wr840n-v2|\
tl-wr840n-v3|\
tl-wr841n-v11|\
tl-wr841n-v1|\
tl-wr841n-v7|\
tl-wr841n-v8|\
tl-wr841n-v9|\
tl-wr841n-v11|\
tl-wr842n-v2|\
tl-wr842n-v3|\
tl-wr842n-v9|\
tl-wr882n-v1|\
tl-wr902ac-v1|\
tl-wr941nd-v5|\
tl-wr941nd-v6|\
tl-wr941n-v7|\
tl-wr940n-v4|\
tl-wr941nd)
tl-wr941nd|\
tl-wr941nd-v5|\
tl-wr941nd-v6)
local magic_ver="0100"
case "$board" in
tl-wdr6500-v6|\
tl-wdr3320-v2|\
tl-wdr6500-v2)
magic_ver="0200"
;;
@ -528,13 +512,14 @@ platform_check_image() {
rb-911g-5hpacd|\
rb-912uag-2hpnd|\
rb-912uag-5hpnd|\
rb-921gs-5hpacd-r2|\
rb-951g-2hnd|\
rb-951ui-2hnd|\
rb-2011l|\
rb-2011il|\
rb-2011uas|\
rb-2011uias|\
rb-2011uas-2hnd|\
rb-2011uias|\
rb-2011uias-2hnd|\
rb-sxt2n|\
rb-sxt5n)
@ -562,24 +547,24 @@ platform_check_image() {
;;
a40|\
a60|\
mr1750v2|\
mr1750|\
mr600v2|\
mr1750v2|\
mr600|\
mr900v2|\
mr600v2|\
mr900|\
mr900v2|\
om2p|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-hs|\
om2p-lc|\
om2pv2|\
om2pv4|\
om2p|\
om5p-acv2|\
om5p|\
om5p-ac|\
om5p-an|\
om5p)
om5p-acv2|\
om5p-an)
platform_check_image_openmesh "$magic_long" "$1" && return 0
return 1
;;
@ -675,7 +660,9 @@ platform_check_image() {
rb-952ui-5ac2nd|\
rb-962uigs-5hact2hnt|\
rb-lhg-5nd|\
rb-mapl-2nd)
rb-map-2nd|\
rb-mapl-2nd|\
rb-wap-2nd)
return 0
;;
esac
@ -707,17 +694,18 @@ platform_pre_upgrade() {
rb-751|\
rb-751g|\
rb-911g-2hpnd|\
rb-911g-5hpnd|\
rb-911g-5hpacd|\
rb-911g-5hpnd|\
rb-912uag-2hpnd|\
rb-912uag-5hpnd|\
rb-921gs-5hpacd-r2|\
rb-951g-2hnd|\
rb-951ui-2hnd|\
rb-2011il|\
rb-2011l|\
rb-2011uas|\
rb-2011uias|\
rb-2011uas-2hnd|\
rb-2011uias|\
rb-2011uias-2hnd|\
rb-sxt2n|\
rb-sxt5n|\
@ -734,7 +722,9 @@ platform_pre_upgrade() {
rb-952ui-5ac2nd|\
rb-962uigs-5hact2hnt|\
rb-lhg-5nd|\
rb-mapl-2nd)
rb-map-2nd|\
rb-mapl-2nd|\
rb-wap-2nd)
# erase firmware if booted from initramfs
[ -z "$(rootfs_type)" ] && mtd erase firmware
;;
@ -786,14 +776,14 @@ platform_do_upgrade() {
;;
all0305|\
eap7660d|\
ja76pf2|\
ja76pf|\
ja76pf2|\
jwap003|\
ls-sr71|\
pb42|\
pb44|\
routerstation-pro|\
routerstation)
routerstation|\
routerstation-pro)
platform_do_upgrade_combined "$ARGV"
;;
all0315n)
@ -810,24 +800,24 @@ platform_do_upgrade() {
;;
a40|\
a60|\
mr1750v2|\
mr1750|\
mr600v2|\
mr1750v2|\
mr600|\
mr900v2|\
mr600v2|\
mr900|\
mr900v2|\
om2p|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-hs|\
om2p-lc|\
om2pv2|\
om2pv4|\
om2p|\
om5p-acv2|\
om5p|\
om5p-ac|\
om5p-an|\
om5p)
om5p-acv2|\
om5p-an)
platform_do_upgrade_openmesh "$ARGV"
;;
uap-pro|\

View File

@ -22,140 +22,136 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_DSA=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_A60=y
CONFIG_ATH79_MACH_ALFA_AP120C=y
CONFIG_ATH79_MACH_ALFA_AP96=y
CONFIG_ATH79_MACH_ALFA_NX=y
CONFIG_ATH79_MACH_ALL0258N=y
CONFIG_ATH79_MACH_ALL0315N=y
CONFIG_ATH79_MACH_ANTMINER_S1=y
CONFIG_ATH79_MACH_ANTMINER_S3=y
CONFIG_ATH79_MACH_ANTROUTER_R1=y
CONFIG_ATH79_MACH_AP121=y
CONFIG_ATH79_MACH_AP121F=y
CONFIG_ATH79_MACH_AP132=y
CONFIG_ATH79_MACH_AP136=y
CONFIG_ATH79_MACH_AP143=y
CONFIG_ATH79_MACH_AP147=y
CONFIG_ATH79_MACH_AP152=y
CONFIG_ATH79_MACH_AP531B0=y
# CONFIG_ATH79_DEV_AP9X_PCI is not set
# CONFIG_ATH79_DEV_DSA is not set
# CONFIG_ATH79_DEV_ETH is not set
# CONFIG_ATH79_DEV_GPIO_BUTTONS is not set
# CONFIG_ATH79_DEV_LEDS_GPIO is not set
# CONFIG_ATH79_DEV_M25P80 is not set
# CONFIG_ATH79_DEV_SPI is not set
# CONFIG_ATH79_DEV_USB is not set
# CONFIG_ATH79_MACH_A60 is not set
# CONFIG_ATH79_MACH_ALFA_AP120C is not set
# CONFIG_ATH79_MACH_ALFA_AP96 is not set
# CONFIG_ATH79_MACH_ALFA_NX is not set
# CONFIG_ATH79_MACH_ALL0258N is not set
# CONFIG_ATH79_MACH_ALL0315N is not set
# CONFIG_ATH79_MACH_ANTMINER_S1 is not set
# CONFIG_ATH79_MACH_ANTMINER_S3 is not set
# CONFIG_ATH79_MACH_ANTROUTER_R1 is not set
# CONFIG_ATH79_MACH_AP121 is not set
# CONFIG_ATH79_MACH_AP121F is not set
# CONFIG_ATH79_MACH_AP132 is not set
# CONFIG_ATH79_MACH_AP136 is not set
# CONFIG_ATH79_MACH_AP143 is not set
# CONFIG_ATH79_MACH_AP147 is not set
# CONFIG_ATH79_MACH_AP152 is not set
# CONFIG_ATH79_MACH_AP531B0 is not set
# CONFIG_ATH79_MACH_AP81 is not set
CONFIG_ATH79_MACH_AP90Q=y
CONFIG_ATH79_MACH_AP96=y
CONFIG_ATH79_MACH_ARCHER_C25_V1=y
CONFIG_ATH79_MACH_ARCHER_C58_V1=y
CONFIG_ATH79_MACH_ARCHER_C59_V1=y
CONFIG_ATH79_MACH_ARCHER_C60_V1=y
CONFIG_ATH79_MACH_ARCHER_C7=y
CONFIG_ATH79_MACH_ARDUINO_YUN=y
CONFIG_ATH79_MACH_AW_NR580=y
CONFIG_ATH79_MACH_BHR_4GRV2=y
CONFIG_ATH79_MACH_BHU_BXU2000N2_A=y
CONFIG_ATH79_MACH_BSB=y
CONFIG_ATH79_MACH_C55=y
# CONFIG_ATH79_MACH_AP90Q is not set
# CONFIG_ATH79_MACH_AP96 is not set
# CONFIG_ATH79_MACH_ARCHER_C25_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C58_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C59_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C60_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C7 is not set
# CONFIG_ATH79_MACH_ARDUINO_YUN is not set
# CONFIG_ATH79_MACH_AW_NR580 is not set
# CONFIG_ATH79_MACH_BHR_4GRV2 is not set
# CONFIG_ATH79_MACH_BHU_BXU2000N2_A is not set
# CONFIG_ATH79_MACH_BSB is not set
# CONFIG_ATH79_MACH_C55 is not set
# CONFIG_ATH79_MACH_C60 is not set
CONFIG_ATH79_MACH_CAP324=y
CONFIG_ATH79_MACH_CAP4200AG=y
CONFIG_ATH79_MACH_CARAMBOLA2=y
CONFIG_ATH79_MACH_CF_E316N_V2=y
CONFIG_ATH79_MACH_CF_E320N_V2=y
CONFIG_ATH79_MACH_CF_E355AC=y
CONFIG_ATH79_MACH_CF_E380AC_V1=y
CONFIG_ATH79_MACH_CF_E380AC_V2=y
CONFIG_ATH79_MACH_CF_E520N=y
CONFIG_ATH79_MACH_CF_E530N=y
CONFIG_ATH79_MACH_CPE505N=y
CONFIG_ATH79_MACH_CPE510=y
CONFIG_ATH79_MACH_CPE830=y
CONFIG_ATH79_MACH_CPE870=y
CONFIG_ATH79_MACH_CR3000=y
CONFIG_ATH79_MACH_CR5000=y
CONFIG_ATH79_MACH_DAP_2695_A1=y
CONFIG_ATH79_MACH_DB120=y
CONFIG_ATH79_MACH_DGL_5500_A1=y
CONFIG_ATH79_MACH_DHP_1565_A1=y
CONFIG_ATH79_MACH_DIR_505_A1=y
CONFIG_ATH79_MACH_DIR_600_A1=y
CONFIG_ATH79_MACH_DIR_615_C1=y
CONFIG_ATH79_MACH_DIR_615_I1=y
CONFIG_ATH79_MACH_DIR_825_B1=y
CONFIG_ATH79_MACH_DIR_825_C1=y
CONFIG_ATH79_MACH_DIR_869_A1=y
CONFIG_ATH79_MACH_DLAN_HOTSPOT=y
CONFIG_ATH79_MACH_DLAN_PRO_1200_AC=y
CONFIG_ATH79_MACH_DLAN_PRO_500_WP=y
# CONFIG_ATH79_MACH_CAP324 is not set
# CONFIG_ATH79_MACH_CAP4200AG is not set
# CONFIG_ATH79_MACH_CARAMBOLA2 is not set
# CONFIG_ATH79_MACH_CF_E316N_V2 is not set
# CONFIG_ATH79_MACH_CF_E320N_V2 is not set
# CONFIG_ATH79_MACH_CF_E355AC is not set
# CONFIG_ATH79_MACH_CF_E380AC_V1 is not set
# CONFIG_ATH79_MACH_CF_E380AC_V2 is not set
# CONFIG_ATH79_MACH_CF_E520N is not set
# CONFIG_ATH79_MACH_CF_E530N is not set
# CONFIG_ATH79_MACH_CPE505N is not set
# CONFIG_ATH79_MACH_CPE510 is not set
# CONFIG_ATH79_MACH_CPE830 is not set
# CONFIG_ATH79_MACH_CPE870 is not set
# CONFIG_ATH79_MACH_CR3000 is not set
# CONFIG_ATH79_MACH_CR5000 is not set
# CONFIG_ATH79_MACH_DAP_2695_A1 is not set
# CONFIG_ATH79_MACH_DB120 is not set
# CONFIG_ATH79_MACH_DGL_5500_A1 is not set
# CONFIG_ATH79_MACH_DHP_1565_A1 is not set
# CONFIG_ATH79_MACH_DIR_505_A1 is not set
# CONFIG_ATH79_MACH_DIR_600_A1 is not set
# CONFIG_ATH79_MACH_DIR_615_C1 is not set
# CONFIG_ATH79_MACH_DIR_615_I1 is not set
# CONFIG_ATH79_MACH_DIR_825_B1 is not set
# CONFIG_ATH79_MACH_DIR_825_C1 is not set
# CONFIG_ATH79_MACH_DIR_869_A1 is not set
# CONFIG_ATH79_MACH_DLAN_HOTSPOT is not set
# CONFIG_ATH79_MACH_DLAN_PRO_1200_AC is not set
# CONFIG_ATH79_MACH_DLAN_PRO_500_WP is not set
# CONFIG_ATH79_MACH_DOMYWIFI_DW33D is not set
CONFIG_ATH79_MACH_DR344=y
CONFIG_ATH79_MACH_DR531=y
CONFIG_ATH79_MACH_DRAGINO2=y
CONFIG_ATH79_MACH_E2100L=y
CONFIG_ATH79_MACH_EAP120=y
CONFIG_ATH79_MACH_EAP300V2=y
CONFIG_ATH79_MACH_EAP7660D=y
CONFIG_ATH79_MACH_EL_M150=y
CONFIG_ATH79_MACH_EL_MINI=y
CONFIG_ATH79_MACH_ENS202EXT=y
CONFIG_ATH79_MACH_EPG5000=y
CONFIG_ATH79_MACH_ESR1750=y
CONFIG_ATH79_MACH_ESR900=y
CONFIG_ATH79_MACH_EW_DORIN=y
CONFIG_ATH79_MACH_F9K1115V2=y
CONFIG_ATH79_MACH_FRITZ300E=y
CONFIG_ATH79_MACH_GL_AR150=y
CONFIG_ATH79_MACH_GL_AR300=y
CONFIG_ATH79_MACH_GL_AR300M=y
CONFIG_ATH79_MACH_GL_DOMINO=y
CONFIG_ATH79_MACH_GL_INET=y
CONFIG_ATH79_MACH_GL_MIFI=y
CONFIG_ATH79_MACH_GL_USB150=y
CONFIG_ATH79_MACH_GS_MINIBOX_V1=y
CONFIG_ATH79_MACH_GS_OOLITE=y
# CONFIG_ATH79_MACH_DR342 is not set
# CONFIG_ATH79_MACH_DR344 is not set
# CONFIG_ATH79_MACH_DR531 is not set
# CONFIG_ATH79_MACH_DRAGINO2 is not set
# CONFIG_ATH79_MACH_E2100L is not set
# CONFIG_ATH79_MACH_EAP120 is not set
# CONFIG_ATH79_MACH_EAP300V2 is not set
# CONFIG_ATH79_MACH_EAP7660D is not set
# CONFIG_ATH79_MACH_EL_M150 is not set
# CONFIG_ATH79_MACH_EL_MINI is not set
# CONFIG_ATH79_MACH_ENS202EXT is not set
# CONFIG_ATH79_MACH_EPG5000 is not set
# CONFIG_ATH79_MACH_ESR1750 is not set
# CONFIG_ATH79_MACH_ESR900 is not set
# CONFIG_ATH79_MACH_EW_DORIN is not set
# CONFIG_ATH79_MACH_F9K1115V2 is not set
# CONFIG_ATH79_MACH_FRITZ300E is not set
# CONFIG_ATH79_MACH_GL_AR150 is not set
# CONFIG_ATH79_MACH_GL_AR300 is not set
# CONFIG_ATH79_MACH_GL_AR300M is not set
# CONFIG_ATH79_MACH_GL_DOMINO is not set
# CONFIG_ATH79_MACH_GL_INET is not set
# CONFIG_ATH79_MACH_GL_MIFI is not set
# CONFIG_ATH79_MACH_GL_USB150 is not set
# CONFIG_ATH79_MACH_GS_MINIBOX_V1 is not set
# CONFIG_ATH79_MACH_GS_OOLITE is not set
# CONFIG_ATH79_MACH_HIVEAP_121 is not set
CONFIG_ATH79_MACH_HIWIFI_HC6361=y
CONFIG_ATH79_MACH_HORNET_UB=y
CONFIG_ATH79_MACH_JA76PF=y
CONFIG_ATH79_MACH_JWAP003=y
CONFIG_ATH79_MACH_JWAP230=y
CONFIG_ATH79_MACH_LIMA=y
CONFIG_ATH79_MACH_MC_MAC1200R=y
CONFIG_ATH79_MACH_MW316R_V1=y
CONFIG_ATH79_MACH_MASELINK_AP2600I=y
CONFIG_ATH79_MACH_MASELINK_AP2600IFM=y
CONFIG_ATH79_MACH_MR12=y
CONFIG_ATH79_MACH_MR16=y
CONFIG_ATH79_MACH_MR1750=y
# CONFIG_ATH79_MACH_HIWIFI_HC6361 is not set
# CONFIG_ATH79_MACH_HORNET_UB is not set
# CONFIG_ATH79_MACH_JA76PF is not set
# CONFIG_ATH79_MACH_JWAP003 is not set
# CONFIG_ATH79_MACH_JWAP230 is not set
# CONFIG_ATH79_MACH_LIMA is not set
# CONFIG_ATH79_MACH_MC_MAC1200R is not set
# CONFIG_ATH79_MACH_MR12 is not set
# CONFIG_ATH79_MACH_MR16 is not set
# CONFIG_ATH79_MACH_MR1750 is not set
# CONFIG_ATH79_MACH_MR18 is not set
CONFIG_ATH79_MACH_MR600=y
CONFIG_ATH79_MACH_MR900=y
CONFIG_ATH79_MACH_MYNET_N600=y
CONFIG_ATH79_MACH_MYNET_N750=y
CONFIG_ATH79_MACH_MYNET_REXT=y
CONFIG_ATH79_MACH_MZK_W04NU=y
CONFIG_ATH79_MACH_MZK_W300NH=y
CONFIG_ATH79_MACH_NBG460N=y
CONFIG_ATH79_MACH_NBG6716=y
CONFIG_ATH79_MACH_OM2P=y
CONFIG_ATH79_MACH_OM5P=y
CONFIG_ATH79_MACH_OM5P_AC=y
CONFIG_ATH79_MACH_OM5P_ACv2=y
CONFIG_ATH79_MACH_OMY_G1=y
CONFIG_ATH79_MACH_OMY_X1=y
CONFIG_ATH79_MACH_ONION_OMEGA=y
CONFIG_ATH79_MACH_PB42=y
CONFIG_ATH79_MACH_PB44=y
CONFIG_ATH79_MACH_PQI_AIR_PEN=y
CONFIG_ATH79_MACH_QIHOO_C301=y
CONFIG_ATH79_MACH_R602N=y
# CONFIG_ATH79_MACH_MR600 is not set
# CONFIG_ATH79_MACH_MR900 is not set
# CONFIG_ATH79_MACH_MYNET_N600 is not set
# CONFIG_ATH79_MACH_MYNET_N750 is not set
# CONFIG_ATH79_MACH_MYNET_REXT is not set
# CONFIG_ATH79_MACH_MZK_W04NU is not set
# CONFIG_ATH79_MACH_MZK_W300NH is not set
# CONFIG_ATH79_MACH_NBG460N is not set
# CONFIG_ATH79_MACH_NBG6716 is not set
# CONFIG_ATH79_MACH_OM2P is not set
# CONFIG_ATH79_MACH_OM5P is not set
# CONFIG_ATH79_MACH_OM5P_AC is not set
# CONFIG_ATH79_MACH_OM5P_ACv2 is not set
# CONFIG_ATH79_MACH_OMY_G1 is not set
# CONFIG_ATH79_MACH_OMY_X1 is not set
# CONFIG_ATH79_MACH_ONION_OMEGA is not set
# CONFIG_ATH79_MACH_PB42 is not set
# CONFIG_ATH79_MACH_PB44 is not set
# CONFIG_ATH79_MACH_PQI_AIR_PEN is not set
# CONFIG_ATH79_MACH_QIHOO_C301 is not set
# CONFIG_ATH79_MACH_R602N is not set
# CONFIG_ATH79_MACH_R6100 is not set
# CONFIG_ATH79_MACH_RAMBUTAN is not set
# CONFIG_ATH79_MACH_RB2011 is not set
@ -166,103 +162,100 @@ CONFIG_ATH79_MACH_R602N=y
# CONFIG_ATH79_MACH_RB95X is not set
# CONFIG_ATH79_MACH_RBSPI is not set
# CONFIG_ATH79_MACH_RBSXTLITE is not set
CONFIG_ATH79_MACH_RE450=y
CONFIG_ATH79_MACH_RW2458N=y
CONFIG_ATH79_MACH_SC1750=y
CONFIG_ATH79_MACH_SC300M=y
CONFIG_ATH79_MACH_SC450=y
CONFIG_ATH79_MACH_SGR_W500_N85B_V2=y
CONFIG_ATH79_MACH_SGR_W500_EBI_FIT_V3=y
CONFIG_ATH79_MACH_SMART_300=y
CONFIG_ATH79_MACH_SOM9331=y
CONFIG_ATH79_MACH_SR3200=y
CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE=y
CONFIG_ATH79_MACH_TEW_632BRP=y
CONFIG_ATH79_MACH_TEW_673GRU=y
CONFIG_ATH79_MACH_TEW_712BR=y
CONFIG_ATH79_MACH_TEW_732BR=y
CONFIG_ATH79_MACH_TEW_823DRU=y
CONFIG_ATH79_MACH_TL_MR11U=y
CONFIG_ATH79_MACH_TL_MR13U=y
CONFIG_ATH79_MACH_TL_MR3020=y
CONFIG_ATH79_MACH_TL_MR3X20=y
CONFIG_ATH79_MACH_TL_MR6400=y
CONFIG_ATH79_MACH_TL_WA701ND_V2=y
CONFIG_ATH79_MACH_TL_WA7210N_V2=y
CONFIG_ATH79_MACH_TL_WA801ND_V3=y
CONFIG_ATH79_MACH_TL_WA830RE_V2=y
CONFIG_ATH79_MACH_TL_WA850RE_V2=y
CONFIG_ATH79_MACH_TL_WA855RE_V1=y
CONFIG_ATH79_MACH_TL_WA901ND=y
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
CONFIG_ATH79_MACH_TL_WA901ND_V4=y
CONFIG_ATH79_MACH_TL_WAX50RE=y
CONFIG_ATH79_MACH_TL_WDR3320_V2=y
CONFIG_ATH79_MACH_TL_WDR3500=y
CONFIG_ATH79_MACH_TL_WDR4300=y
CONFIG_ATH79_MACH_TL_WDR6500_V2=y
CONFIG_ATH79_MACH_TL_WDR6500_V6=y
CONFIG_ATH79_MACH_TL_WPA8630=y
CONFIG_ATH79_MACH_TL_WR1041N_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND=y
CONFIG_ATH79_MACH_TL_WR1043ND_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND_V4=y
CONFIG_ATH79_MACH_TL_WR2543N=y
CONFIG_ATH79_MACH_TL_WR703N=y
CONFIG_ATH79_MACH_TL_WR720N_V3=y
CONFIG_ATH79_MACH_TL_WR741ND=y
CONFIG_ATH79_MACH_TL_WR741ND_V4=y
CONFIG_ATH79_MACH_TL_WR802N_V1=y
CONFIG_ATH79_MACH_TL_WR802N_V2=y
CONFIG_ATH79_MACH_TL_WR810N=y
CONFIG_ATH79_MACH_TL_WR840N_V2=y
CONFIG_ATH79_MACH_TL_WR841N_V1=y
CONFIG_ATH79_MACH_TL_WR841N_V8=y
CONFIG_ATH79_MACH_TL_WR841N_V9=y
CONFIG_ATH79_MACH_TL_WR882N_V1=y
CONFIG_ATH79_MACH_TL_WR902AC_V1=y
CONFIG_ATH79_MACH_TL_WR940N_V4=y
CONFIG_ATH79_MACH_TL_WR941ND=y
CONFIG_ATH79_MACH_TL_WR941ND_V6=y
CONFIG_ATH79_MACH_TL_WR941N_V7=y
CONFIG_ATH79_MACH_TL_WR942N_V1=y
CONFIG_ATH79_MACH_TUBE2H=y
CONFIG_ATH79_MACH_UBNT=y
CONFIG_ATH79_MACH_UBNT_UNIFIAC=y
CONFIG_ATH79_MACH_UBNT_XM=y
CONFIG_ATH79_MACH_WEIO=y
# CONFIG_ATH79_MACH_RE450 is not set
# CONFIG_ATH79_MACH_RW2458N is not set
# CONFIG_ATH79_MACH_SC1750 is not set
# CONFIG_ATH79_MACH_SC300M is not set
# CONFIG_ATH79_MACH_SC450 is not set
# CONFIG_ATH79_MACH_SMART_300 is not set
# CONFIG_ATH79_MACH_SOM9331 is not set
# CONFIG_ATH79_MACH_SR3200 is not set
# CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE is not set
# CONFIG_ATH79_MACH_TEW_632BRP is not set
# CONFIG_ATH79_MACH_TEW_673GRU is not set
# CONFIG_ATH79_MACH_TEW_712BR is not set
# CONFIG_ATH79_MACH_TEW_732BR is not set
# CONFIG_ATH79_MACH_TEW_823DRU is not set
# CONFIG_ATH79_MACH_TL_MR11U is not set
# CONFIG_ATH79_MACH_TL_MR13U is not set
# CONFIG_ATH79_MACH_TL_MR3020 is not set
# CONFIG_ATH79_MACH_TL_MR3X20 is not set
# CONFIG_ATH79_MACH_TL_MR6400 is not set
# CONFIG_ATH79_MACH_TL_WA701ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA7210N_V2 is not set
# CONFIG_ATH79_MACH_TL_WA801ND_V3 is not set
# CONFIG_ATH79_MACH_TL_WA830RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA850RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA855RE_V1 is not set
# CONFIG_ATH79_MACH_TL_WA901ND is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WAX50RE is not set
# CONFIG_ATH79_MACH_TL_WDR3320_V2 is not set
# CONFIG_ATH79_MACH_TL_WDR3500 is not set
# CONFIG_ATH79_MACH_TL_WDR4300 is not set
# CONFIG_ATH79_MACH_TL_WDR6500_V2 is not set
# CONFIG_ATH79_MACH_TL_WPA8630 is not set
# CONFIG_ATH79_MACH_TL_WR1041N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR1043N_V5 is not set
# CONFIG_ATH79_MACH_TL_WR2543N is not set
# CONFIG_ATH79_MACH_TL_WR703N is not set
# CONFIG_ATH79_MACH_TL_WR720N_V3 is not set
# CONFIG_ATH79_MACH_TL_WR741ND is not set
# CONFIG_ATH79_MACH_TL_WR741ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR810N is not set
# CONFIG_ATH79_MACH_TL_WR810N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR840N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V8 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V9 is not set
# CONFIG_ATH79_MACH_TL_WR902AC_V1 is not set
# CONFIG_ATH79_MACH_TL_WR940N_V4 is not set
# CONFIG_ATH79_MACH_TL_WR941ND is not set
# CONFIG_ATH79_MACH_TL_WR941ND_V6 is not set
# CONFIG_ATH79_MACH_TL_WR942N_V1 is not set
# CONFIG_ATH79_MACH_TUBE2H is not set
# CONFIG_ATH79_MACH_UBNT is not set
# CONFIG_ATH79_MACH_UBNT_UNIFIAC is not set
# CONFIG_ATH79_MACH_UBNT_XM is not set
# CONFIG_ATH79_MACH_WEIO is not set
# CONFIG_ATH79_MACH_WHR_HP_G300N is not set
# CONFIG_ATH79_MACH_WI2A_AC200I is not set
CONFIG_ATH79_MACH_WHR_HP_G300N=y
CONFIG_ATH79_MACH_WLAE_AG300N=y
CONFIG_ATH79_MACH_WLR8100=y
CONFIG_ATH79_MACH_WNDAP360=y
CONFIG_ATH79_MACH_WNDR3700=y
# CONFIG_ATH79_MACH_WLAE_AG300N is not set
# CONFIG_ATH79_MACH_WLR8100 is not set
# CONFIG_ATH79_MACH_WNDAP360 is not set
# CONFIG_ATH79_MACH_WNDR3700 is not set
# CONFIG_ATH79_MACH_WNDR4300 is not set
CONFIG_ATH79_MACH_WNR2000=y
CONFIG_ATH79_MACH_WNR2000_V3=y
CONFIG_ATH79_MACH_WNR2000_V4=y
CONFIG_ATH79_MACH_WNR2200=y
CONFIG_ATH79_MACH_WP543=y
CONFIG_ATH79_MACH_WPE72=y
CONFIG_ATH79_MACH_WPJ342=y
CONFIG_ATH79_MACH_WPJ344=y
CONFIG_ATH79_MACH_WPJ531=y
CONFIG_ATH79_MACH_WPJ558=y
CONFIG_ATH79_MACH_WPJ563=y
CONFIG_ATH79_MACH_WRT160NL=y
CONFIG_ATH79_MACH_WRT400N=y
CONFIG_ATH79_MACH_WRTNODE2Q=y
CONFIG_ATH79_MACH_WZR_450HP2=y
CONFIG_ATH79_MACH_WZR_HP_AG300H=y
CONFIG_ATH79_MACH_WZR_HP_G300NH=y
CONFIG_ATH79_MACH_WZR_HP_G300NH2=y
CONFIG_ATH79_MACH_WZR_HP_G450H=y
CONFIG_ATH79_MACH_XD3200=y
# CONFIG_ATH79_MACH_WNR2000 is not set
# CONFIG_ATH79_MACH_WNR2000_V3 is not set
# CONFIG_ATH79_MACH_WNR2000_V4 is not set
# CONFIG_ATH79_MACH_WNR2200 is not set
# CONFIG_ATH79_MACH_WP543 is not set
# CONFIG_ATH79_MACH_WPE72 is not set
# CONFIG_ATH79_MACH_WPJ342 is not set
# CONFIG_ATH79_MACH_WPJ344 is not set
# CONFIG_ATH79_MACH_WPJ531 is not set
# CONFIG_ATH79_MACH_WPJ558 is not set
# CONFIG_ATH79_MACH_WPJ563 is not set
# CONFIG_ATH79_MACH_WRT160NL is not set
# CONFIG_ATH79_MACH_WRT400N is not set
# CONFIG_ATH79_MACH_WRTNODE2Q is not set
# CONFIG_ATH79_MACH_WZR_450HP2 is not set
# CONFIG_ATH79_MACH_WZR_HP_AG300H is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH2 is not set
# CONFIG_ATH79_MACH_WZR_HP_G450H is not set
# CONFIG_ATH79_MACH_XD3200 is not set
# CONFIG_ATH79_MACH_Z1 is not set
CONFIG_ATH79_MACH_ZBT_WE1526=y
CONFIG_ATH79_MACH_ZCN_1523H=y
CONFIG_ATH79_NVRAM=y
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
# CONFIG_ATH79_MACH_ZBT_WE1526 is not set
# CONFIG_ATH79_MACH_ZCN_1523H is not set
# CONFIG_ATH79_NVRAM is not set
# CONFIG_ATH79_PCI_ATH9K_FIXUP is not set
# CONFIG_ATH79_ROUTERBOOT is not set
CONFIG_ATH79_WDT=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@ -351,7 +344,6 @@ CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HW_HAS_PCI=y
CONFIG_HZ_PERIODIC=y
CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y
@ -369,7 +361,6 @@ CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_LANTIQ_PHY=y
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_WNDR3700_USB is not set
CONFIG_LIBFDT=y
CONFIG_MARVELL_PHY=y
CONFIG_MDIO_BITBANG=y
@ -412,7 +403,6 @@ CONFIG_MTD_SPLIT_TPLINK_FW=y
CONFIG_MTD_SPLIT_UIMAGE_FW=y
CONFIG_MTD_SPLIT_WRGG_FW=y
CONFIG_MTD_TPLINK_PARTS=y
CONFIG_MYLOADER=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NET_DSA=y
@ -420,11 +410,9 @@ CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6063=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
# CONFIG_NO_IOPORT_MAP is not set
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
@ -432,12 +420,7 @@ CONFIG_OF_IRQ=y
CONFIG_OF_MDIO=y
CONFIG_OF_MTD=y
CONFIG_OF_NET=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_AR724X is not set
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_PHYLIB=y
@ -453,17 +436,14 @@ CONFIG_RTL8367_PHY=y
# CONFIG_SERIAL_8250_FSL is not set
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_AR933X=y
CONFIG_SERIAL_AR933X_CONSOLE=y
CONFIG_SERIAL_AR933X_NR_UARTS=2
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
CONFIG_SOC_AR933X=y
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA953X=y
CONFIG_SOC_QCA955X=y
CONFIG_SOC_QCA956X=y
# CONFIG_SOC_AR71XX is not set
# CONFIG_SOC_AR724X is not set
# CONFIG_SOC_AR913X is not set
# CONFIG_SOC_AR933X is not set
# CONFIG_SOC_AR934X is not set
# CONFIG_SOC_QCA953X is not set
# CONFIG_SOC_QCA955X is not set
# CONFIG_SOC_QCA956X is not set
CONFIG_SPI=y
CONFIG_SPI_ATH79=y
CONFIG_SPI_BITBANG=y
@ -486,4 +466,3 @@ CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_USB_SUPPORT=y
CONFIG_USE_OF=y
CONFIG_ZONE_DMA_FLAG=0
CONFIG_MIPS_FPU_EMULATOR=y

View File

@ -20,140 +20,136 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_DSA=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_A60=y
CONFIG_ATH79_MACH_ALFA_AP120C=y
CONFIG_ATH79_MACH_ALFA_AP96=y
CONFIG_ATH79_MACH_ALFA_NX=y
CONFIG_ATH79_MACH_ALL0258N=y
CONFIG_ATH79_MACH_ALL0315N=y
CONFIG_ATH79_MACH_ANTMINER_S1=y
CONFIG_ATH79_MACH_ANTMINER_S3=y
CONFIG_ATH79_MACH_ANTROUTER_R1=y
CONFIG_ATH79_MACH_AP121=y
CONFIG_ATH79_MACH_AP121F=y
CONFIG_ATH79_MACH_AP132=y
CONFIG_ATH79_MACH_AP136=y
CONFIG_ATH79_MACH_AP143=y
CONFIG_ATH79_MACH_AP147=y
CONFIG_ATH79_MACH_AP152=y
CONFIG_ATH79_MACH_AP531B0=y
# CONFIG_ATH79_DEV_AP9X_PCI is not set
# CONFIG_ATH79_DEV_DSA is not set
# CONFIG_ATH79_DEV_ETH is not set
# CONFIG_ATH79_DEV_GPIO_BUTTONS is not set
# CONFIG_ATH79_DEV_LEDS_GPIO is not set
# CONFIG_ATH79_DEV_M25P80 is not set
# CONFIG_ATH79_DEV_SPI is not set
# CONFIG_ATH79_DEV_USB is not set
# CONFIG_ATH79_MACH_A60 is not set
# CONFIG_ATH79_MACH_ALFA_AP120C is not set
# CONFIG_ATH79_MACH_ALFA_AP96 is not set
# CONFIG_ATH79_MACH_ALFA_NX is not set
# CONFIG_ATH79_MACH_ALL0258N is not set
# CONFIG_ATH79_MACH_ALL0315N is not set
# CONFIG_ATH79_MACH_ANTMINER_S1 is not set
# CONFIG_ATH79_MACH_ANTMINER_S3 is not set
# CONFIG_ATH79_MACH_ANTROUTER_R1 is not set
# CONFIG_ATH79_MACH_AP121 is not set
# CONFIG_ATH79_MACH_AP121F is not set
# CONFIG_ATH79_MACH_AP132 is not set
# CONFIG_ATH79_MACH_AP136 is not set
# CONFIG_ATH79_MACH_AP143 is not set
# CONFIG_ATH79_MACH_AP147 is not set
# CONFIG_ATH79_MACH_AP152 is not set
# CONFIG_ATH79_MACH_AP531B0 is not set
# CONFIG_ATH79_MACH_AP81 is not set
CONFIG_ATH79_MACH_AP90Q=y
CONFIG_ATH79_MACH_AP96=y
CONFIG_ATH79_MACH_ARCHER_C25_V1=y
CONFIG_ATH79_MACH_ARCHER_C58_V1=y
CONFIG_ATH79_MACH_ARCHER_C59_V1=y
CONFIG_ATH79_MACH_ARCHER_C60_V1=y
CONFIG_ATH79_MACH_ARCHER_C7=y
CONFIG_ATH79_MACH_ARDUINO_YUN=y
CONFIG_ATH79_MACH_AW_NR580=y
CONFIG_ATH79_MACH_BHR_4GRV2=y
CONFIG_ATH79_MACH_BHU_BXU2000N2_A=y
CONFIG_ATH79_MACH_BSB=y
CONFIG_ATH79_MACH_C55=y
# CONFIG_ATH79_MACH_AP90Q is not set
# CONFIG_ATH79_MACH_AP96 is not set
# CONFIG_ATH79_MACH_ARCHER_C25_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C58_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C59_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C60_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C7 is not set
# CONFIG_ATH79_MACH_ARDUINO_YUN is not set
# CONFIG_ATH79_MACH_AW_NR580 is not set
# CONFIG_ATH79_MACH_BHR_4GRV2 is not set
# CONFIG_ATH79_MACH_BHU_BXU2000N2_A is not set
# CONFIG_ATH79_MACH_BSB is not set
# CONFIG_ATH79_MACH_C55 is not set
# CONFIG_ATH79_MACH_C60 is not set
CONFIG_ATH79_MACH_CAP324=y
CONFIG_ATH79_MACH_CAP4200AG=y
CONFIG_ATH79_MACH_CARAMBOLA2=y
CONFIG_ATH79_MACH_CF_E316N_V2=y
CONFIG_ATH79_MACH_CF_E320N_V2=y
CONFIG_ATH79_MACH_CF_E355AC=y
CONFIG_ATH79_MACH_CF_E380AC_V1=y
CONFIG_ATH79_MACH_CF_E380AC_V2=y
CONFIG_ATH79_MACH_CF_E520N=y
CONFIG_ATH79_MACH_CF_E530N=y
CONFIG_ATH79_MACH_CPE505N=y
CONFIG_ATH79_MACH_CPE510=y
CONFIG_ATH79_MACH_CPE830=y
CONFIG_ATH79_MACH_CPE870=y
CONFIG_ATH79_MACH_CR3000=y
CONFIG_ATH79_MACH_CR5000=y
CONFIG_ATH79_MACH_DAP_2695_A1=y
CONFIG_ATH79_MACH_DB120=y
CONFIG_ATH79_MACH_DGL_5500_A1=y
CONFIG_ATH79_MACH_DHP_1565_A1=y
CONFIG_ATH79_MACH_DIR_505_A1=y
CONFIG_ATH79_MACH_DIR_600_A1=y
CONFIG_ATH79_MACH_DIR_615_C1=y
CONFIG_ATH79_MACH_DIR_615_I1=y
CONFIG_ATH79_MACH_DIR_825_B1=y
CONFIG_ATH79_MACH_DIR_825_C1=y
CONFIG_ATH79_MACH_DIR_869_A1=y
CONFIG_ATH79_MACH_DLAN_HOTSPOT=y
CONFIG_ATH79_MACH_DLAN_PRO_1200_AC=y
CONFIG_ATH79_MACH_DLAN_PRO_500_WP=y
# CONFIG_ATH79_MACH_CAP324 is not set
# CONFIG_ATH79_MACH_CAP4200AG is not set
# CONFIG_ATH79_MACH_CARAMBOLA2 is not set
# CONFIG_ATH79_MACH_CF_E316N_V2 is not set
# CONFIG_ATH79_MACH_CF_E320N_V2 is not set
# CONFIG_ATH79_MACH_CF_E355AC is not set
# CONFIG_ATH79_MACH_CF_E380AC_V1 is not set
# CONFIG_ATH79_MACH_CF_E380AC_V2 is not set
# CONFIG_ATH79_MACH_CF_E520N is not set
# CONFIG_ATH79_MACH_CF_E530N is not set
# CONFIG_ATH79_MACH_CPE505N is not set
# CONFIG_ATH79_MACH_CPE510 is not set
# CONFIG_ATH79_MACH_CPE830 is not set
# CONFIG_ATH79_MACH_CPE870 is not set
# CONFIG_ATH79_MACH_CR3000 is not set
# CONFIG_ATH79_MACH_CR5000 is not set
# CONFIG_ATH79_MACH_DAP_2695_A1 is not set
# CONFIG_ATH79_MACH_DB120 is not set
# CONFIG_ATH79_MACH_DGL_5500_A1 is not set
# CONFIG_ATH79_MACH_DHP_1565_A1 is not set
# CONFIG_ATH79_MACH_DIR_505_A1 is not set
# CONFIG_ATH79_MACH_DIR_600_A1 is not set
# CONFIG_ATH79_MACH_DIR_615_C1 is not set
# CONFIG_ATH79_MACH_DIR_615_I1 is not set
# CONFIG_ATH79_MACH_DIR_825_B1 is not set
# CONFIG_ATH79_MACH_DIR_825_C1 is not set
# CONFIG_ATH79_MACH_DIR_869_A1 is not set
# CONFIG_ATH79_MACH_DLAN_HOTSPOT is not set
# CONFIG_ATH79_MACH_DLAN_PRO_1200_AC is not set
# CONFIG_ATH79_MACH_DLAN_PRO_500_WP is not set
# CONFIG_ATH79_MACH_DOMYWIFI_DW33D is not set
CONFIG_ATH79_MACH_DR344=y
CONFIG_ATH79_MACH_DR531=y
CONFIG_ATH79_MACH_DRAGINO2=y
CONFIG_ATH79_MACH_E2100L=y
CONFIG_ATH79_MACH_EAP120=y
CONFIG_ATH79_MACH_EAP300V2=y
CONFIG_ATH79_MACH_EAP7660D=y
CONFIG_ATH79_MACH_EL_M150=y
CONFIG_ATH79_MACH_EL_MINI=y
CONFIG_ATH79_MACH_ENS202EXT=y
CONFIG_ATH79_MACH_EPG5000=y
CONFIG_ATH79_MACH_ESR1750=y
CONFIG_ATH79_MACH_ESR900=y
CONFIG_ATH79_MACH_EW_DORIN=y
CONFIG_ATH79_MACH_F9K1115V2=y
CONFIG_ATH79_MACH_FRITZ300E=y
CONFIG_ATH79_MACH_GL_AR150=y
CONFIG_ATH79_MACH_GL_AR300=y
CONFIG_ATH79_MACH_GL_AR300M=y
CONFIG_ATH79_MACH_GL_DOMINO=y
CONFIG_ATH79_MACH_GL_INET=y
CONFIG_ATH79_MACH_GL_MIFI=y
CONFIG_ATH79_MACH_GL_USB150=y
CONFIG_ATH79_MACH_GS_MINIBOX_V1=y
CONFIG_ATH79_MACH_GS_OOLITE=y
# CONFIG_ATH79_MACH_DR342 is not set
# CONFIG_ATH79_MACH_DR344 is not set
# CONFIG_ATH79_MACH_DR531 is not set
# CONFIG_ATH79_MACH_DRAGINO2 is not set
# CONFIG_ATH79_MACH_E2100L is not set
# CONFIG_ATH79_MACH_EAP120 is not set
# CONFIG_ATH79_MACH_EAP300V2 is not set
# CONFIG_ATH79_MACH_EAP7660D is not set
# CONFIG_ATH79_MACH_EL_M150 is not set
# CONFIG_ATH79_MACH_EL_MINI is not set
# CONFIG_ATH79_MACH_ENS202EXT is not set
# CONFIG_ATH79_MACH_EPG5000 is not set
# CONFIG_ATH79_MACH_ESR1750 is not set
# CONFIG_ATH79_MACH_ESR900 is not set
# CONFIG_ATH79_MACH_EW_DORIN is not set
# CONFIG_ATH79_MACH_F9K1115V2 is not set
# CONFIG_ATH79_MACH_FRITZ300E is not set
# CONFIG_ATH79_MACH_GL_AR150 is not set
# CONFIG_ATH79_MACH_GL_AR300 is not set
# CONFIG_ATH79_MACH_GL_AR300M is not set
# CONFIG_ATH79_MACH_GL_DOMINO is not set
# CONFIG_ATH79_MACH_GL_INET is not set
# CONFIG_ATH79_MACH_GL_MIFI is not set
# CONFIG_ATH79_MACH_GL_USB150 is not set
# CONFIG_ATH79_MACH_GS_MINIBOX_V1 is not set
# CONFIG_ATH79_MACH_GS_OOLITE is not set
# CONFIG_ATH79_MACH_HIVEAP_121 is not set
CONFIG_ATH79_MACH_HIWIFI_HC6361=y
CONFIG_ATH79_MACH_HORNET_UB=y
CONFIG_ATH79_MACH_JA76PF=y
CONFIG_ATH79_MACH_JWAP003=y
CONFIG_ATH79_MACH_JWAP230=y
CONFIG_ATH79_MACH_LIMA=y
CONFIG_ATH79_MACH_MC_MAC1200R=y
CONFIG_ATH79_MACH_MW316R_V1=y
CONFIG_ATH79_MACH_MASELINK_AP2600I=y
CONFIG_ATH79_MACH_MASELINK_AP2600IFM=y
CONFIG_ATH79_MACH_MR12=y
CONFIG_ATH79_MACH_MR16=y
CONFIG_ATH79_MACH_MR1750=y
# CONFIG_ATH79_MACH_HIWIFI_HC6361 is not set
# CONFIG_ATH79_MACH_HORNET_UB is not set
# CONFIG_ATH79_MACH_JA76PF is not set
# CONFIG_ATH79_MACH_JWAP003 is not set
# CONFIG_ATH79_MACH_JWAP230 is not set
# CONFIG_ATH79_MACH_LIMA is not set
# CONFIG_ATH79_MACH_MC_MAC1200R is not set
# CONFIG_ATH79_MACH_MR12 is not set
# CONFIG_ATH79_MACH_MR16 is not set
# CONFIG_ATH79_MACH_MR1750 is not set
# CONFIG_ATH79_MACH_MR18 is not set
CONFIG_ATH79_MACH_MR600=y
CONFIG_ATH79_MACH_MR900=y
CONFIG_ATH79_MACH_MYNET_N600=y
CONFIG_ATH79_MACH_MYNET_N750=y
CONFIG_ATH79_MACH_MYNET_REXT=y
CONFIG_ATH79_MACH_MZK_W04NU=y
CONFIG_ATH79_MACH_MZK_W300NH=y
CONFIG_ATH79_MACH_NBG460N=y
CONFIG_ATH79_MACH_NBG6716=y
CONFIG_ATH79_MACH_OM2P=y
CONFIG_ATH79_MACH_OM5P=y
CONFIG_ATH79_MACH_OM5P_AC=y
CONFIG_ATH79_MACH_OM5P_ACv2=y
CONFIG_ATH79_MACH_OMY_G1=y
CONFIG_ATH79_MACH_OMY_X1=y
CONFIG_ATH79_MACH_ONION_OMEGA=y
CONFIG_ATH79_MACH_PB42=y
CONFIG_ATH79_MACH_PB44=y
CONFIG_ATH79_MACH_PQI_AIR_PEN=y
CONFIG_ATH79_MACH_QIHOO_C301=y
CONFIG_ATH79_MACH_R602N=y
# CONFIG_ATH79_MACH_MR600 is not set
# CONFIG_ATH79_MACH_MR900 is not set
# CONFIG_ATH79_MACH_MYNET_N600 is not set
# CONFIG_ATH79_MACH_MYNET_N750 is not set
# CONFIG_ATH79_MACH_MYNET_REXT is not set
# CONFIG_ATH79_MACH_MZK_W04NU is not set
# CONFIG_ATH79_MACH_MZK_W300NH is not set
# CONFIG_ATH79_MACH_NBG460N is not set
# CONFIG_ATH79_MACH_NBG6716 is not set
# CONFIG_ATH79_MACH_OM2P is not set
# CONFIG_ATH79_MACH_OM5P is not set
# CONFIG_ATH79_MACH_OM5P_AC is not set
# CONFIG_ATH79_MACH_OM5P_ACv2 is not set
# CONFIG_ATH79_MACH_OMY_G1 is not set
# CONFIG_ATH79_MACH_OMY_X1 is not set
# CONFIG_ATH79_MACH_ONION_OMEGA is not set
# CONFIG_ATH79_MACH_PB42 is not set
# CONFIG_ATH79_MACH_PB44 is not set
# CONFIG_ATH79_MACH_PQI_AIR_PEN is not set
# CONFIG_ATH79_MACH_QIHOO_C301 is not set
# CONFIG_ATH79_MACH_R602N is not set
# CONFIG_ATH79_MACH_R6100 is not set
# CONFIG_ATH79_MACH_RAMBUTAN is not set
# CONFIG_ATH79_MACH_RB2011 is not set
@ -164,106 +160,102 @@ CONFIG_ATH79_MACH_R602N=y
# CONFIG_ATH79_MACH_RB95X is not set
# CONFIG_ATH79_MACH_RBSPI is not set
# CONFIG_ATH79_MACH_RBSXTLITE is not set
CONFIG_ATH79_MACH_RE450=y
CONFIG_ATH79_MACH_RW2458N=y
CONFIG_ATH79_MACH_SC1750=y
CONFIG_ATH79_MACH_SC300M=y
CONFIG_ATH79_MACH_SC450=y
CONFIG_ATH79_MACH_SGR_W500_N85B_V2=y
CONFIG_ATH79_MACH_SGR_W500_EBI_FIT_V3=y
CONFIG_ATH79_MACH_SMART_300=y
CONFIG_ATH79_MACH_SOM9331=y
CONFIG_ATH79_MACH_SR3200=y
CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE=y
CONFIG_ATH79_MACH_TEW_632BRP=y
CONFIG_ATH79_MACH_TEW_673GRU=y
CONFIG_ATH79_MACH_TEW_712BR=y
CONFIG_ATH79_MACH_TEW_732BR=y
CONFIG_ATH79_MACH_TEW_823DRU=y
CONFIG_ATH79_MACH_TL_MR11U=y
CONFIG_ATH79_MACH_TL_MR13U=y
CONFIG_ATH79_MACH_TL_MR3020=y
CONFIG_ATH79_MACH_TL_MR3X20=y
CONFIG_ATH79_MACH_TL_MR6400=y
CONFIG_ATH79_MACH_TL_WA701ND_V2=y
CONFIG_ATH79_MACH_TL_WA7210N_V2=y
CONFIG_ATH79_MACH_TL_WA801ND_V3=y
CONFIG_ATH79_MACH_TL_WA830RE_V2=y
CONFIG_ATH79_MACH_TL_WA850RE_V2=y
CONFIG_ATH79_MACH_TL_WA855RE_V1=y
CONFIG_ATH79_MACH_TL_WA901ND=y
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
CONFIG_ATH79_MACH_TL_WA901ND_V4=y
CONFIG_ATH79_MACH_TL_WAX50RE=y
CONFIG_ATH79_MACH_TL_WDR3320_V2=y
CONFIG_ATH79_MACH_TL_WDR3500=y
CONFIG_ATH79_MACH_TL_WDR4300=y
CONFIG_ATH79_MACH_TL_WDR6500_V2=y
CONFIG_ATH79_MACH_TL_WDR6500_V6=y
CONFIG_ATH79_MACH_TL_WPA8630=y
CONFIG_ATH79_MACH_TL_WR1041N_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND=y
CONFIG_ATH79_MACH_TL_WR1043ND_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND_V4=y
CONFIG_ATH79_MACH_TL_WR2543N=y
CONFIG_ATH79_MACH_TL_WR703N=y
CONFIG_ATH79_MACH_TL_WR720N_V3=y
CONFIG_ATH79_MACH_TL_WR741ND=y
CONFIG_ATH79_MACH_TL_WR741ND_V4=y
CONFIG_ATH79_MACH_TL_WR802N_V1=y
CONFIG_ATH79_MACH_TL_WR802N_V2=y
CONFIG_ATH79_MACH_TL_WR810N=y
CONFIG_ATH79_MACH_TL_WR840N_V2=y
CONFIG_ATH79_MACH_TL_WR841N_V1=y
CONFIG_ATH79_MACH_TL_WR841N_V8=y
CONFIG_ATH79_MACH_TL_WR841N_V9=y
CONFIG_ATH79_MACH_TL_WR882N_V1=y
CONFIG_ATH79_MACH_TL_WR902AC_V1=y
CONFIG_ATH79_MACH_TL_WR940N_V4=y
CONFIG_ATH79_MACH_TL_WR941ND=y
CONFIG_ATH79_MACH_TL_WR941ND_V6=y
CONFIG_ATH79_MACH_TL_WR941N_V7=y
CONFIG_ATH79_MACH_TL_WR942N_V1=y
CONFIG_ATH79_MACH_TUBE2H=y
CONFIG_ATH79_MACH_UBNT=y
CONFIG_ATH79_MACH_UBNT_UNIFIAC=y
CONFIG_ATH79_MACH_UBNT_XM=y
CONFIG_ATH79_MACH_WEIO=y
CONFIG_ATH79_MACH_WHR_HP_G300N=y
# CONFIG_ATH79_MACH_RE450 is not set
# CONFIG_ATH79_MACH_RW2458N is not set
# CONFIG_ATH79_MACH_SC1750 is not set
# CONFIG_ATH79_MACH_SC300M is not set
# CONFIG_ATH79_MACH_SC450 is not set
# CONFIG_ATH79_MACH_SMART_300 is not set
# CONFIG_ATH79_MACH_SOM9331 is not set
# CONFIG_ATH79_MACH_SR3200 is not set
# CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE is not set
# CONFIG_ATH79_MACH_TEW_632BRP is not set
# CONFIG_ATH79_MACH_TEW_673GRU is not set
# CONFIG_ATH79_MACH_TEW_712BR is not set
# CONFIG_ATH79_MACH_TEW_732BR is not set
# CONFIG_ATH79_MACH_TEW_823DRU is not set
# CONFIG_ATH79_MACH_TL_MR11U is not set
# CONFIG_ATH79_MACH_TL_MR13U is not set
# CONFIG_ATH79_MACH_TL_MR3020 is not set
# CONFIG_ATH79_MACH_TL_MR3X20 is not set
# CONFIG_ATH79_MACH_TL_MR6400 is not set
# CONFIG_ATH79_MACH_TL_WA701ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA7210N_V2 is not set
# CONFIG_ATH79_MACH_TL_WA801ND_V3 is not set
# CONFIG_ATH79_MACH_TL_WA830RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA850RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA855RE_V1 is not set
# CONFIG_ATH79_MACH_TL_WA901ND is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WAX50RE is not set
# CONFIG_ATH79_MACH_TL_WDR3320_V2 is not set
# CONFIG_ATH79_MACH_TL_WDR3500 is not set
# CONFIG_ATH79_MACH_TL_WDR4300 is not set
# CONFIG_ATH79_MACH_TL_WDR6500_V2 is not set
# CONFIG_ATH79_MACH_TL_WPA8630 is not set
# CONFIG_ATH79_MACH_TL_WR1041N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR1043N_V5 is not set
# CONFIG_ATH79_MACH_TL_WR2543N is not set
# CONFIG_ATH79_MACH_TL_WR703N is not set
# CONFIG_ATH79_MACH_TL_WR720N_V3 is not set
# CONFIG_ATH79_MACH_TL_WR741ND is not set
# CONFIG_ATH79_MACH_TL_WR741ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR810N is not set
# CONFIG_ATH79_MACH_TL_WR810N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR840N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V8 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V9 is not set
# CONFIG_ATH79_MACH_TL_WR902AC_V1 is not set
# CONFIG_ATH79_MACH_TL_WR940N_V4 is not set
# CONFIG_ATH79_MACH_TL_WR941ND is not set
# CONFIG_ATH79_MACH_TL_WR941ND_V6 is not set
# CONFIG_ATH79_MACH_TL_WR942N_V1 is not set
# CONFIG_ATH79_MACH_TUBE2H is not set
# CONFIG_ATH79_MACH_UBNT is not set
# CONFIG_ATH79_MACH_UBNT_UNIFIAC is not set
# CONFIG_ATH79_MACH_UBNT_XM is not set
# CONFIG_ATH79_MACH_WEIO is not set
# CONFIG_ATH79_MACH_WHR_HP_G300N is not set
# CONFIG_ATH79_MACH_WI2A_AC200I is not set
CONFIG_ATH79_MACH_WLAE_AG300N=y
CONFIG_ATH79_MACH_WLR8100=y
CONFIG_ATH79_MACH_WNDAP360=y
CONFIG_ATH79_MACH_WNDR3700=y
# CONFIG_ATH79_MACH_WLAE_AG300N is not set
# CONFIG_ATH79_MACH_WLR8100 is not set
# CONFIG_ATH79_MACH_WNDAP360 is not set
# CONFIG_ATH79_MACH_WNDR3700 is not set
# CONFIG_ATH79_MACH_WNDR4300 is not set
CONFIG_ATH79_MACH_WNR2000=y
CONFIG_ATH79_MACH_WNR2000_V3=y
CONFIG_ATH79_MACH_WNR2000_V4=y
CONFIG_ATH79_MACH_WNR2200=y
CONFIG_ATH79_MACH_WP543=y
CONFIG_ATH79_MACH_WPE72=y
CONFIG_ATH79_MACH_WPJ342=y
CONFIG_ATH79_MACH_WPJ344=y
CONFIG_ATH79_MACH_WPJ531=y
CONFIG_ATH79_MACH_WPJ558=y
CONFIG_ATH79_MACH_WPJ563=y
CONFIG_ATH79_MACH_WRT160NL=y
CONFIG_ATH79_MACH_WRT400N=y
CONFIG_ATH79_MACH_WRTNODE2Q=y
CONFIG_ATH79_MACH_WZR_450HP2=y
CONFIG_ATH79_MACH_WZR_HP_AG300H=y
CONFIG_ATH79_MACH_WZR_HP_G300NH=y
CONFIG_ATH79_MACH_WZR_HP_G300NH2=y
CONFIG_ATH79_MACH_WZR_HP_G450H=y
CONFIG_ATH79_MACH_XD3200=y
# CONFIG_ATH79_MACH_WNR2000 is not set
# CONFIG_ATH79_MACH_WNR2000_V3 is not set
# CONFIG_ATH79_MACH_WNR2000_V4 is not set
# CONFIG_ATH79_MACH_WNR2200 is not set
# CONFIG_ATH79_MACH_WP543 is not set
# CONFIG_ATH79_MACH_WPE72 is not set
# CONFIG_ATH79_MACH_WPJ342 is not set
# CONFIG_ATH79_MACH_WPJ344 is not set
# CONFIG_ATH79_MACH_WPJ531 is not set
# CONFIG_ATH79_MACH_WPJ558 is not set
# CONFIG_ATH79_MACH_WPJ563 is not set
# CONFIG_ATH79_MACH_WRT160NL is not set
# CONFIG_ATH79_MACH_WRT400N is not set
# CONFIG_ATH79_MACH_WRTNODE2Q is not set
# CONFIG_ATH79_MACH_WZR_450HP2 is not set
# CONFIG_ATH79_MACH_WZR_HP_AG300H is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH2 is not set
# CONFIG_ATH79_MACH_WZR_HP_G450H is not set
# CONFIG_ATH79_MACH_XD3200 is not set
# CONFIG_ATH79_MACH_Z1 is not set
CONFIG_ATH79_MACH_ZBT_WE1526=y
CONFIG_ATH79_MACH_ZCN_1523H=y
CONFIG_ATH79_NVRAM=y
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
# CONFIG_ATH79_MACH_ZBT_WE1526 is not set
# CONFIG_ATH79_MACH_ZCN_1523H is not set
# CONFIG_ATH79_NVRAM is not set
# CONFIG_ATH79_PCI_ATH9K_FIXUP is not set
# CONFIG_ATH79_ROUTERBOOT is not set
CONFIG_ATH79_WDT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLONE_BACKWARDS=y
@ -289,7 +281,6 @@ CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
CONFIG_EARLY_PRINTK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
@ -353,7 +344,6 @@ CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HW_HAS_PCI=y
CONFIG_HZ_PERIODIC=y
CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y
@ -365,15 +355,11 @@ CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_SOURCE="../../root"
CONFIG_INTEL_XWAY_PHY=y
CONFIG_IP17XX_PHY=y
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
# CONFIG_KERNEL_KALLSYMS is not set
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_WNDR3700_USB is not set
CONFIG_LIBFDT=y
CONFIG_MARVELL_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BOARDINFO=y
@ -384,16 +370,10 @@ CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_MIPS_CMDLINE_FROM_DTB is not set
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
CONFIG_MIPS_FPU_EMULATOR=y
# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_MIPS_MACHINE=y
CONFIG_MIPS_NO_APPENDED_DTB=y
# CONFIG_MIPS_RAW_APPENDED_DTB is not set
CONFIG_MIPS_SPRAM=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
@ -419,7 +399,6 @@ CONFIG_MTD_SPLIT_TPLINK_FW=y
CONFIG_MTD_SPLIT_UIMAGE_FW=y
CONFIG_MTD_SPLIT_WRGG_FW=y
CONFIG_MTD_TPLINK_PARTS=y
CONFIG_MYLOADER=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NET_DSA=y
@ -429,21 +408,8 @@ CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
# CONFIG_NO_IOPORT_MAP is not set
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_MDIO=y
CONFIG_OF_NET=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
# CONFIG_OF is not set
# CONFIG_PCI_AR724X is not set
CONFIG_PCI_DRIVERS_LEGACY=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
@ -460,17 +426,14 @@ CONFIG_RTL8367_PHY=y
# CONFIG_SERIAL_8250_FSL is not set
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_AR933X=y
CONFIG_SERIAL_AR933X_CONSOLE=y
CONFIG_SERIAL_AR933X_NR_UARTS=2
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
CONFIG_SOC_AR933X=y
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA953X=y
CONFIG_SOC_QCA955X=y
CONFIG_SOC_QCA956X=y
# CONFIG_SOC_AR71XX is not set
# CONFIG_SOC_AR724X is not set
# CONFIG_SOC_AR913X is not set
# CONFIG_SOC_AR933X is not set
# CONFIG_SOC_AR934X is not set
# CONFIG_SOC_QCA953X is not set
# CONFIG_SOC_QCA955X is not set
# CONFIG_SOC_QCA956X is not set
CONFIG_SPI=y
CONFIG_SPI_ATH79=y
CONFIG_SPI_BITBANG=y
@ -493,4 +456,4 @@ CONFIG_SYS_SUPPORTS_ZBOOT=y
CONFIG_SYS_SUPPORTS_ZBOOT_UART_PROM=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_USB_SUPPORT=y
CONFIG_USE_OF=y
CONFIG_KERNEL_KALLSYMS=n

View File

@ -638,9 +638,21 @@ config ATH79_MACH_DOMYWIFI_DW33D
select ATH79_DEV_WMAC
select ATH79_DEV_USB
config ATH79_MACH_DR342
bool "Wallys DR342 board support"
select SOC_AR934X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_DR344
bool "Wallys DR344 board support"
select SOC_AS934X
select SOC_AR934X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
@ -1012,6 +1024,7 @@ config ATH79_MACH_RBSPI
select ATH79_ROUTERBOOT
help
Say 'Y' here if you want your kernel to support the
MikroTik RouterBOARD mAP
MikroTik RouterBOARD mAP lite
MikroTik RouterBOARD hAP lite
MikroTik RouterBOARD hAP
@ -1022,8 +1035,7 @@ config ATH79_MACH_RBSPI
MikroTik RouterBOARD Powerbox
MikroTik RouterBOARD LHG 5
MikroTik RouterBOARD cAP (EXPERIMENTAL)
MikroTik RouterBOARD mAP (EXPERIMENTAL)
MikroTik RouterBOARD wAP (EXPERIMENTAL)
MikroTik RouterBOARD wAP
config ATH79_MACH_RBSXTLITE
bool "MikroTik RouterBOARD SXT Lite"
@ -1625,17 +1637,6 @@ config ATH79_MACH_TL_WDR6500_V2
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WDR6500_V6
bool "TP-LINK TL-WDR6500 v6 board support"
select SOC_QCA956X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR703N
bool "TP-LINK TL-WR703N/TL-WR710N/TL-MR10U support"
select SOC_AR933X
@ -1701,6 +1702,15 @@ config ATH79_MACH_TL_WR810N
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR810N_V2
bool "TP-LINK TL-WR810N v2 support"
select SOC_QCA953X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR840N_V2
bool "TP-LINK TL-WR840N v2/v3 support"
select SOC_QCA953X
@ -1739,16 +1749,6 @@ config ATH79_MACH_TL_WR841N_V9
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR882N_V1
bool "TP-LINK TL-WR882N v1 support"
select SOC_QCA956X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
select ATH79_DEV_USB
config ATH79_MACH_TL_WR902AC_V1
bool "TP-LINK TL-WR902AC v1 support"
select SOC_QCA953X
@ -1779,16 +1779,6 @@ config ATH79_MACH_TL_WR941ND_V6
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR941N_V7
bool "TP-LINK TL-WR941N v7 support"
select SOC_QCA955X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR940N_V4
bool "TP-LINK TL-WR940N v4 support"
select SOC_QCA956X
@ -1820,6 +1810,15 @@ config ATH79_MACH_TL_WR1041N_V2
select ATH79_DEV_USB
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR1043N_V5
bool "TP-LINK TL-WR1043N v5 support"
select SOC_QCA956X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
config ATH79_MACH_TL_WR1043ND
bool "TP-LINK TL-WR1043ND support"
select SOC_AR913X
@ -2171,51 +2170,3 @@ config ATH79_MACH_FRITZ300E
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
config ATH79_MACH_SGR_W500_N85B_V2
bool "GRENTECH SGR-W500-N85b v2.0 support"
select SOC_AR934X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
select ATH79_DEV_USB
config ATH79_MACH_MASELINK_AP2600I
bool "Comba MASELink AP2600-I support"
select SOC_AR934X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
select ATH79_DEV_USB
config ATH79_MACH_MASELINK_AP2600IFM
bool "Comba MASELink AP2600-IFM support"
select SOC_AR71XX
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_USB
config ATH79_MACH_SGR_W500_EBI_FIT_V3
bool "GRENTECH SGR-W500-EBI(FIT) v3.0 support"
select SOC_AR71XX
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_USB
config ATH79_MACH_MW316R_V1
bool "Mercury MW316R v1 support"
select SOC_QCA953X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC

View File

@ -102,6 +102,7 @@ obj-$(CONFIG_ATH79_MACH_DLAN_HOTSPOT) += mach-dlan-hotspot.o
obj-$(CONFIG_ATH79_MACH_DLAN_PRO_1200_AC) += mach-dlan-pro-1200-ac.o
obj-$(CONFIG_ATH79_MACH_DLAN_PRO_500_WP) += mach-dlan-pro-500-wp.o
obj-$(CONFIG_ATH79_MACH_DOMYWIFI_DW33D) += mach-domywifi-dw33d.o
obj-$(CONFIG_ATH79_MACH_DR342) += mach-dr344.o
obj-$(CONFIG_ATH79_MACH_DR344) += mach-dr344.o
obj-$(CONFIG_ATH79_MACH_DR531) += mach-dr531.o
obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
@ -134,9 +135,6 @@ obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
obj-$(CONFIG_ATH79_MACH_JWAP230) += mach-jwap230.o
obj-$(CONFIG_ATH79_MACH_LIMA) += mach-lima.o
obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
obj-$(CONFIG_ATH79_MACH_MW316R_V1) += mach-mw316r-v1.o
obj-$(CONFIG_ATH79_MACH_MASELINK_AP2600I) += mach-maselink-ap2600i.o
obj-$(CONFIG_ATH79_MACH_MASELINK_AP2600IFM) += mach-maselink-ap2600ifm.o
obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
obj-$(CONFIG_ATH79_MACH_MR1750) += mach-mr1750.o
@ -178,8 +176,6 @@ obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
obj-$(CONFIG_ATH79_MACH_SC1750) += mach-sc1750.o
obj-$(CONFIG_ATH79_MACH_SC300M) += mach-sc300m.o
obj-$(CONFIG_ATH79_MACH_SC450) += mach-sc450.o
obj-$(CONFIG_ATH79_MACH_SGR_W500_N85B_V2) += mach-sgr-w500-n85b-v2.o
obj-$(CONFIG_ATH79_MACH_SGR_W500_EBI_FIT_V3) += mach-sgr-w500-ebi-fit-v3.o
obj-$(CONFIG_ATH79_MACH_SMART_300) += mach-smart-300.o
obj-$(CONFIG_ATH79_MACH_SOM9331) += mach-som9331.o
obj-$(CONFIG_ATH79_MACH_SR3200) += mach-sr3200.o
@ -208,7 +204,6 @@ obj-$(CONFIG_ATH79_MACH_TL_WDR3320_V2) += mach-tl-wdr3320-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
obj-$(CONFIG_ATH79_MACH_TL_WDR6500_V2) += mach-tl-wdr6500-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WDR6500_V6) += mach-tl-wdr6500-v6.o
obj-$(CONFIG_ATH79_MACH_TL_WPA8630) += mach-tl-wpa8630.o
obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
@ -220,17 +215,16 @@ obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3) += mach-tl-wr720n-v3.o
obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += mach-tl-wr741nd.o
obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
obj-$(CONFIG_ATH79_MACH_TL_WR802N_V1) += mach-tl-wr802n.o
obj-$(CONFIG_ATH79_MACH_TL_WR802N_V2) += mach-tl-wr802n-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WR802N_V2) += mach-tl-wr802n.o
obj-$(CONFIG_ATH79_MACH_TL_WR810N) += mach-tl-wr810n.o
obj-$(CONFIG_ATH79_MACH_TL_WR810N_V2) += mach-tl-wr810n.o
obj-$(CONFIG_ATH79_MACH_TL_WR840N_V2) += mach-tl-wr841n-v9.o
obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8) += mach-tl-wr841n-v8.o
obj-$(CONFIG_ATH79_MACH_TL_WR841N_V9) += mach-tl-wr841n-v9.o
obj-$(CONFIG_ATH79_MACH_TL_WR882N_V1) += mach-tl-wr882n-v1.o
obj-$(CONFIG_ATH79_MACH_TL_WR902AC_V1) += mach-tl-wr902ac-v1.o
obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += mach-tl-wr941nd.o
obj-$(CONFIG_ATH79_MACH_TL_WR941ND_V6) += mach-tl-wr941nd-v6.o
obj-$(CONFIG_ATH79_MACH_TL_WR941N_V7) += mach-tl-wr941n-v7.o
obj-$(CONFIG_ATH79_MACH_TL_WR940N_V4) += mach-tl-wr940n-v4.o
obj-$(CONFIG_ATH79_MACH_TL_WR942N_V1) += mach-tl-wr942n-v1.o
obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o

View File

@ -10,7 +10,6 @@
*/
#include <linux/init.h>
#include <linux/version.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
@ -30,11 +29,7 @@ void __init ath79_register_dsa(struct device *netdev,
d->netdev = netdev;
for (i = 0; i < d->nr_chips; i++)
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
d->chip[i].mii_bus = miidev;
#else
d->chip[i].host_dev = miidev;
#endif
ar71xx_dsa_switch_device.dev.platform_data = d;
platform_device_register(&ar71xx_dsa_switch_device);

View File

@ -996,6 +996,9 @@ void __init ath79_register_eth(unsigned int id)
pdata->reset_bit = AR934X_RESET_GE0_MAC |
AR934X_RESET_GE0_MDIO;
pdata->set_speed = ar934x_set_speed_ge0;
if (ath79_soc == ATH79_SOC_QCA9533)
pdata->disable_inline_checksum_engine = 1;
} else {
pdata->reset_bit = AR934X_RESET_GE1_MAC |
AR934X_RESET_GE1_MDIO;
@ -1097,6 +1100,8 @@ void __init ath79_register_eth(unsigned int id)
pdata->set_speed = qca956x_set_speed_sgmii;
else
pdata->set_speed = ar934x_set_speed_ge0;
pdata->disable_inline_checksum_engine = 1;
} else {
pdata->reset_bit = QCA955X_RESET_GE1_MAC |
QCA955X_RESET_GE1_MDIO;

View File

@ -249,7 +249,7 @@ static void __init archer_c5x_v1_setup(void)
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.speed = SPEED_1000;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_switch_data.phy_poll_mask |= BIT(4);
ath79_switch_data.phy_poll_mask |= BIT(0);
ath79_switch_data.phy4_mii_en = 1;
ath79_register_eth(1);

View File

@ -83,7 +83,7 @@ static struct spi_gpio_platform_data archer_c7_v4_spi_data = {
.num_chipselect = 1,
};
static u8 archer_c7_v4_ssr_initdata __initdata = 0xff;
static u8 archer_c7_v4_ssr_initdata = 0xff;
static struct gen_74x164_chip_platform_data archer_c7_v4_ssr_data = {
.base = ARCHER_C7_74HC_GPIO_BASE,

View File

@ -180,7 +180,11 @@ static const struct mtd_ooblayout_ops c60_nand_ecclayout_ops = {
static int c60_nand_scan_fixup(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct nand_chip *chip = mtd->priv;
#else
struct nand_chip *chip = mtd_to_nand(mtd);
#endif
chip->ecc.size = 512;
chip->ecc.strength = 4;

View File

@ -42,8 +42,8 @@
#define DIR869A1_GPIO_ENABLE_SWITCH 11
#define DIR869A1_GPIO_LED_POWER 15
#define DIR869A1_GPIO_LED_ORANGE 16
#define DIR869A1_GPIO_LED_ORANGE 15
#define DIR869A1_GPIO_LED_WHITE 16
#define DIR869A1_KEYS_POLL_INTERVAL 20 /* msecs */
#define DIR869A1_KEYS_DEBOUNCE_INTERVAL (3 * DIR869A1_KEYS_POLL_INTERVAL)
@ -59,17 +59,14 @@
static struct gpio_led dir869a1_leds_gpio[] __initdata = {
{
/* Actually, this GPIO controls the LED power,
* while d-link:orange:status switches it between
* orange and white */
.name = "d-link:white:status",
.gpio = DIR869A1_GPIO_LED_POWER,
.gpio = DIR869A1_GPIO_LED_WHITE,
.active_low = 1,
},
{
.name = "d-link:orange:status",
.gpio = DIR869A1_GPIO_LED_ORANGE,
.active_low = 0,
.active_low = 1,
},
};

View File

@ -1,9 +1,10 @@
/*
* Wallys DR344 board support
* Wallys DR342/DR344 boards support
*
* Copyright (c) 2011 Qualcomm Atheros
* Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
* Copyright (c) 2015 Philippe Duchein <wireless-dev@duchein.net>
* Copyright (c) 2017 Piotr Dymacz <pepe2k@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -39,24 +40,51 @@
#include "dev-wmac.h"
#include "machtypes.h"
#define DR344_GPIO_LED_SIG1 12
#define DR344_GPIO_LED_SIG2 13
#define DR344_GPIO_LED_SIG3 14
#define DR344_GPIO_LED_SIG4 15
#define DR344_GPIO_LED_STATUS 11
#define DR34X_GPIO_LED_SIG1 12
#define DR34X_GPIO_LED_SIG2 13
#define DR34X_GPIO_LED_SIG3 14
#define DR34X_GPIO_LED_SIG4 15
#define DR34X_GPIO_LED_STATUS 11
#define DR344_GPIO_LED_LAN 17
#define DR344_GPIO_EXTERNAL_LNA0 18
#define DR344_GPIO_EXTERNAL_LNA1 19
#define DR344_GPIO_BTN_RESET 16
#define DR34X_GPIO_BTN_RESET 16
#define DR344_KEYS_POLL_INTERVAL 20 /* msecs */
#define DR344_KEYS_DEBOUNCE_INTERVAL (3 * DR344_KEYS_POLL_INTERVAL)
#define DR344_MAC0_OFFSET 0
#define DR344_MAC1_OFFSET 8
#define DR344_WMAC_CALDATA_OFFSET 0x1000
#define DR344_PCIE_CALDATA_OFFSET 0x5000
#define DR34X_MAC0_OFFSET 0
#define DR34X_MAC1_OFFSET 8
#define DR34X_WMAC_CALDATA_OFFSET 0x1000
static struct gpio_led dr342_leds_gpio[] __initdata = {
{
.name = "dr342:green:status",
.gpio = DR34X_GPIO_LED_STATUS,
.active_low = 1,
},
{
.name = "dr342:green:sig1",
.gpio = DR34X_GPIO_LED_SIG1,
.active_low = 1,
},
{
.name = "dr342:green:sig2",
.gpio = DR34X_GPIO_LED_SIG2,
.active_low = 1,
},
{
.name = "dr342:green:sig3",
.gpio = DR34X_GPIO_LED_SIG3,
.active_low = 1,
},
{
.name = "dr342:green:sig4",
.gpio = DR34X_GPIO_LED_SIG4,
.active_low = 1,
}
};
static struct gpio_led dr344_leds_gpio[] __initdata = {
{
@ -66,96 +94,82 @@ static struct gpio_led dr344_leds_gpio[] __initdata = {
},
{
.name = "dr344:green:status",
.gpio = DR344_GPIO_LED_STATUS,
.gpio = DR34X_GPIO_LED_STATUS,
.active_low = 1,
},
{
.name = "dr344:green:sig1",
.gpio = DR344_GPIO_LED_SIG1,
.gpio = DR34X_GPIO_LED_SIG1,
.active_low = 1,
},
{
.name = "dr344:green:sig2",
.gpio = DR344_GPIO_LED_SIG2,
.gpio = DR34X_GPIO_LED_SIG2,
.active_low = 1,
},
{
.name = "dr344:green:sig3",
.gpio = DR344_GPIO_LED_SIG3,
.gpio = DR34X_GPIO_LED_SIG3,
.active_low = 1,
},
{
.name = "dr344:green:sig4",
.gpio = DR344_GPIO_LED_SIG4,
.gpio = DR34X_GPIO_LED_SIG4,
.active_low = 1,
}
};
static struct gpio_keys_button dr344_gpio_keys[] __initdata = {
static struct gpio_keys_button dr34x_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = DR344_KEYS_DEBOUNCE_INTERVAL,
.gpio = DR344_GPIO_BTN_RESET,
.gpio = DR34X_GPIO_BTN_RESET,
.active_low = 1,
},
};
static struct at803x_platform_data dr344_at803x_data = {
static struct at803x_platform_data dr34x_at803x_data = {
.disable_smarteee = 1,
.enable_rgmii_rx_delay = 1,
.enable_rgmii_tx_delay = 1,
};
static struct mdio_board_info dr344_mdio0_info[] = {
static struct mdio_board_info dr34x_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 0,
.platform_data = &dr344_at803x_data,
.platform_data = &dr34x_at803x_data,
},
};
static void __init dr344_setup(void)
static void __init dr34x_setup(void)
{
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
u8 *mac = (u8 *) KSEG1ADDR(0x1f03f810);
ath79_register_m25p80(NULL);
ath79_gpio_direction_select(DR344_GPIO_LED_STATUS, true);
gpio_set_value(DR344_GPIO_LED_STATUS, 1);
ath79_gpio_output_select(DR344_GPIO_LED_STATUS, 0);
ath79_gpio_direction_select(DR34X_GPIO_LED_STATUS, true);
gpio_set_value(DR34X_GPIO_LED_STATUS, 1);
ath79_gpio_output_select(DR34X_GPIO_LED_STATUS, 0);
ath79_gpio_direction_select(DR344_GPIO_LED_LAN, true);
gpio_set_value(DR344_GPIO_LED_LAN, 1);
ath79_gpio_output_select(DR344_GPIO_LED_LAN, 0);
ath79_register_leds_gpio(-1, ARRAY_SIZE(dr344_leds_gpio),
dr344_leds_gpio);
ath79_register_gpio_keys_polled(-1, DR344_KEYS_POLL_INTERVAL,
ARRAY_SIZE(dr344_gpio_keys),
dr344_gpio_keys);
ARRAY_SIZE(dr34x_gpio_keys),
dr34x_gpio_keys);
ath79_register_usb();
ath79_wmac_set_ext_lna_gpio(0, DR344_GPIO_EXTERNAL_LNA0);
ath79_wmac_set_ext_lna_gpio(1, DR344_GPIO_EXTERNAL_LNA1);
ath79_register_wmac(art + DR344_WMAC_CALDATA_OFFSET, NULL);
ath79_register_wmac(art + DR34X_WMAC_CALDATA_OFFSET, NULL);
ath79_register_pci();
mdiobus_register_board_info(dr344_mdio0_info,
ARRAY_SIZE(dr344_mdio0_info));
mdiobus_register_board_info(dr34x_mdio0_info,
ARRAY_SIZE(dr34x_mdio0_info));
ath79_register_mdio(1, 0x0);
ath79_register_mdio(0, 0x0);
ath79_init_mac(ath79_eth0_data.mac_addr, mac + DR344_MAC0_OFFSET, 0);
ath79_init_mac(ath79_eth1_data.mac_addr, mac + DR344_MAC1_OFFSET, 0);
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
AR934X_ETH_CFG_SW_ONLY_MODE);
@ -167,13 +181,44 @@ static void __init dr344_setup(void)
ath79_eth0_pll_data.pll_100 = 0x0101;
ath79_eth0_pll_data.pll_10 = 0x1313;
ath79_init_mac(ath79_eth0_data.mac_addr, mac + DR34X_MAC0_OFFSET, 0);
ath79_register_eth(0);
}
static void __init dr342_setup(void)
{
dr34x_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(dr342_leds_gpio),
dr342_leds_gpio);
}
static void __init dr344_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f03f810);
dr34x_setup();
ath79_gpio_direction_select(DR344_GPIO_LED_LAN, true);
gpio_set_value(DR344_GPIO_LED_LAN, 1);
ath79_gpio_output_select(DR344_GPIO_LED_LAN, 0);
ath79_register_leds_gpio(-1, ARRAY_SIZE(dr344_leds_gpio),
dr344_leds_gpio);
ath79_wmac_set_ext_lna_gpio(0, DR344_GPIO_EXTERNAL_LNA0);
ath79_wmac_set_ext_lna_gpio(1, DR344_GPIO_EXTERNAL_LNA1);
ath79_register_mdio(1, 0x0);
/* GMAC1 is connected to the internal switch */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.speed = SPEED_1000;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_register_eth(0);
ath79_init_mac(ath79_eth1_data.mac_addr, mac + DR34X_MAC1_OFFSET, 0);
ath79_register_eth(1);
}
MIPS_MACHINE(ATH79_MACH_DR342, "DR342", "Wallys DR342", dr342_setup);
MIPS_MACHINE(ATH79_MACH_DR344, "DR344", "Wallys DR344", dr344_setup);

View File

@ -42,17 +42,17 @@
static struct gpio_led gl_ar150_leds_gpio[] __initdata = {
{
.name = "gl-ar150:wlan",
.name = "gl-ar150:orange:wlan",
.gpio = GL_AR150_GPIO_LED_WLAN,
.active_low = 0,
},
{
.name = "gl-ar150:lan",
.name = "gl-ar150:green:lan",
.gpio = GL_AR150_GPIO_LED_LAN,
.active_low = 0,
},
{
.name = "gl-ar150:wan",
.name = "gl-ar150:green:wan",
.gpio = GL_AR150_GPIO_LED_WAN,
.active_low = 0,
.default_state = 1,

View File

@ -58,7 +58,7 @@ static struct gpio_led gl_ar300m_leds_gpio[] __initdata = {
.active_low = 1,
},
{
.name = "gl-ar300m::green:lan",
.name = "gl-ar300m:green:lan",
.gpio = GL_AR300M_GPIO_LED_LAN,
.active_low = 1,
},

View File

@ -1,137 +0,0 @@
/*
* Comba MASELink AP2600-I board support
*
* Copyright (c) 2016 Weijie Gao <hackpascal@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#include <linux/pci.h>
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <linux/ath9k_platform.h>
#include <linux/platform_data/phy-at803x.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-ap9x-pci.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-nfc.h"
#include "dev-spi.h"
#include "dev-usb.h"
#include "dev-wmac.h"
#include "machtypes.h"
#define AP2600I_GPIO_LED_POWER_RED 11
#define AP2600I_GPIO_LED_POWER_GREEN 12
#define AP2600I_GPIO_LED_RUN 13
#define AP2600I_GPIO_LED_WLAN 14
#define AP2600I_GPIO_BUTTON_RESET 15
#define AP2600I_KEYS_POLL_INTERVAL 20 /* msecs */
#define AP2600I_KEYS_DEBOUNCE_INTERVAL (3 * AP2600I_KEYS_POLL_INTERVAL)
#define AP2600I_MAC0_OFFSET 0
#define AP2600I_WMAC_CALDATA_OFFSET 0x1000
#define AP2600I_PCIE_CALDATA_OFFSET 0x5000
static struct gpio_led ap2600i_leds_gpio[] __initdata = {
{
.name = "ap2600i:red:power",
.gpio = AP2600I_GPIO_LED_POWER_RED,
.active_low = 1,
},
{
.name = "ap2600i:green:power",
.gpio = AP2600I_GPIO_LED_POWER_GREEN,
.active_low = 1,
},
{
.name = "ap2600i:green:run",
.gpio = AP2600I_GPIO_LED_RUN,
.active_low = 1,
},
{
.name = "ap2600i:green:wlan",
.gpio = AP2600I_GPIO_LED_WLAN,
.active_low = 1,
}
};
static struct gpio_keys_button ap2600i_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = AP2600I_KEYS_DEBOUNCE_INTERVAL,
.gpio = AP2600I_GPIO_BUTTON_RESET,
.active_low = 1,
},
};
static struct at803x_platform_data ap2600i_ar8035_data = {
.enable_rgmii_rx_delay = 1,
.fixup_rgmii_tx_delay = 1,
};
static struct mdio_board_info ap2600i_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 4,
.platform_data = &ap2600i_ar8035_data,
},
};
static void __init ap2600i_setup(void)
{
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
ath79_register_m25p80(NULL);
ath79_register_leds_gpio(-1, ARRAY_SIZE(ap2600i_leds_gpio),
ap2600i_leds_gpio);
ath79_register_gpio_keys_polled(-1, AP2600I_KEYS_POLL_INTERVAL,
ARRAY_SIZE(ap2600i_gpio_keys),
ap2600i_gpio_keys);
ath79_register_wmac(art + AP2600I_WMAC_CALDATA_OFFSET, NULL);
ap91_pci_init(art + AP2600I_PCIE_CALDATA_OFFSET, NULL);
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
AR934X_ETH_CFG_SW_ONLY_MODE);
ath79_register_mdio(0, 0x0);
ath79_init_mac(ath79_eth0_data.mac_addr, art + AP2600I_MAC0_OFFSET, 0);
mdiobus_register_board_info(ap2600i_mdio0_info,
ARRAY_SIZE(ap2600i_mdio0_info));
/* GMAC0 is connected to an AR8035 Gigabit PHY */
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(4);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_pll_data.pll_1000 = 0x0e000000;
ath79_eth0_pll_data.pll_100 = 0x0101;
ath79_eth0_pll_data.pll_10 = 0x1313;
ath79_register_eth(0);
}
MIPS_MACHINE(ATH79_MACH_MASELINK_AP2600I, "AP2600I", "Comba MASELink AP2600-I",
ap2600i_setup);

View File

@ -1,147 +0,0 @@
/*
* Comba MASELink AP2600-IFM board support
*
* Copyright (c) 2017 Weijie Gao <hackpascal@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#include <linux/pci.h>
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "pci.h"
#include "common.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-spi.h"
#include "dev-usb.h"
#include "machtypes.h"
#include "nvram.h"
#define AP2600IFM_GPIO_LED_RF1 2
#define AP2600IFM_GPIO_LED_RF1_TOP 7
#define AP2600IFM_GPIO_LED_RF2 4
#define AP2600IFM_GPIO_LED_RF2_TOP 5
#define AP2600IFM_GPIO_LED_D24 0
#define AP2600IFM_GPIO_LED_D24_TOP 3
#define AP2600IFM_GPIO_BUTTON_RESET 8
#define AP2600IFM_KEYS_POLL_INTERVAL 20 /* msecs */
#define AP2600IFM_KEYS_DEBOUNCE_INTERVAL (3 * AP2600IFM_KEYS_POLL_INTERVAL)
#define AP2600IFM_NVRAM_ADDR 0x1f040004
#define AP2600IFM_NVRAM_SIZE 0x3fffc
static struct gpio_led ap2600ifm_leds_gpio[] __initdata = {
{
.name = "ap2600ifm:green:rf1",
.gpio = AP2600IFM_GPIO_LED_RF1,
.active_low = 1,
},
{
.name = "ap2600ifm:green:rf1top",
.gpio = AP2600IFM_GPIO_LED_RF1_TOP,
.active_low = 1,
},
{
.name = "ap2600ifm:green:rf2",
.gpio = AP2600IFM_GPIO_LED_RF2,
.active_low = 1,
},
{
.name = "ap2600ifm:green:rf2top",
.gpio = AP2600IFM_GPIO_LED_RF2_TOP,
.active_low = 1,
},
{
.name = "ap2600ifm:green:d24",
.gpio = AP2600IFM_GPIO_LED_D24,
.active_low = 1,
},
{
.name = "ap2600ifm:green:d24top",
.gpio = AP2600IFM_GPIO_LED_D24_TOP,
.active_low = 1,
}
};
static struct gpio_keys_button ap2600ifm_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = AP2600IFM_KEYS_DEBOUNCE_INTERVAL,
.gpio = AP2600IFM_GPIO_BUTTON_RESET,
.active_low = 1,
},
};
static struct mdio_board_info ap2600ifm_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 20,
},
};
static void ap2600ifm_get_mac(const char *name, char *mac)
{
u8 *nvram = (u8 *) KSEG1ADDR(AP2600IFM_NVRAM_ADDR);
int err;
err = ath79_nvram_parse_mac_addr(nvram, AP2600IFM_NVRAM_SIZE,
name, mac);
if (err)
pr_err("%s not found in environment variables\n", name);
}
static void __init ap2600ifm_setup(void)
{
ath79_register_m25p80(NULL);
ath79_register_leds_gpio(-1, ARRAY_SIZE(ap2600ifm_leds_gpio),
ap2600ifm_leds_gpio);
ath79_register_gpio_keys_polled(-1, AP2600IFM_KEYS_POLL_INTERVAL,
ARRAY_SIZE(ap2600ifm_gpio_keys),
ap2600ifm_gpio_keys);
ath79_register_pci();
ath79_register_mdio(0, 0);
mdiobus_register_board_info(ap2600ifm_mdio0_info,
ARRAY_SIZE(ap2600ifm_mdio0_info));
ap2600ifm_get_mac("macaddr=", ath79_eth0_data.mac_addr);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(20);
ath79_eth0_data.speed = SPEED_1000;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_pll_data.pll_1000 = 0x00110000;
ath79_eth0_pll_data.pll_100 = 0x0001099;
ath79_eth0_pll_data.pll_10 = 0x00991099;
ath79_register_eth(0);
}
MIPS_MACHINE(ATH79_MACH_MASELINK_AP2600IFM, "AP2600IFM", "Comba MASELink AP2600-IFM",
ap2600ifm_setup);

View File

@ -1,143 +0,0 @@
/*
* Mercury MW316R v1
*
* Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
* Copyright (C) 2017 Weijie Gao <hackpascal@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-wmac.h"
#include "dev-usb.h"
#include "machtypes.h"
#define MW316RV1_GPIO_LED_SYS 13
#define MW316RV1_GPIO_LED_WAN 4
#define MW316RV1_GPIO_LED_LAN1 11
#define MW316RV1_GPIO_LED_LAN2 14
#define MW316RV1_GPIO_LED_LAN3 15
#define MW316RV1_GPIO_LED_LAN4 16
#define MW316RV1_GPIO_LED_TURBO 17
#define MW316RV1_GPIO_BTN_RESET 12
#define MW316RV1_GPIO_BTN_TURBO 1
#define MW316RV1_KEYS_POLL_INTERVAL 20 /* msecs */
#define MW316RV1_KEYS_DEBOUNCE_INTERVAL (3 * MW316RV1_KEYS_POLL_INTERVAL)
static const char *mw316r_v1_part_probes[] = {
"tp-link",
NULL,
};
static struct flash_platform_data mw316r_v1_flash_data = {
.part_probes = mw316r_v1_part_probes,
};
static struct gpio_led mw316r_v1_leds_gpio[] __initdata = {
{
.name = "mercury:green:wan",
.gpio = MW316RV1_GPIO_LED_WAN,
.active_low = 1,
}, {
.name = "mercury:green:lan1",
.gpio = MW316RV1_GPIO_LED_LAN1,
.active_low = 1,
}, {
.name = "mercury:green:lan2",
.gpio = MW316RV1_GPIO_LED_LAN2,
.active_low = 1,
}, {
.name = "mercury:green:lan3",
.gpio = MW316RV1_GPIO_LED_LAN3,
.active_low = 1,
}, {
.name = "mercury:green:lan4",
.gpio = MW316RV1_GPIO_LED_LAN4,
.active_low = 1,
}, {
.name = "mercury:green:system",
.gpio = MW316RV1_GPIO_LED_SYS,
.active_low = 1,
}, {
.name = "mercury:green:turbo",
.gpio = MW316RV1_GPIO_LED_TURBO,
.active_low = 1,
},
};
static struct gpio_keys_button mw316r_v1_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = MW316RV1_KEYS_DEBOUNCE_INTERVAL,
.gpio = MW316RV1_GPIO_BTN_RESET,
.active_low = 1,
}, {
.desc = "turbo",
.type = EV_KEY,
.code = BTN_0,
.debounce_interval = MW316RV1_KEYS_DEBOUNCE_INTERVAL,
.gpio = MW316RV1_GPIO_BTN_TURBO,
.active_low = 1,
}
};
static void __init mw316r_v1_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
ath79_register_m25p80(&mw316r_v1_flash_data);
ath79_register_leds_gpio(-1, ARRAY_SIZE(mw316r_v1_leds_gpio),
mw316r_v1_leds_gpio);
ath79_register_gpio_keys_polled(1, MW316RV1_KEYS_POLL_INTERVAL,
ARRAY_SIZE(mw316r_v1_gpio_keys),
mw316r_v1_gpio_keys);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
/* WAN */
ath79_switch_data.phy_poll_mask |= BIT(4);
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
ath79_register_eth(0);
/* LAN */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
ath79_register_eth(1);
ath79_init_mac(tmpmac, mac, 1);
ath79_register_wmac(ee, tmpmac);
ath79_register_usb();
}
MIPS_MACHINE(ATH79_MACH_MW316R_V1, "MW316R-v1", "Mercury MW316R v1",
mw316r_v1_setup);

View File

@ -11,12 +11,7 @@
#include <linux/platform_device.h>
#include <linux/irq.h>
#include <linux/version.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,0)
#include <linux/mdio-gpio.h>
#else
#include <linux/platform_data/mdio-gpio.h>
#endif
#include <linux/mmc/host.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>

View File

@ -195,7 +195,9 @@ static int rb922gs_nand_scan_fixup(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct nand_chip *chip = mtd->priv;
#endif
#else
struct nand_chip *chip = mtd_to_nand(mtd);
#endif /* < 4.6.0 */
if (mtd->writesize == 512) {
/*
@ -209,6 +211,8 @@ static int rb922gs_nand_scan_fixup(struct mtd_info *mtd)
#endif
}
chip->options = NAND_NO_SUBPAGE_WRITE;
return 0;
}
@ -252,7 +256,7 @@ static void __init rb922gs_setup(void)
if (!info)
return;
scnprintf(buf, sizeof(buf), "Mikrotik RouterBOARD %s",
scnprintf(buf, sizeof(buf), "MikroTik RouterBOARD %s",
(info->board_name) ? info->board_name : "");
mips_set_machine_name(buf);
@ -272,9 +276,16 @@ static void __init rb922gs_setup(void)
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(RB922_PHY_ADDR);
ath79_eth0_pll_data.pll_10 = 0x81001313;
ath79_eth0_pll_data.pll_100 = 0x81000101;
ath79_eth0_pll_data.pll_1000 = 0x8f000000;
if (strcmp(info->board_name, "921GS-5HPacD r2") == 0) {
ath79_eth0_pll_data.pll_10 = 0xa0001313;
ath79_eth0_pll_data.pll_100 = 0xa0000101;
ath79_eth0_pll_data.pll_1000 = 0x8f000000;
}
else {
ath79_eth0_pll_data.pll_10 = 0x81001313;
ath79_eth0_pll_data.pll_100 = 0x81000101;
ath79_eth0_pll_data.pll_1000 = 0x8f000000;
}
ath79_register_eth(0);

View File

@ -207,7 +207,11 @@ static const struct mtd_ooblayout_ops rb95x_nand_ecclayout_ops = {
static int rb95x_nand_scan_fixup(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct nand_chip *chip = mtd->priv;
#else
struct nand_chip *chip = mtd_to_nand(mtd);
#endif /* < 4.6.0 */
if (mtd->writesize == 512) {
/*

View File

@ -1,6 +1,7 @@
/*
* MikroTik SPI-NOR RouterBOARDs support
*
* - MikroTik RouterBOARD mAP 2nD
* - MikroTik RouterBOARD mAP L-2nD
* - MikroTik RouterBOARD 941L-2nD
* - MikroTik RouterBOARD 951Ui-2nD
@ -10,11 +11,10 @@
* - MikroTik RouterBOARD 750P-PBr2
* - MikroTik RouterBOARD 750 r2
* - MikroTik RouterBOARD LHG 5nD
* - MikroTik RouterBOARD wAP2nD
*
* Preliminary support for the following hardware
* - MikroTik RouterBOARD wAP2nD
* - MikroTik RouterBOARD cAP2nD
* - MikroTik RouterBOARD mAP2nD
* Furthermore, the cAP lite (cAPL2nD) appears to feature the exact same
* hardware as the mAP L-2nD. It is unknown if they share the same board
* identifier.
@ -405,7 +405,7 @@ static struct gpio_led rbmap_leds[] __initdata = {
.active_low = 1,
}, {
.name = "rb:green:eth2",
.gpio = RBMAP_GPIO_LED_WLAN,
.gpio = RBMAP_GPIO_LED_LAN2,
.active_low = 1,
}, {
.name = "rb:red:poe_out",
@ -488,6 +488,7 @@ static struct gpio_keys_button rblhg_gpio_keys[] __initdata = {
static struct gen_74x164_chip_platform_data rbspi_ssr_data = {
.base = RBSPI_SSR_GPIO_BASE,
.num_registers = 1,
};
/* the spi-ath79 driver can only natively handle CS0. Other CS are bit-banged */
@ -872,7 +873,7 @@ static void __init rblhg_setup(void)
}
/*
* Init the wAP hardware (EXPERIMENTAL).
* Init the wAP hardware.
* The wAP 2nD has a single ethernet port.
*/
static void __init rbwap_setup(void)
@ -888,6 +889,11 @@ static void __init rbwap_setup(void)
rbspi_network_setup(flags, 0, 1, 0);
ath79_register_leds_gpio(-1, ARRAY_SIZE(rbwap_leds), rbwap_leds);
/* wAP has a single reset button as GPIO 16 */
ath79_register_gpio_keys_polled(-1, RBSPI_KEYS_POLL_INTERVAL,
ARRAY_SIZE(rbspi_gpio_keys_reset16),
rbspi_gpio_keys_reset16);
}
/*
@ -914,13 +920,14 @@ static void __init rbcap_setup(void)
}
/*
* Init the mAP hardware (EXPERIMENTAL).
* The mAP 2nD has two ethernet ports, PoE output and an SSR for LED
* multiplexing.
* Init the mAP hardware.
* The mAP 2nD has two ethernet ports, PoE output, SSR for LED
* multiplexing and USB port.
*/
static void __init rbmap_setup(void)
{
u32 flags = RBSPI_HAS_WLAN0 | RBSPI_HAS_SSR | RBSPI_HAS_POE;
u32 flags = RBSPI_HAS_USB | RBSPI_HAS_WLAN0 |
RBSPI_HAS_SSR | RBSPI_HAS_POE;
if (rbspi_platform_setup())
return;
@ -933,10 +940,22 @@ static void __init rbmap_setup(void)
if (flags & RBSPI_HAS_POE)
gpio_request_one(RBMAP_GPIO_POE_POWER,
GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
"POE power");
/* USB power GPIO is inverted, set GPIOF_ACTIVE_LOW for consistency */
if (flags & RBSPI_HAS_USB)
gpio_request_one(RBMAP_GPIO_USB_POWER,
GPIOF_OUT_INIT_HIGH | GPIOF_ACTIVE_LOW |
GPIOF_EXPORT_DIR_FIXED,
"USB power");
ath79_register_leds_gpio(-1, ARRAY_SIZE(rbmap_leds), rbmap_leds);
/* mAP 2nD has a single reset button as gpio 16 */
ath79_register_gpio_keys_polled(-1, RBSPI_KEYS_POLL_INTERVAL,
ARRAY_SIZE(rbspi_gpio_keys_reset16),
rbspi_gpio_keys_reset16);
}

View File

@ -1,116 +0,0 @@
/*
* GRENTECH SGR-W500-EBI(FIT) v3.0 board support
*
* Copyright (c) 2017 Weijie Gao <hackpascal@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#include <linux/pci.h>
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "pci.h"
#include "common.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-spi.h"
#include "dev-usb.h"
#include "machtypes.h"
#define GRENTECH_GPIO_LED_STATUS 5
#define GRENTECH_GPIO_LED_WAN 4
#define GRENTECH_GPIO_LED_WLAN 3
#define GRENTECH_GPIO_BUTTON_RESET 8
#define GRENTECH_KEYS_POLL_INTERVAL 20 /* msecs */
#define GRENTECH_KEYS_DEBOUNCE_INTERVAL (3 * GRENTECH_KEYS_POLL_INTERVAL)
static struct gpio_led grentech_leds_gpio[] __initdata = {
{
.name = "grentech:green:status",
.gpio = GRENTECH_GPIO_LED_STATUS,
.active_low = 1,
},
{
.name = "grentech:green:wan",
.gpio = GRENTECH_GPIO_LED_WAN,
.active_low = 0,
},
{
.name = "grentech:green:wlan",
.gpio = GRENTECH_GPIO_LED_WLAN,
.active_low = 0,
}
};
static struct gpio_keys_button grentech_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = GRENTECH_KEYS_DEBOUNCE_INTERVAL,
.gpio = GRENTECH_GPIO_BUTTON_RESET,
.active_low = 1,
},
};
static struct mdio_board_info grentech_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 1,
},
};
static void __init grentech_setup(void)
{
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
ath79_register_m25p80(NULL);
ath79_register_leds_gpio(-1, ARRAY_SIZE(grentech_leds_gpio),
grentech_leds_gpio);
ath79_register_gpio_keys_polled(-1, GRENTECH_KEYS_POLL_INTERVAL,
ARRAY_SIZE(grentech_gpio_keys),
grentech_gpio_keys);
ath79_register_pci();
ath79_register_mdio(0, 0);
mdiobus_register_board_info(grentech_mdio0_info,
ARRAY_SIZE(grentech_mdio0_info));
ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(1);
ath79_eth0_data.speed = SPEED_1000;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_pll_data.pll_1000 = 0x00110000;
ath79_eth0_pll_data.pll_100 = 0x0001099;
ath79_eth0_pll_data.pll_10 = 0x00991099;
ath79_register_eth(0);
}
MIPS_MACHINE(ATH79_MACH_SGR_W500_EBI_FIT_V3, "SGRW500EBIFITV3", "GRENTECH SGR-W500-EBI(FIT) v3.0",
grentech_setup);

View File

@ -1,134 +0,0 @@
/*
* GRENTECH SGR-W500-N85b v2.0 board support
*
* Copyright (c) 2017 Weijie Gao <hackpascal@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#include <linux/pci.h>
#include <linux/phy.h>
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <linux/ath9k_platform.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-ap9x-pci.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-spi.h"
#include "dev-wmac.h"
#include "machtypes.h"
#define GRENTECH_GPIO_LED_STATUS 21
#define GRENTECH_GPIO_LED_WLAN2G 20
#define GRENTECH_GPIO_BUTTON_RESET 3
#define GRENTECH_GPIO_RTL8211E_RESET_L 11
#define GRENTECH_GPIO_EXTERNAL_LNA0 18
#define GRENTECH_GPIO_EXTERNAL_LNA1 19
#define GRENTECH_KEYS_POLL_INTERVAL 20 /* msecs */
#define GRENTECH_KEYS_DEBOUNCE_INTERVAL (3 * GRENTECH_KEYS_POLL_INTERVAL)
#define GRENTECH_MAC_OFFSET 0
#define GRENTECH_WMAC_CALDATA_OFFSET 0x1000
#define GRENTECH_PCIE_CALDATA_OFFSET 0x5000
static struct gpio_led grentech_leds_gpio[] __initdata = {
{
.name = "grentech:green:status",
.gpio = GRENTECH_GPIO_LED_STATUS,
.active_low = 1,
},
{
.name = "grentech:green:wlan2g",
.gpio = GRENTECH_GPIO_LED_WLAN2G,
.active_low = 1,
}
};
static struct gpio_keys_button grentech_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = GRENTECH_KEYS_DEBOUNCE_INTERVAL,
.gpio = GRENTECH_GPIO_BUTTON_RESET,
.active_low = 1,
},
};
static struct mdio_board_info grentech_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 1,
},
};
static void __init grentech_setup(void)
{
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
u8 tmpmac[ETH_ALEN];
ath79_register_m25p80(NULL);
ath79_register_leds_gpio(-1, ARRAY_SIZE(grentech_leds_gpio),
grentech_leds_gpio);
ath79_register_gpio_keys_polled(-1, GRENTECH_KEYS_POLL_INTERVAL,
ARRAY_SIZE(grentech_gpio_keys),
grentech_gpio_keys);
gpio_request_one(GRENTECH_GPIO_RTL8211E_RESET_L,
GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
"RTL8211E reset pin");
ath79_wmac_set_ext_lna_gpio(0, GRENTECH_GPIO_EXTERNAL_LNA0);
ath79_wmac_set_ext_lna_gpio(1, GRENTECH_GPIO_EXTERNAL_LNA1);
ath79_init_mac(tmpmac, art + GRENTECH_MAC_OFFSET, 1);
ath79_register_wmac(art + GRENTECH_WMAC_CALDATA_OFFSET, tmpmac);
/* AR9382 */
ath79_init_mac(tmpmac, art + GRENTECH_MAC_OFFSET, 2);
ap9x_pci_setup_wmac_led_pin(0, 6);
ap91_pci_init(art + GRENTECH_PCIE_CALDATA_OFFSET, tmpmac);
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
ath79_register_mdio(0, 0x0);
ath79_init_mac(ath79_eth0_data.mac_addr, art + GRENTECH_MAC_OFFSET, 0);
mdiobus_register_board_info(grentech_mdio0_info,
ARRAY_SIZE(grentech_mdio0_info));
/* GMAC0 is connected to a RTL8211E Gigabit PHY */
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(1);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_pll_data.pll_1000 = 0x46000000;
ath79_eth0_pll_data.pll_100 = 0x0101;
ath79_eth0_pll_data.pll_10 = 0x1313;
ath79_register_eth(0);
}
MIPS_MACHINE(ATH79_MACH_SGR_W500_N85B_V2, "SGRW500N85BV2", "GRENTECH SGR-W500-N85b v2.0",
grentech_setup);

View File

@ -1,5 +1,5 @@
/*
* TP-LINK TL-WA901ND v4 board
* TP-LINK TL-WA901ND v4, v5 board
*
* Copyright (C) 2015 Matthias Schiffer <mschiffer@universe-factory.net>
* Copyright (C) 2016 Tiziano Bacocco <tizbac2@gmail.com>
@ -110,3 +110,6 @@ static void __init TL_WA901ND_V4_setup(void)
MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V4, "TL-WA901ND-v4", "TP-LINK TL-WA901ND v4",
TL_WA901ND_V4_setup);
MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V5, "TL-WA901ND-v5", "TP-LINK TL-WA901ND v5",
TL_WA901ND_V4_setup);

View File

@ -1,140 +0,0 @@
/*
* TP-LINK TL-WDR6500 v6
*
* Copyright (C) 2015 Weijie Gao <hackpascal@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/pci.h>
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-eth.h"
#include "dev-ap9x-pci.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-usb.h"
#include "dev-wmac.h"
#include "machtypes.h"
#include "pci.h"
#define TL_WDR6500_V6_GPIO_LED_SYS 21
#define TL_WDR6500_V6_GPIO_LED_WAN 18
#define TL_WDR6500_V6_GPIO_LED_LAN1 17
#define TL_WDR6500_V6_GPIO_LED_LAN2 16
#define TL_WDR6500_V6_GPIO_LED_LAN3 15
#define TL_WDR6500_V6_GPIO_LED_LAN4 14
#define TL_WDR6500_V6_GPIO_BTN_RESET 1
#define TL_WDR6500_V6_KEYS_POLL_INTERVAL 20 /* msecs */
#define TL_WDR6500_V6_KEYS_DEBOUNCE_INTERVAL (3 * TL_WDR6500_V6_KEYS_POLL_INTERVAL)
#define TL_WDR6500_V6_WMAC_CALDATA_OFFSET 0x1000
#define TL_WDR6500_V6_PCIE_CALDATA_OFFSET 0x2000
static const char *tl_wdr6500_v6_part_probes[] = {
"tp-link-64k",
NULL,
};
static struct flash_platform_data tl_wdr6500_v6_flash_data = {
.part_probes = tl_wdr6500_v6_part_probes,
};
static struct gpio_led tl_wdr6500_v6_leds_gpio[] __initdata = {
{
.name = "tp-link:green:lan1",
.gpio = TL_WDR6500_V6_GPIO_LED_LAN1,
.active_low = 1,
}, {
.name = "tp-link:green:lan2",
.gpio = TL_WDR6500_V6_GPIO_LED_LAN2,
.active_low = 1,
}, {
.name = "tp-link:green:lan3",
.gpio = TL_WDR6500_V6_GPIO_LED_LAN3,
.active_low = 1,
}, {
.name = "tp-link:green:lan4",
.gpio = TL_WDR6500_V6_GPIO_LED_LAN4,
.active_low = 1,
}, {
.name = "tp-link:green:wan",
.gpio = TL_WDR6500_V6_GPIO_LED_WAN,
.active_low = 1,
}, {
.name = "tp-link:white:system",
.gpio = TL_WDR6500_V6_GPIO_LED_SYS,
.active_low = 0,
},
};
static struct gpio_keys_button tl_wdr6500_v6_gpio_keys[] __initdata = {
{
.desc = "Reset button",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = TL_WDR6500_V6_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WDR6500_V6_GPIO_BTN_RESET,
.active_low = 1,
}
};
static void __init tl_ap151_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1fff080d);
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
u8 tmpmac[ETH_ALEN];
ath79_register_m25p80(&tl_wdr6500_v6_flash_data);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(1, 0x0);
/* WAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_switch_data.phy_poll_mask = BIT(4);
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.phy_mask = BIT(4);
ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
/* LAN */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_eth1_data.speed = SPEED_1000;
ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
ath79_register_eth(1);
ath79_init_mac(tmpmac, mac, -1);
ath79_register_wmac(art + TL_WDR6500_V6_WMAC_CALDATA_OFFSET, tmpmac);
ap91_pci_init(art + TL_WDR6500_V6_PCIE_CALDATA_OFFSET, NULL);
}
static void __init tl_wdr6500_v6_setup(void)
{
tl_ap151_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wdr6500_v6_leds_gpio),
tl_wdr6500_v6_leds_gpio);
ath79_register_gpio_keys_polled(1, TL_WDR6500_V6_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wdr6500_v6_gpio_keys),
tl_wdr6500_v6_gpio_keys);
}
MIPS_MACHINE(ATH79_MACH_TL_WDR6500_V6, "TL-WDR6500-v6", "TP-LINK TL-WDR6500 v6",
tl_wdr6500_v6_setup);

View File

@ -5,6 +5,7 @@
* Copyright (C) 2016 Matthias Schiffer <mschiffer@universe-factory.net>
* Copyright (C) 2016 Andreas Ziegler <github@andreas-ziegler.de>
* Copyright (C) 2016 Ludwig Thomeczek <ledesrc@wxorx.net>
* Copyright (C) 2017 Tim Thorpe <tim@tfthorpe.net>
*
* Derived from: mach-dir-869-a1.c
*
@ -62,6 +63,8 @@
#define TL_WR1043_V4_EEPROM_ADDR 0x1fff0000
#define TL_WR1043_V4_WMAC_CALDATA_OFFSET 0x1000
#define TL_WR1043N_V5_MAC_LOCATION 0x1ff00008
static struct gpio_led tl_wr1043nd_v4_leds_gpio[] __initdata = {
{
.name = "tp-link:green:wps",
@ -188,3 +191,82 @@ static void __init tl_wr1043nd_v4_setup(void)
MIPS_MACHINE(ATH79_MACH_TL_WR1043ND_V4, "TL-WR1043ND-v4",
"TP-LINK TL-WR1043ND v4", tl_wr1043nd_v4_setup);
static struct gpio_led tl_wr1043n_v5_leds_gpio[] __initdata = {
{
.name = "tp-link:green:wps",
.gpio = TL_WR1043_V4_GPIO_LED_WPS,
.active_low = 1,
},
{
.name = "tp-link:green:system",
.gpio = TL_WR1043_V4_GPIO_LED_SYSTEM,
.active_low = 1,
},
{
.name = "tp-link:green:wlan",
.gpio = TL_WR1043_V4_GPIO_LED_WLAN,
.active_low = 1,
},
{
.name = "tp-link:green:wan",
.gpio = TL_WR1043_V4_GPIO_LED_WAN,
.active_low = 1,
},
{
.name = "tp-link:green:lan1",
.gpio = TL_WR1043_V4_GPIO_LED_LAN1,
.active_low = 1,
},
{
.name = "tp-link:green:lan2",
.gpio = TL_WR1043_V4_GPIO_LED_LAN2,
.active_low = 1,
},
{
.name = "tp-link:green:lan3",
.gpio = TL_WR1043_V4_GPIO_LED_LAN3,
.active_low = 1,
},
{
.name = "tp-link:green:lan4",
.gpio = TL_WR1043_V4_GPIO_LED_LAN4,
.active_low = 1,
},
};
/* The 1043Nv5 is identical to the 1043NDv4,
* only missing the usb and small firmware layout changes */
static void __init tl_wr1043nv5_setup(void)
{
u8 *art = (u8 *) KSEG1ADDR(TL_WR1043_V4_EEPROM_ADDR);
u8 *mac = (u8 *) KSEG1ADDR(TL_WR1043N_V5_MAC_LOCATION);
ath79_register_m25p80(NULL);
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043n_v5_leds_gpio),
tl_wr1043n_v5_leds_gpio);
ath79_register_gpio_keys_polled(-1, TL_WR1043_V4_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr1043nd_v4_gpio_keys),
tl_wr1043nd_v4_gpio_keys);
platform_device_register(&ath79_mdio0_device);
mdiobus_register_board_info(tl_wr1043nd_v4_mdio0_info,
ARRAY_SIZE(tl_wr1043nd_v4_mdio0_info));
ath79_register_wmac(art + TL_WR1043_V4_WMAC_CALDATA_OFFSET, mac);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
/* GMAC0 is connected to an AR8337 switch */
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
ath79_eth0_data.speed = SPEED_1000;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.phy_mask = BIT(0);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_register_eth(0);
}
MIPS_MACHINE(ATH79_MACH_TL_WR1043N_V5, "TL-WR1043N-v5", "TP-LINK TL-WR1043N v5",
tl_wr1043nv5_setup);

View File

@ -1,97 +0,0 @@
/*
* TP-LINK TL-WR802N v2
*
* Copyright (C) 2016 Thomas Roberts <tom.p.roberts@gmail.com <mailto:tom.p.roberts@gmail.com>>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-wmac.h"
#include "machtypes.h"
#define TL_WR802N_V2_GPIO_LED_SYSTEM 13
#define TL_WR802N_V2_GPIO_BTN_RESET 11
#define TL_WR802N_V2_KEYS_POLL_INTERVAL 20 /* msecs */
#define TL_WR802N_V2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR802N_V2_KEYS_POLL_INTERVAL)
static const char *tl_wr802n_v2_part_probes[] = {
"tp-link",
NULL,
};
static struct flash_platform_data tl_wr802n_v2_flash_data = {
.part_probes = tl_wr802n_v2_part_probes,
};
static struct gpio_led tl_wr802n_v2_leds_gpio[] __initdata = {
{
.name = "tl-wr802n-v2:green:system",
.gpio = TL_WR802N_V2_GPIO_LED_SYSTEM,
.active_low = 1,
},
};
static struct gpio_keys_button tl_wr802n_v2_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = TL_WR802N_V2_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR802N_V2_GPIO_BTN_RESET,
.active_low = 0,
}
};
static void __init tl_ap143_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
ath79_register_m25p80(&tl_wr802n_v2_flash_data);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
/* LAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
ath79_init_mac(tmpmac, mac, 0);
ath79_register_wmac(ee, tmpmac);
};
static void __init tl_wr802n_v2_setup(void)
{
tl_ap143_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr802n_v2_leds_gpio),
tl_wr802n_v2_leds_gpio);
ath79_register_gpio_keys_polled(1, TL_WR802N_V2_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr802n_v2_gpio_keys),
tl_wr802n_v2_gpio_keys);
}
MIPS_MACHINE(ATH79_MACH_TL_WR802N_V2, "TL-WR802N-v2", "TP-LINK TL-WR802N v2",
tl_wr802n_v2_setup);

View File

@ -1,7 +1,8 @@
/*
* TP-LINK TL-WR802N v1
* TP-LINK TL-WR802N v1, v2
*
* Copyright (C) 2015 Rick Pannen <pannen@gmail.com <mailto:pannen@gmail.com>>
* Copyright (C) 2016 Thomas Roberts <tom.p.roberts@gmail.com <mailto:tom.p.roberts@gmail.com>>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
@ -22,77 +23,95 @@
#include "dev-wmac.h"
#include "machtypes.h"
#define TL_WR802N_V1_GPIO_LED_SYSTEM 13
#define TL_WR802N_V1_GPIO_BTN_RESET 11
#define TL_WR802N_GPIO_LED_SYSTEM 13
#define TL_WR802N_GPIO_BTN_RESET 11
#define TL_WR802N_V1_KEYS_POLL_INTERVAL 20 /* msecs */
#define TL_WR802N_V1_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR802N_V1_KEYS_POLL_INTERVAL)
#define TL_WR802N_KEYS_POLL_INTERVAL 20 /* msecs */
#define TL_WR802N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR802N_KEYS_POLL_INTERVAL)
static const char *tl_wr802n_v1_part_probes[] = {
static const char *tl_wr802n_part_probes[] = {
"tp-link",
NULL,
};
static struct flash_platform_data tl_wr802n_v1_flash_data = {
.part_probes = tl_wr802n_v1_part_probes,
static struct flash_platform_data tl_wr802n_flash_data = {
.part_probes = tl_wr802n_part_probes,
};
static struct gpio_led tl_wr802n_v1_leds_gpio[] __initdata = {
{
.name = "tp-link:blue:system",
.gpio = TL_WR802N_V1_GPIO_LED_SYSTEM,
.gpio = TL_WR802N_GPIO_LED_SYSTEM,
.active_low = 1,
},
};
static struct gpio_keys_button tl_wr802n_v1_gpio_keys[] __initdata = {
static struct gpio_led tl_wr802n_v2_leds_gpio[] __initdata = {
{
.name = "tl-wr802n-v2:green:system",
.gpio = TL_WR802N_GPIO_LED_SYSTEM,
.active_low = 1,
},
};
static struct gpio_keys_button tl_wr802n_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = TL_WR802N_V1_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR802N_V1_GPIO_BTN_RESET,
.debounce_interval = TL_WR802N_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR802N_GPIO_BTN_RESET,
.active_low = 0,
}
};
static void __init tl_ap143_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
ath79_register_m25p80(&tl_wr802n_v1_flash_data);
ath79_register_m25p80(&tl_wr802n_flash_data);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
ath79_register_mdio(0, 0x0);
/* LAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
/* LAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
ath79_init_mac(tmpmac, mac, 0);
ath79_register_wmac(ee, tmpmac);
};
ath79_init_mac(tmpmac, mac, 0);
ath79_register_wmac(ee, tmpmac);
ath79_register_gpio_keys_polled(1, TL_WR802N_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr802n_gpio_keys),
tl_wr802n_gpio_keys);
}
static void __init tl_wr802n_v1_setup(void)
{
tl_ap143_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr802n_v1_leds_gpio),
tl_wr802n_v1_leds_gpio);
tl_wr802n_v1_leds_gpio);
}
ath79_register_gpio_keys_polled(1, TL_WR802N_V1_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr802n_v1_gpio_keys),
tl_wr802n_v1_gpio_keys);
static void __init tl_wr802n_v2_setup(void)
{
tl_ap143_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr802n_v2_leds_gpio),
tl_wr802n_v2_leds_gpio);
}
MIPS_MACHINE(ATH79_MACH_TL_WR802N_V1, "TL-WR802N-v1", "TP-LINK TL-WR802N v1",
tl_wr802n_v1_setup);
MIPS_MACHINE(ATH79_MACH_TL_WR802N_V2, "TL-WR802N-v2", "TP-LINK TL-WR802N v2",
tl_wr802n_v2_setup);

View File

@ -88,27 +88,20 @@ static struct gpio_keys_button tl_wr810n_gpio_keys[] __initdata = {
},
};
static void __init tl_wr810n_setup(void)
static void __init tl_ap143_setup(int lan_mac_offset)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_m25p80(&tl_wr810n_flash_data);
ath79_register_leds_gpio(-1,
ARRAY_SIZE(tl_wr810n_leds_gpio),
tl_wr810n_leds_gpio);
ath79_register_gpio_keys_polled(-1,
TL_WR810N_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr810n_gpio_keys),
tl_wr810n_gpio_keys);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
/* WAN */
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
@ -116,20 +109,41 @@ static void __init tl_wr810n_setup(void)
/* LAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_eth1_data.speed = SPEED_1000;
ath79_switch_data.phy_poll_mask |= BIT(4);
ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
ath79_init_mac(ath79_eth1_data.mac_addr, mac, lan_mac_offset);
ath79_register_eth(1);
ath79_register_wmac(art + TL_WR810N_WMAC_CALDATA_OFFSET, mac);
ath79_register_leds_gpio(-1,
ARRAY_SIZE(tl_wr810n_leds_gpio),
tl_wr810n_leds_gpio);
ath79_register_gpio_keys_polled(-1,
TL_WR810N_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr810n_gpio_keys),
tl_wr810n_gpio_keys);
}
static void __init tl_wr810n_setup(void)
{
tl_ap143_setup(-1);
gpio_request_one(TL_WR810N_GPIO_USB_POWER,
GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
"USB power");
ath79_register_usb();
}
static void __init tl_wr810n_v2_setup(void)
{
tl_ap143_setup(0);
}
MIPS_MACHINE(ATH79_MACH_TL_WR810N, "TL-WR810N", "TP-LINK TL-WR810N",
tl_wr810n_setup);
MIPS_MACHINE(ATH79_MACH_TL_WR810N_V2, "TL-WR810N-v2", "TP-LINK TL-WR810N v2",
tl_wr810n_v2_setup);

View File

@ -73,17 +73,6 @@
#define TL_WR842NV3_GPIO_BTN_RESET 1
#define TL_WR842NV3_GPIO_BTN_WIFI 0
#define TL_WR842NV9_GPIO_LED_WLAN 12
#define TL_WR842NV9_GPIO_LED_QSS 3
#define TL_WR842NV9_GPIO_LED_WAN 11
#define TL_WR842NV9_GPIO_LED_LAN1 16
#define TL_WR842NV9_GPIO_LED_LAN2 15
#define TL_WR842NV9_GPIO_LED_LAN3 14
#define TL_WR842NV9_GPIO_LED_LAN4 4
#define TL_WR842NV9_GPIO_LED_SYSTEM 13
#define TL_WR842NV9_GPIO_BTN_RESET 17
#define TL_WR842NV9_GPIO_BTN_WIFI 0
#define TL_WR740NV6_GPIO_LED_SYSTEM 1
#define TL_WR740NV6_GPIO_LED_QSS 3
#define TL_WR740NV6_GPIO_LED_WAN_ORANGE 2
@ -354,59 +343,15 @@ static struct gpio_keys_button tl_wr740n_v6_gpio_keys[] __initdata = {
}
};
static struct gpio_led tl_wr842n_v9_leds_gpio[] __initdata = {
{
.name = "tp-link:green:lan1",
.gpio = TL_WR842NV9_GPIO_LED_LAN1,
.active_low = 1,
}, {
.name = "tp-link:green:lan2",
.gpio = TL_WR842NV9_GPIO_LED_LAN2,
.active_low = 1,
}, {
.name = "tp-link:green:lan3",
.gpio = TL_WR842NV9_GPIO_LED_LAN3,
.active_low = 1,
}, {
.name = "tp-link:green:lan4",
.gpio = TL_WR842NV9_GPIO_LED_LAN4,
.active_low = 1,
}, {
.name = "tp-link:green:system",
.gpio = TL_WR842NV9_GPIO_LED_SYSTEM,
.active_low = 1,
}, {
.name = "tp-link:green:wan",
.gpio = TL_WR842NV9_GPIO_LED_WAN,
.active_low = 1,
}, {
.name = "tp-link:green:wlan",
.gpio = TL_WR842NV9_GPIO_LED_WLAN,
.active_low = 1,
},
};
static struct gpio_keys_button tl_wr842n_v9_gpio_keys[] __initdata = {
{
.desc = "Reset button",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR842NV9_GPIO_BTN_RESET,
.active_low = 1,
}
};
static void __init tl_ap143_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
ath79_register_usb();
ath79_register_m25p80(&tl_wr841n_v9_flash_data);
/*ath79_setup_ar933x_phy4_switch(false, false);*/
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
@ -490,6 +435,7 @@ static void __init tl_wr842n_v3_setup(void)
ARRAY_SIZE(tl_wr842n_v3_gpio_keys),
tl_wr842n_v3_gpio_keys);
ath79_register_usb();
}
MIPS_MACHINE(ATH79_MACH_TL_WR842N_V3, "TL-WR842N-v3", "TP-LINK TL-WR842N/ND v3",
@ -509,49 +455,3 @@ static void __init tl_wr740n_v6_setup(void)
MIPS_MACHINE(ATH79_MACH_TL_WR740N_V6, "TL-WR740N-v6", "TP-LINK TL-WR740N/ND v6",
tl_wr740n_v6_setup);
static void __init tl_wr842n_v9_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
u8 tmpmac[ETH_ALEN];
ath79_register_usb();
ath79_register_m25p80(&tl_wr841n_v9_flash_data);
/*ath79_setup_ar933x_phy4_switch(false, false);*/
ath79_register_mdio(0, 0x0);
ath79_register_mdio(1, 0x0);
/* add by zcc */
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
/* LAN */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_eth1_data.speed = SPEED_1000;
ath79_switch_data.phy_poll_mask |= BIT(0);
ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
ath79_register_eth(1);
/* WAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.phy_mask = BIT(0);
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
ath79_init_mac(tmpmac, mac, 0);
ath79_register_wmac(ee, tmpmac);
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr842n_v9_leds_gpio),
tl_wr842n_v9_leds_gpio);
ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr842n_v9_gpio_keys),
tl_wr842n_v9_gpio_keys);
}
MIPS_MACHINE(ATH79_MACH_TL_WR842N_V9, "TL-WR842N-v9", "TP-LINK TL-WR842N/ND v9",
tl_wr842n_v9_setup);

View File

@ -1,126 +0,0 @@
/*
* TP-LINK TL-WR882N v1
*
* Copyright (C) Weijie Gao <hackpascal@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-wmac.h"
#include "machtypes.h"
#define TL_WR882NV1_GPIO_LED_WAN 2
#define TL_WR882NV1_GPIO_LED_LAN1 4
#define TL_WR882NV1_GPIO_LED_LAN2 5
#define TL_WR882NV1_GPIO_LED_LAN3 6
#define TL_WR882NV1_GPIO_LED_LAN4 7
#define TL_WR882NV1_GPIO_LED_SYS 18
#define TL_WR882NV1_GPIO_BTN_RESET 1
#define TL_WR882NV1_KEYS_POLL_INTERVAL 20 /* msecs */
#define TL_WR882NV1_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR882NV1_KEYS_POLL_INTERVAL)
static const char *tl_wr882n_v1_part_probes[] = {
"tp-link",
NULL,
};
static struct flash_platform_data tl_wr882n_v1_flash_data = {
.part_probes = tl_wr882n_v1_part_probes,
};
static struct gpio_led tl_wr882n_v1_leds_gpio[] __initdata = {
{
.name = "tp-link:green:lan1",
.gpio = TL_WR882NV1_GPIO_LED_LAN1,
.active_low = 1,
}, {
.name = "tp-link:green:lan2",
.gpio = TL_WR882NV1_GPIO_LED_LAN2,
.active_low = 1,
}, {
.name = "tp-link:green:lan3",
.gpio = TL_WR882NV1_GPIO_LED_LAN3,
.active_low = 1,
}, {
.name = "tp-link:green:lan4",
.gpio = TL_WR882NV1_GPIO_LED_LAN4,
.active_low = 1,
}, {
.name = "tp-link:green:wan",
.gpio = TL_WR882NV1_GPIO_LED_WAN,
.active_low = 1,
}, {
.name = "tp-link:white:status",
.gpio = TL_WR882NV1_GPIO_LED_SYS,
.active_low = 1,
},
};
static struct gpio_keys_button tl_wr882n_v1_gpio_keys[] __initdata = {
{
.desc = "Reset button",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = TL_WR882NV1_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR882NV1_GPIO_BTN_RESET,
.active_low = 1,
}
};
static void __init tl_cus249_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
ath79_register_m25p80(&tl_wr882n_v1_flash_data);
ath79_register_mdio(0, 0x0);
/* LAN */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_eth1_data.speed = SPEED_1000;
ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
ath79_register_eth(1);
/* WAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_switch_data.phy_poll_mask = BIT(4);
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
ath79_register_eth(0);
ath79_register_wmac(ee, mac);
}
static void __init tl_wr882n_v1_setup(void)
{
tl_cus249_setup();
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr882n_v1_leds_gpio),
tl_wr882n_v1_leds_gpio);
ath79_register_gpio_keys_polled(1, TL_WR882NV1_KEYS_POLL_INTERVAL,
ARRAY_SIZE(tl_wr882n_v1_gpio_keys),
tl_wr882n_v1_gpio_keys);
}
MIPS_MACHINE(ATH79_MACH_TL_WR882N_V1, "TL-WR882N-v1", "TP-LINK TL-WR882N v1",
tl_wr882n_v1_setup);

View File

@ -1,279 +0,0 @@
/*
* TP-LINK TL-WR941N v7 board support
*
* Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
* Copyright (C) 2014 Weijie Gao <hackpacsal@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/phy.h>
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <linux/ath9k_platform.h>
#include <linux/ar8216_platform.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include "common.h"
#include "dev-ap9x-pci.h"
#include "dev-eth.h"
#include "dev-gpio-buttons.h"
#include "dev-leds-gpio.h"
#include "dev-m25p80.h"
#include "dev-spi.h"
#include "dev-usb.h"
#include "dev-wmac.h"
#include "machtypes.h"
#define WR941NV7_GPIO_LED_WLAN 12
#define WR941NV7_GPIO_LED_SYSTEM 19
#define WR941NV7_GPIO_LED_QSS 15
#define WR941NV7_GPIO_BTN_RESET 16
#define WR941NV7_KEYS_POLL_INTERVAL 20 /* msecs */
#define WR941NV7_KEYS_DEBOUNCE_INTERVAL (3 * WR941NV7_KEYS_POLL_INTERVAL)
#define ATH_MII_MGMT_CMD 0x24
#define ATH_MGMT_CMD_READ 0x1
#define ATH_MII_MGMT_ADDRESS 0x28
#define ATH_ADDR_SHIFT 8
#define ATH_MII_MGMT_CTRL 0x2c
#define ATH_MII_MGMT_STATUS 0x30
#define ATH_MII_MGMT_IND 0x34
#define ATH_MGMT_IND_BUSY (1 << 0)
#define ATH_MGMT_IND_INVALID (1 << 2)
static const char *wr941nv7_part_probes[] = {
"tp-link",
NULL,
};
static struct flash_platform_data wr941nv7_flash_data = {
.part_probes = wr941nv7_part_probes,
};
static struct gpio_led wr941nv7_leds_gpio[] __initdata = {
{
.name = "tp-link:green:qss",
.gpio = WR941NV7_GPIO_LED_QSS,
.active_low = 1,
},
{
.name = "tp-link:green:system",
.gpio = WR941NV7_GPIO_LED_SYSTEM,
.active_low = 1,
},
{
.name = "tp-link:green:wlan",
.gpio = WR941NV7_GPIO_LED_WLAN,
.active_low = 1,
},
};
static struct gpio_keys_button wr941nv7_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = WR941NV7_KEYS_DEBOUNCE_INTERVAL,
.gpio = WR941NV7_GPIO_BTN_RESET,
.active_low = 1,
},
};
static struct mdio_board_info wr941nv7_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 0,
.platform_data = NULL,
},
};
static unsigned long __init ath_gmac_reg_rd(unsigned long reg)
{
void __iomem *base;
unsigned long t;
base = ioremap(AR71XX_GE0_BASE, AR71XX_GE0_SIZE);
t = __raw_readl(base + reg);
iounmap(base);
return t;
}
static void __init ath_gmac_reg_wr(unsigned long reg, unsigned long value)
{
void __iomem *base;
unsigned long t = value;
base = ioremap(AR71XX_GE0_BASE, AR71XX_GE0_SIZE);
__raw_writel(t, base + reg);
iounmap(base);
}
static void __init phy_reg_write(unsigned char phy_addr, unsigned char reg, unsigned short data)
{
unsigned short addr = (phy_addr << ATH_ADDR_SHIFT) | reg;
volatile int rddata;
unsigned short ii = 0xFFFF;
do
{
udelay(5);
rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
} while (rddata && --ii);
ath_gmac_reg_wr(ATH_MII_MGMT_ADDRESS, addr);
ath_gmac_reg_wr(ATH_MII_MGMT_CTRL, data);
do
{
udelay(5);
rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
} while (rddata && --ii);
}
static unsigned short __init phy_reg_read(unsigned char phy_addr, unsigned char reg)
{
unsigned short addr = (phy_addr << ATH_ADDR_SHIFT) | reg, val;
volatile int rddata;
unsigned short ii = 0xffff;
do
{
udelay(5);
rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
} while (rddata && --ii);
ath_gmac_reg_wr(ATH_MII_MGMT_CMD, 0x0);
ath_gmac_reg_wr(ATH_MII_MGMT_ADDRESS, addr);
ath_gmac_reg_wr(ATH_MII_MGMT_CMD, ATH_MGMT_CMD_READ);
do
{
udelay(5);
rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
} while (rddata && --ii);
val = ath_gmac_reg_rd(ATH_MII_MGMT_STATUS);
ath_gmac_reg_wr(ATH_MII_MGMT_CMD, 0x0);
return val;
}
static void __init athrs27_reg_write(unsigned int s27_addr, unsigned int s27_write_data)
{
unsigned int addr_temp;
unsigned int data;
unsigned char phy_address, reg_address;
addr_temp = (s27_addr) >> 2;
data = addr_temp >> 7;
phy_address = 0x1f;
reg_address = 0x10;
phy_reg_write(phy_address, reg_address, data);
phy_address = (0x17 & ((addr_temp >> 4) | 0x10));
reg_address = (((addr_temp << 1) & 0x1e) | 0x1);
data = (s27_write_data >> 16) & 0xffff;
phy_reg_write(phy_address, reg_address, data);
reg_address = ((addr_temp << 1) & 0x1e);
data = s27_write_data & 0xffff;
phy_reg_write(phy_address, reg_address, data);
}
static unsigned int __init athrs27_reg_read(unsigned int s27_addr)
{
unsigned int addr_temp;
unsigned int s27_rd_csr_low, s27_rd_csr_high, s27_rd_csr;
unsigned int data;
unsigned char phy_address, reg_address;
addr_temp = s27_addr >>2;
data = addr_temp >> 7;
phy_address = 0x1f;
reg_address = 0x10;
phy_reg_write(phy_address, reg_address, data);
phy_address = (0x17 & ((addr_temp >> 4) | 0x10));
reg_address = ((addr_temp << 1) & 0x1e);
s27_rd_csr_low = (unsigned int) phy_reg_read(phy_address, reg_address);
reg_address = reg_address | 0x1;
s27_rd_csr_high = (unsigned int) phy_reg_read(phy_address, reg_address);
s27_rd_csr = (s27_rd_csr_high << 16) | s27_rd_csr_low ;
return (s27_rd_csr);
}
static void __init ar8236_reset(void)
{
unsigned short i = 60;
athrs27_reg_write(0x0, athrs27_reg_read(0x0) | 0x80000000);
while (i--)
{
mdelay(100);
if (!(athrs27_reg_read(0x0) & 0x80000000))
break;
}
}
static void __init wr941nv7_setup(void)
{
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
ath79_register_m25p80(&wr941nv7_flash_data);
ath79_register_leds_gpio(-1, ARRAY_SIZE(wr941nv7_leds_gpio),
wr941nv7_leds_gpio);
ath79_register_gpio_keys_polled(-1, WR941NV7_KEYS_POLL_INTERVAL,
ARRAY_SIZE(wr941nv7_gpio_keys),
wr941nv7_gpio_keys);
ath79_register_wmac(art, mac);
ar8236_reset();
ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_MII_GE0 |
QCA955X_ETH_CFG_MII_GE0_SLAVE);
mdiobus_register_board_info(wr941nv7_mdio0_info,
ARRAY_SIZE(wr941nv7_mdio0_info));
ath79_register_mdio(0, 0x0);
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
/* GMAC0 is connected to an AR8236 switch */
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.phy_mask = BIT(0);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_register_eth(0);
ath79_register_usb();
}
MIPS_MACHINE(ATH79_MACH_TL_WR941N_V7, "TL-WR941N-v7",
"TP-LINK TL-WR941N v7",
wr941nv7_setup);

View File

@ -192,9 +192,6 @@ static void __init wzrhpag300h_setup(void)
ap94_pci_init(eeprom1, mac1, eeprom2, mac2);
ap9x_pci_setup_wmac_led_pin(0, 1);
ap9x_pci_setup_wmac_led_pin(1, 5);
ap9x_pci_setup_wmac_leds(0, wzrhpag300h_wmac0_leds_gpio,
ARRAY_SIZE(wzrhpag300h_wmac0_leds_gpio));
ap9x_pci_setup_wmac_leds(1, wzrhpag300h_wmac1_leds_gpio,

View File

@ -92,6 +92,7 @@ enum ath79_mach_type {
ATH79_MACH_DLAN_PRO_1200_AC, /* devolo dLAN pro 1200+ WiFi ac*/
ATH79_MACH_DLAN_PRO_500_WP, /* devolo dLAN pro 500 Wireless+ */
ATH79_MACH_DOMYWIFI_DW33D, /* DomyWifi DW33D */
ATH79_MACH_DR342, /* Wallys DR342 */
ATH79_MACH_DR344, /* Wallys DR344 */
ATH79_MACH_DR531, /* Wallys DR531 */
ATH79_MACH_DRAGINO2, /* Dragino Version 2 */
@ -127,9 +128,6 @@ enum ath79_mach_type {
ATH79_MACH_JWAP230, /* jjPlus JWAP230 */
ATH79_MACH_LIMA, /* 8devices Lima */
ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R */
ATH79_MACH_MW316R_V1, /* Mercury MW316R v1 */
ATH79_MACH_MASELINK_AP2600I, /* Comba MASELink AP2600-I */
ATH79_MACH_MASELINK_AP2600IFM, /* Comba MASELink AP2600-IFM */
ATH79_MACH_MR12, /* Cisco Meraki MR12 */
ATH79_MACH_MR16, /* Cisco Meraki MR16 */
ATH79_MACH_MR1750, /* OpenMesh MR1750 */
@ -206,8 +204,6 @@ enum ath79_mach_type {
ATH79_MACH_SC1750, /* Abicom SC1750 */
ATH79_MACH_SC300M, /* Abicom SC300M */
ATH79_MACH_SC450, /* Abicom SC450 */
ATH79_MACH_SGR_W500_N85B_V2, /* GRENTECH SGR-W500-N85B v2 */
ATH79_MACH_SGR_W500_EBI_FIT_V3, /* GRENTECH SGR-W500-EBI(FIT) v3.0 */
ATH79_MACH_SMART_300, /* NC-LINK SMART-300 */
ATH79_MACH_SOM9331, /* OpenEmbed SOM9331 */
ATH79_MACH_SR3200, /* YunCore SR3200 */
@ -243,14 +239,15 @@ enum ath79_mach_type {
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
ATH79_MACH_TL_WA901ND_V4, /* TP-LINK TL-WA901ND v4 */
ATH79_MACH_TL_WA901ND_V5, /* TP-LINK TL-WA901ND v5 */
ATH79_MACH_TL_WDR3320_V2, /* TP-LINK TL-WDR3320 v2 */
ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
ATH79_MACH_TL_WDR4900_V2, /* TP-LINK TL-WDR4900 v2 */
ATH79_MACH_TL_WDR6500_V2, /* TP-LINK TL-WDR6500 v2 */
ATH79_MACH_TL_WDR6500_V6, /* TP-LINK TL-WDR6500 v6 */
ATH79_MACH_TL_WPA8630, /* TP-Link TL-WPA8630 */
ATH79_MACH_TL_WR1041N_V2, /* TP-LINK TL-WR1041N v2 */
ATH79_MACH_TL_WR1043N_V5, /* TP-LINK TL-WR1043N v5 */
ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */
ATH79_MACH_TL_WR1043ND_V2, /* TP-LINK TL-WR1043ND v2 */
ATH79_MACH_TL_WR1043ND_V4, /* TP-LINK TL-WR1043ND v4 */
@ -264,6 +261,7 @@ enum ath79_mach_type {
ATH79_MACH_TL_WR802N_V1, /* TP-LINK TL-WR802N v1 */
ATH79_MACH_TL_WR802N_V2, /* TP-LINK TL-WR802N v2 */
ATH79_MACH_TL_WR810N, /* TP-LINK TL-WR810N */
ATH79_MACH_TL_WR810N_V2, /* TP-LINK TL-WR810N v2 */
ATH79_MACH_TL_WR840N_V2, /* TP-LINK TL-WR840N v2 */
ATH79_MACH_TL_WR840N_V3, /* TP-LINK TL-WR840N v3 */
ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */
@ -273,13 +271,10 @@ enum ath79_mach_type {
ATH79_MACH_TL_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */
ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */
ATH79_MACH_TL_WR842N_V3, /* TP-LINK TL-WR842N/ND v3 */
ATH79_MACH_TL_WR842N_V9, /* TP-LINK TL-WR842N/ND v9 */
ATH79_MACH_TL_WR882N_V1, /* TP-LINK TL-WR882N v1 */
ATH79_MACH_TL_WR902AC_V1, /* TP-LINK TL-WR902AC v1 */
ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
ATH79_MACH_TL_WR941ND_V5, /* TP-LINK TL-WR941ND v5 */
ATH79_MACH_TL_WR941ND_V6, /* TP-LINK TL-WR941ND v6 */
ATH79_MACH_TL_WR941N_V7, /* TP-LINK TL-WR941N v7 */
ATH79_MACH_TL_WR940N_V4, /* TP-LINK TL-WR940N v4 */
ATH79_MACH_TL_WR942N_V1, /* TP-LINK TL-WR942N v1 */
ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */

View File

@ -37,7 +37,7 @@ struct ag71xx_platform_data {
u8 is_ar724x:1;
u8 has_ar8216:1;
u8 use_flow_control:1;
u8 is_qca956x:1;
u8 disable_inline_checksum_engine:1;
struct ag71xx_switch_platform_data *switch_data;

View File

@ -203,19 +203,7 @@ static int nxp_74hc153_remove(struct platform_device *pdev)
struct nxp_74hc153_platform_data *pdata = pdev->dev.platform_data;
if (nxp) {
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
int err;
err = gpiochip_remove(&nxp->gpio_chip);
if (err) {
dev_err(&pdev->dev,
"unable to remove gpio chip, err=%d\n",
err);
return err;
}
#else
gpiochip_remove(&nxp->gpio_chip);
#endif
gpio_free(pdata->gpio_pin_2y);
gpio_free(pdata->gpio_pin_1y);
gpio_free(pdata->gpio_pin_s1);

View File

@ -40,7 +40,12 @@
#define AG71XX_DRV_NAME "ag71xx"
#define AG71XX_DRV_VERSION "0.5.35"
#define AG71XX_NAPI_WEIGHT 64
/*
* For our NAPI weight bigger does *NOT* mean better - it means more
* D-cache misses and lots more wasted cycles than we'll ever
* possibly gain from saving instructions.
*/
#define AG71XX_NAPI_WEIGHT 32
#define AG71XX_OOM_REFILL (1 + HZ/10)
#define AG71XX_INT_ERR (AG71XX_INT_RX_BE | AG71XX_INT_TX_BE)

View File

@ -13,13 +13,6 @@
#include "ag71xx.h"
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
static inline void skb_free_frag(void *data)
{
put_page(virt_to_head_page(data));
}
#endif
#define AG71XX_DEFAULT_MSG_ENABLE \
(NETIF_MSG_DRV \
| NETIF_MSG_PROBE \
@ -629,6 +622,22 @@ __ag71xx_link_adjust(struct ag71xx *ag, bool update)
ag71xx_wr(ag, AG71XX_REG_MAC_CFG2, cfg2);
ag71xx_wr(ag, AG71XX_REG_FIFO_CFG5, fifo5);
ag71xx_wr(ag, AG71XX_REG_MAC_IFCTL, ifctl);
if (pdata->disable_inline_checksum_engine) {
/*
* The rx ring buffer can stall on small packets on QCA953x and
* QCA956x. Disabling the inline checksum engine fixes the stall.
* The wr, rr functions cannot be used since this hidden register
* is outside of the normal ag71xx register block.
*/
void __iomem *dam = ioremap_nocache(0xb90001bc, 0x4);
if (dam) {
__raw_writel(__raw_readl(dam) & ~BIT(27), dam);
(void)__raw_readl(dam);
iounmap(dam);
}
}
ag71xx_hw_start(ag);
netif_carrier_on(ag->dev);

View File

@ -379,7 +379,7 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
err_iounmap:
iounmap(rbspi->base);
err_clk_disable:
clk_disable(rbspi->ahb_clk);
clk_disable_unprepare(rbspi->ahb_clk);
err_clk_put:
clk_put(rbspi->ahb_clk);
err_put_master:
@ -394,7 +394,7 @@ static int rb4xx_spi_remove(struct platform_device *pdev)
struct rb4xx_spi *rbspi = platform_get_drvdata(pdev);
iounmap(rbspi->base);
clk_disable(rbspi->ahb_clk);
clk_disable_unprepare(rbspi->ahb_clk);
clk_put(rbspi->ahb_clk);
platform_set_drvdata(pdev, NULL);
spi_master_put(rbspi->master);

View File

@ -0,0 +1,201 @@
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_A60=y
CONFIG_ATH79_MACH_ALFA_AP120C=y
CONFIG_ATH79_MACH_ALFA_AP96=y
CONFIG_ATH79_MACH_ALFA_NX=y
CONFIG_ATH79_MACH_ALL0258N=y
CONFIG_ATH79_MACH_ALL0315N=y
CONFIG_ATH79_MACH_ANTMINER_S1=y
CONFIG_ATH79_MACH_ANTMINER_S3=y
CONFIG_ATH79_MACH_ANTROUTER_R1=y
CONFIG_ATH79_MACH_AP121=y
CONFIG_ATH79_MACH_AP121F=y
CONFIG_ATH79_MACH_AP132=y
CONFIG_ATH79_MACH_AP136=y
CONFIG_ATH79_MACH_AP143=y
CONFIG_ATH79_MACH_AP147=y
CONFIG_ATH79_MACH_AP152=y
CONFIG_ATH79_MACH_AP531B0=y
CONFIG_ATH79_MACH_AP90Q=y
CONFIG_ATH79_MACH_AP96=y
CONFIG_ATH79_MACH_ARCHER_C25_V1=y
CONFIG_ATH79_MACH_ARCHER_C58_V1=y
CONFIG_ATH79_MACH_ARCHER_C59_V1=y
CONFIG_ATH79_MACH_ARCHER_C60_V1=y
CONFIG_ATH79_MACH_ARCHER_C7=y
CONFIG_ATH79_MACH_ARDUINO_YUN=y
CONFIG_ATH79_MACH_AW_NR580=y
CONFIG_ATH79_MACH_BHR_4GRV2=y
CONFIG_ATH79_MACH_BHU_BXU2000N2_A=y
CONFIG_ATH79_MACH_BSB=y
CONFIG_ATH79_MACH_C55=y
CONFIG_ATH79_MACH_CAP324=y
CONFIG_ATH79_MACH_CAP4200AG=y
CONFIG_ATH79_MACH_CARAMBOLA2=y
CONFIG_ATH79_MACH_CF_E316N_V2=y
CONFIG_ATH79_MACH_CF_E320N_V2=y
CONFIG_ATH79_MACH_CF_E355AC=y
CONFIG_ATH79_MACH_CF_E380AC_V1=y
CONFIG_ATH79_MACH_CF_E380AC_V2=y
CONFIG_ATH79_MACH_CF_E520N=y
CONFIG_ATH79_MACH_CF_E530N=y
CONFIG_ATH79_MACH_CPE505N=y
CONFIG_ATH79_MACH_CPE510=y
CONFIG_ATH79_MACH_CPE830=y
CONFIG_ATH79_MACH_CPE870=y
CONFIG_ATH79_MACH_CR3000=y
CONFIG_ATH79_MACH_CR5000=y
CONFIG_ATH79_MACH_DAP_2695_A1=y
CONFIG_ATH79_MACH_DB120=y
CONFIG_ATH79_MACH_DGL_5500_A1=y
CONFIG_ATH79_MACH_DHP_1565_A1=y
CONFIG_ATH79_MACH_DIR_505_A1=y
CONFIG_ATH79_MACH_DIR_825_B1=y
CONFIG_ATH79_MACH_DIR_825_C1=y
CONFIG_ATH79_MACH_DIR_869_A1=y
CONFIG_ATH79_MACH_DLAN_HOTSPOT=y
CONFIG_ATH79_MACH_DLAN_PRO_1200_AC=y
CONFIG_ATH79_MACH_DLAN_PRO_500_WP=y
CONFIG_ATH79_MACH_DR342=y
CONFIG_ATH79_MACH_DR344=y
CONFIG_ATH79_MACH_DR531=y
CONFIG_ATH79_MACH_DRAGINO2=y
CONFIG_ATH79_MACH_E2100L=y
CONFIG_ATH79_MACH_EAP120=y
CONFIG_ATH79_MACH_EAP300V2=y
CONFIG_ATH79_MACH_EAP7660D=y
CONFIG_ATH79_MACH_EL_M150=y
CONFIG_ATH79_MACH_EL_MINI=y
CONFIG_ATH79_MACH_ENS202EXT=y
CONFIG_ATH79_MACH_EPG5000=y
CONFIG_ATH79_MACH_ESR1750=y
CONFIG_ATH79_MACH_ESR900=y
CONFIG_ATH79_MACH_EW_DORIN=y
CONFIG_ATH79_MACH_F9K1115V2=y
CONFIG_ATH79_MACH_FRITZ300E=y
CONFIG_ATH79_MACH_GL_AR150=y
CONFIG_ATH79_MACH_GL_AR300=y
CONFIG_ATH79_MACH_GL_AR300M=y
CONFIG_ATH79_MACH_GL_DOMINO=y
CONFIG_ATH79_MACH_GL_INET=y
CONFIG_ATH79_MACH_GL_MIFI=y
CONFIG_ATH79_MACH_GL_USB150=y
CONFIG_ATH79_MACH_GS_MINIBOX_V1=y
CONFIG_ATH79_MACH_GS_OOLITE=y
CONFIG_ATH79_MACH_HIWIFI_HC6361=y
CONFIG_ATH79_MACH_HORNET_UB=y
CONFIG_ATH79_MACH_JA76PF=y
CONFIG_ATH79_MACH_JWAP003=y
CONFIG_ATH79_MACH_JWAP230=y
CONFIG_ATH79_MACH_LIMA=y
CONFIG_ATH79_MACH_MC_MAC1200R=y
CONFIG_ATH79_MACH_MR12=y
CONFIG_ATH79_MACH_MR16=y
CONFIG_ATH79_MACH_MR1750=y
CONFIG_ATH79_MACH_MR600=y
CONFIG_ATH79_MACH_MR900=y
CONFIG_ATH79_MACH_MYNET_N600=y
CONFIG_ATH79_MACH_MYNET_N750=y
CONFIG_ATH79_MACH_MYNET_REXT=y
CONFIG_ATH79_MACH_MZK_W04NU=y
CONFIG_ATH79_MACH_MZK_W300NH=y
CONFIG_ATH79_MACH_OM2P=y
CONFIG_ATH79_MACH_OM5P=y
CONFIG_ATH79_MACH_OM5P_AC=y
CONFIG_ATH79_MACH_OM5P_ACv2=y
CONFIG_ATH79_MACH_OMY_G1=y
CONFIG_ATH79_MACH_OMY_X1=y
CONFIG_ATH79_MACH_ONION_OMEGA=y
CONFIG_ATH79_MACH_PB42=y
CONFIG_ATH79_MACH_PB44=y
CONFIG_ATH79_MACH_PQI_AIR_PEN=y
CONFIG_ATH79_MACH_QIHOO_C301=y
CONFIG_ATH79_MACH_R602N=y
CONFIG_ATH79_MACH_RE450=y
CONFIG_ATH79_MACH_RW2458N=y
CONFIG_ATH79_MACH_SC1750=y
CONFIG_ATH79_MACH_SC300M=y
CONFIG_ATH79_MACH_SC450=y
CONFIG_ATH79_MACH_SMART_300=y
CONFIG_ATH79_MACH_SOM9331=y
CONFIG_ATH79_MACH_SR3200=y
CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE=y
CONFIG_ATH79_MACH_TEW_673GRU=y
CONFIG_ATH79_MACH_TEW_732BR=y
CONFIG_ATH79_MACH_TEW_823DRU=y
CONFIG_ATH79_MACH_TL_MR3X20=y
CONFIG_ATH79_MACH_TL_MR6400=y
CONFIG_ATH79_MACH_TL_WDR3500=y
CONFIG_ATH79_MACH_TL_WDR4300=y
CONFIG_ATH79_MACH_TL_WDR6500_V2=y
CONFIG_ATH79_MACH_TL_WPA8630=y
CONFIG_ATH79_MACH_TL_WR1043ND=y
CONFIG_ATH79_MACH_TL_WR1043ND_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND_V4=y
CONFIG_ATH79_MACH_TL_WR1043N_V5=y
CONFIG_ATH79_MACH_TL_WR2543N=y
CONFIG_ATH79_MACH_TL_WR703N=y
CONFIG_ATH79_MACH_TL_WR720N_V3=y
CONFIG_ATH79_MACH_TL_WR810N=y
CONFIG_ATH79_MACH_TL_WR810N_V2=y
CONFIG_ATH79_MACH_TL_WR841N_V9=y
CONFIG_ATH79_MACH_TL_WR902AC_V1=y
CONFIG_ATH79_MACH_TL_WR942N_V1=y
CONFIG_ATH79_MACH_TUBE2H=y
CONFIG_ATH79_MACH_UBNT=y
CONFIG_ATH79_MACH_UBNT_UNIFIAC=y
CONFIG_ATH79_MACH_UBNT_XM=y
CONFIG_ATH79_MACH_WEIO=y
CONFIG_ATH79_MACH_WHR_HP_G300N=y
CONFIG_ATH79_MACH_WLAE_AG300N=y
CONFIG_ATH79_MACH_WLR8100=y
CONFIG_ATH79_MACH_WNDAP360=y
CONFIG_ATH79_MACH_WNDR3700=y
CONFIG_ATH79_MACH_WNR2200=y
CONFIG_ATH79_MACH_WP543=y
CONFIG_ATH79_MACH_WPE72=y
CONFIG_ATH79_MACH_WPJ342=y
CONFIG_ATH79_MACH_WPJ344=y
CONFIG_ATH79_MACH_WPJ531=y
CONFIG_ATH79_MACH_WPJ558=y
CONFIG_ATH79_MACH_WPJ563=y
CONFIG_ATH79_MACH_WRT160NL=y
CONFIG_ATH79_MACH_WRT400N=y
CONFIG_ATH79_MACH_WRTNODE2Q=y
CONFIG_ATH79_MACH_WZR_450HP2=y
CONFIG_ATH79_MACH_WZR_HP_AG300H=y
CONFIG_ATH79_MACH_WZR_HP_G300NH=y
CONFIG_ATH79_MACH_WZR_HP_G300NH2=y
CONFIG_ATH79_MACH_WZR_HP_G450H=y
CONFIG_ATH79_MACH_XD3200=y
CONFIG_ATH79_MACH_ZBT_WE1526=y
CONFIG_ATH79_MACH_ZCN_1523H=y
CONFIG_ATH79_NVRAM=y
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
CONFIG_BLK_MQ_PCI=y
CONFIG_HW_HAS_PCI=y
# CONFIG_LEDS_WNDR3700_USB is not set
CONFIG_MYLOADER=y
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
CONFIG_SERIAL_AR933X=y
CONFIG_SERIAL_AR933X_CONSOLE=y
CONFIG_SERIAL_AR933X_NR_UARTS=2
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
CONFIG_SOC_AR933X=y
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA953X=y
CONFIG_SOC_QCA955X=y
CONFIG_SOC_QCA956X=y

View File

@ -13,11 +13,15 @@ KERNEL_LOADADDR = 0x80060000
DEVICE_VARS += BOARDNAME CMDLINE CONSOLE IMAGE_SIZE LOADER_TYPE
ifeq ($(SUBTARGET),generic)
include ./tp-link.mk
include ./ubnt.mk
include ./generic.mk
include ./legacy-devices.mk
include ./senao.mk
include ./generic-legacy-devices.mk
include ./generic-senao.mk
include ./generic-tp-link.mk
include ./generic-ubnt.mk
endif
ifeq ($(SUBTARGET),tiny)
include ./tiny-tp-link.mk
include ./tiny-legacy-devices.mk
endif
ifeq ($(SUBTARGET),nand)
include ./nand.mk

View File

@ -0,0 +1,95 @@
DEVICE_VARS += LOADER_FLASH_OFFS TPLINK_BOARD_ID TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
define Build/copy-file
cat "$(1)" > "$@"
endef
define Build/loader-okli
dd if=$(KDIR)/loader-$(1).gz bs=7680 conv=sync of="$@.new"
cat "$@" >> "$@.new"
mv "$@.new" "$@"
endef
define Build/loader-okli-compile
$(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0 KERNEL_CMDLINE="$(CMDLINE)")
endef
# combine kernel and rootfs into one image
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
# <type> is "sysupgrade" or "factory"
#
# -a align the rootfs start on an <align> bytes boundary
# -j add jffs2 end-of-filesystem markers
# -s strip padding from end of the image
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
define Build/mktplinkfw
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
-m $(TPLINK_HEADER_VERSION) \
-k $(IMAGE_KERNEL) \
-r $@ \
-o $@.new \
-j -X 0x40000 \
-a $(call rootfs_align,$(FILESYSTEM)) \
$(wordlist 2,$(words $(1)),$(1)) \
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
endef
define Build/uImageArcher
mkimage -A $(LINUX_KARCH) \
-O linux -T kernel \
-C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new
@mv $@.new $@
endef
define Device/tplink
TPLINK_HWREV := 0x1
TPLINK_HEADER_VERSION := 1
LOADER_TYPE := gz
KERNEL := kernel-bin | patch-cmdline | lzma
KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | tplink-v1-header
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
IMAGE/factory.bin := append-rootfs | mktplinkfw factory
endef
define Device/tplink-nolzma
$(Device/tplink)
LOADER_FLASH_OFFS := 0x22000
COMPILE := loader-$(1).gz
COMPILE/loader-$(1).gz := loader-okli-compile
KERNEL := copy-file $(KDIR)/vmlinux.bin.lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1)
KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs.bin.lzma | loader-kernel-cmdline | tplink-v1-header
endef
define Device/tplink-4m
$(Device/tplink-nolzma)
TPLINK_FLASHLAYOUT := 4M
IMAGE_SIZE := 3904k
endef
define Device/tplink-8m
$(Device/tplink-nolzma)
TPLINK_FLASHLAYOUT := 8M
IMAGE_SIZE := 7936k
endef
define Device/tplink-4mlzma
$(Device/tplink)
TPLINK_FLASHLAYOUT := 4Mlzma
IMAGE_SIZE := 3904k
endef
define Device/tplink-8mlzma
$(Device/tplink)
TPLINK_FLASHLAYOUT := 8Mlzma
IMAGE_SIZE := 7936k
endef
define Device/tplink-16mlzma
$(Device/tplink)
TPLINK_FLASHLAYOUT := 16Mlzma
IMAGE_SIZE := 15872k
endef

View File

@ -156,81 +156,6 @@ define LegacyDevice/F9K1115V2
endef
LEGACY_DEVICES += F9K1115V2
define LegacyDevice/DIR600A1
DEVICE_TITLE := D-Link DIR-600 rev. A1
endef
LEGACY_DEVICES += DIR600A1
define LegacyDevice/DIR601A1
DEVICE_TITLE := D-Link DIR-601 rev. A1
endef
LEGACY_DEVICES += DIR601A1
define LegacyDevice/FR54RTR
DEVICE_TITLE := Frys FR-54RTR
endef
LEGACY_DEVICES += FR54RTR
define LegacyDevice/EBR2310C1
DEVICE_TITLE := D-Link EBR-2310 rev. C1
endef
LEGACY_DEVICES += EBR2310C1
define LegacyDevice/DIR615E1
DEVICE_TITLE := D-Link DIR-615 rev. E1
endef
LEGACY_DEVICES += DIR615E1
define LegacyDevice/DIR615E4
DEVICE_TITLE := D-Link DIR-615 rev. E4
endef
LEGACY_DEVICES += DIR615E4
define LegacyDevice/DIR615I1
DEVICE_TITLE := D-Link DIR-615 rev. I1
endef
LEGACY_DEVICES += DIR615I1
define LegacyDevice/DIR615I3
DEVICE_TITLE := D-Link DIR-615 rev. I3
endef
LEGACY_DEVICES += DIR615I3
define LegacyDevice/A02RBW300N
DEVICE_TITLE := Atlantis-Land A02-RB-W300N
endef
LEGACY_DEVICES += A02RBW300N
define LegacyDevice/DIR615C1
DEVICE_TITLE := D-Link DIR-615 rev. C1
endef
LEGACY_DEVICES += DIR615C1
define LegacyDevice/TEW632BRP
DEVICE_TITLE := TRENDNet TEW-632BRP
endef
LEGACY_DEVICES += TEW632BRP
define LegacyDevice/TEW652BRP_FW
DEVICE_TITLE := TRENDNet TEW-652BRP
endef
LEGACY_DEVICES += TEW652BRP_FW
define LegacyDevice/TEW652BRP_RECOVERY
DEVICE_TITLE := TRENDNet TEW-652BRP (recovery)
endef
LEGACY_DEVICES += TEW652BRP_RECOVERY
define LegacyDevice/TEW712BR
DEVICE_TITLE := TRENDNet TEW-712BR
endef
LEGACY_DEVICES += TEW712BR
define LegacyDevice/DIR601B1
DEVICE_TITLE := D-Link DIR-601 rev. B1
endef
LEGACY_DEVICES += DIR601B1
define LegacyDevice/DIR505A1
DEVICE_TITLE := D-Link DIR-505 rev. A1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
@ -336,12 +261,6 @@ define LegacyDevice/EPG5000
endef
LEGACY_DEVICES += EPG5000
define LegacyDevice/WP543_4M
DEVICE_TITLE := Compex WP543/WPJ543 (4MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
endef
LEGACY_DEVICES += WP543_4M
define LegacyDevice/WP543_8M
DEVICE_TITLE := Compex WP543/WPJ543 (8MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
@ -354,12 +273,6 @@ define LegacyDevice/WP543_16M
endef
LEGACY_DEVICES += WP543_16M
define LegacyDevice/WPE72_4M
DEVICE_TITLE := Compex WPE72/WPE72NX (4MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
endef
LEGACY_DEVICES += WPE72_4M
define LegacyDevice/WPE72_8M
DEVICE_TITLE := Compex WPE72/WPE72NX (8MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
@ -372,53 +285,12 @@ define LegacyDevice/WPE72_16M
endef
LEGACY_DEVICES += WPE72_16M
define LegacyDevice/WNR2000
DEVICE_TITLE := NETGEAR WNR2000V1
endef
LEGACY_DEVICES += WNR2000
define LegacyDevice/WNR2000V3
DEVICE_TITLE := NETGEAR WNR2000V3
endef
LEGACY_DEVICES += WNR2000V3
define LegacyDevice/WNR2000V4
DEVICE_TITLE := NETGEAR WNR2000V4
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
endef
LEGACY_DEVICES += WNR2000V4
define LegacyDevice/WNR2200
DEVICE_TITLE := NETGEAR WNR2200
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
endef
LEGACY_DEVICES += WNR2200
define LegacyDevice/REALWNR612V2
DEVICE_TITLE := NETGEAR WNR612V2
endef
LEGACY_DEVICES += REALWNR612V2
define LegacyDevice/N150R
DEVICE_TITLE := On Networks N150
endef
LEGACY_DEVICES += N150R
define LegacyDevice/REALWNR1000V2
DEVICE_TITLE := NETGEAR WNR1000V2
endef
LEGACY_DEVICES += REALWNR1000V2
define LegacyDevice/WNR1000V2_VC
DEVICE_TITLE := NETGEAR WNR1000V2-VC
endef
LEGACY_DEVICES += WNR1000V2_VC
define LegacyDevice/WPN824N
DEVICE_TITLE := NETGEAR WPN824N
endef
LEGACY_DEVICES += WPN824N
define LegacyDevice/OM2P
DEVICE_TITLE := OpenMesh OM2P/OM2P-HS/OM2P-LC
DEVICE_PACKAGES := om-watchdog
@ -512,27 +384,6 @@ define LegacyDevice/EAP300V2
endef
LEGACY_DEVICES += EAP300V2
define LegacyDevice/WHRG301N
DEVICE_TITLE := Buffalo WHR-G301N
endef
LEGACY_DEVICES += WHRG301N
define LegacyDevice/WHRHPG300N
DEVICE_TITLE := Buffalo WHR-HP-G300N
endef
LEGACY_DEVICES += WHRHPG300N
define LegacyDevice/WHRHPGN
DEVICE_TITLE := Buffalo WHR-HP-GN
endef
LEGACY_DEVICES += WHRHPGN
define LegacyDevice/WLAEAG300N
DEVICE_TITLE := Buffalo WLAE-AG300N
DEVICE_PACKAGES := kmod-ledtrig-netdev
endef
LEGACY_DEVICES += WLAEAG300N
define LegacyDevice/WRT400N
DEVICE_TITLE := Linksys WRT400N
endef
@ -583,33 +434,3 @@ define LegacyDevice/ZCN1523H516
DEVICE_TITLE := Zcomax ZCN-1523H-5-16
endef
LEGACY_DEVICES += ZCN1523H516
define LegacyDevice/NBG_460N_550N_550NH
DEVICE_TITLE := ZyXEL NBG 460N/550N/550NH
DEVICE_PACKAGES := kmod-rtc-pcf8563
endef
LEGACY_DEVICES += NBG_460N_550N_550NH
define LegacyDevice/SGRW500N85BV2
DEVICE_TITLE := GRENTECH SGR-W500-N85b v2.0 board
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
endef
LEGACY_DEVICES += SGRW500N85BV2
define LegacyDevice/SGRW500EBIFITV3
DEVICE_TITLE := GRENTECH SGR-W500-EBI(FIT) v3.0
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
endef
LEGACY_DEVICES += SGRW500EBIFITV3
define LegacyDevice/AP2600I
DEVICE_TITLE := Comba MASELink AP2600-I board
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
endef
LEGACY_DEVICES += AP2600I
define LegacyDevice/AP2600IFM
DEVICE_TITLE := Comba MASELink AP2600-IFM board
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
endef
LEGACY_DEVICES += AP2600IFM

View File

@ -0,0 +1,470 @@
include ./common-tp-link.mk
define Device/archer-cxx
KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
endef
define Device/archer-c25-v1
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK Archer C25 v1
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9887
BOARDNAME := ARCHER-C25-V1
TPLINK_BOARD_ID := ARCHER-C25-V1
DEVICE_PROFILE := ARCHERC25V1
IMAGE_SIZE := 7808k
LOADER_TYPE := elf
MTDPARTS := spi0.0:128k(factory-uboot)ro,64k(u-boot)ro,1536k(kernel),6272k(rootfs),128k(config)ro,64k(art)ro,7808k@0x30000(firmware)
SUPPORTED_DEVICES := archer-c25-v1
endef
TARGET_DEVICES += archer-c25-v1
define Device/archer-c58-v1
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK Archer C58 v1
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9888
BOARDNAME := ARCHER-C58-V1
TPLINK_BOARD_ID := ARCHER-C58-V1
DEVICE_PROFILE := ARCHERC58V1
IMAGE_SIZE := 7936k
MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,7936k(firmware),64k(tplink)ro,64k(art)ro
SUPPORTED_DEVICES := archer-c58-v1
endef
TARGET_DEVICES += archer-c58-v1
define Device/archer-c59-v1
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK Archer C59 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca9888
BOARDNAME := ARCHER-C59-V1
TPLINK_BOARD_ID := ARCHER-C59-V1
DEVICE_PROFILE := ARCHERC59V1
IMAGE_SIZE := 14528k
MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1536k(kernel),12992k(rootfs),1664k(tplink)ro,64k(art)ro,14528k@0x20000(firmware)
SUPPORTED_DEVICES := archer-c59-v1
endef
TARGET_DEVICES += archer-c59-v1
define Device/archer-c60-v1
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK Archer C60 v1
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9888
BOARDNAME := ARCHER-C60-V1
TPLINK_BOARD_ID := ARCHER-C60-V1
DEVICE_PROFILE := ARCHERC60V1
IMAGE_SIZE := 7936k
MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,7936k(firmware),64k(tplink)ro,64k(art)ro
SUPPORTED_DEVICES := archer-c60-v1
endef
TARGET_DEVICES += archer-c60-v1
define Device/archer-c5-v1
$(Device/tplink-16mlzma)
DEVICE_TITLE := TP-LINK Archer C5 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C5
DEVICE_PROFILE := ARCHERC7
TPLINK_HWID := 0xc5000001
endef
TARGET_DEVICES += archer-c5-v1
define Device/archer-c7-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK Archer C7 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C7
DEVICE_PROFILE := ARCHERC7
TPLINK_HWID := 0x75000001
endef
TARGET_DEVICES += archer-c7-v1
define Device/archer-c7-v2
$(Device/tplink-16mlzma)
DEVICE_TITLE := TP-LINK Archer C7 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C7-V2
DEVICE_PROFILE := ARCHERC7
TPLINK_HWID := 0xc7000002
IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
endef
TARGET_DEVICES += archer-c7-v2
define Device/archer-c7-v2-il
$(Device/tplink-16mlzma)
DEVICE_TITLE := TP-LINK Archer C7 v2 (IL)
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C7-V2
DEVICE_PROFILE := ARCHERC7
TPLINK_HWID := 0xc7000002
TPLINK_HWREV := 0x494c0001
endef
TARGET_DEVICES += archer-c7-v2-il
define Device/tl-wdr7500-v3
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK Archer C7 v3
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C7
DEVICE_PROFILE := ARCHERC7
TPLINK_HWID := 0x75000003
endef
TARGET_DEVICES += tl-wdr7500-v3
define Device/archer-c7-v4
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK Archer C7 v4
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := ARCHER-C7-V4
TPLINK_BOARD_ID := ARCHER-C7-V4
IMAGE_SIZE := 15104k
LOADER_TYPE := elf
MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,1536k(kernel),13568k(rootfs),960k(config)ro,64k(art)ro,15104k@0x40000(firmware)
SUPPORTED_DEVICES := archer-c7-v4
endef
TARGET_DEVICES += archer-c7-v4
define Device/cpe510-520-v1
DEVICE_TITLE := TP-LINK CPE510/520 v1
DEVICE_PACKAGES := rssileds
MTDPARTS := spi0.0:128k(u-boot)ro,64k(partition-table)ro,64k(product-info)ro,1536k(kernel),6144k(rootfs),192k(config)ro,64k(ART)ro,7680k@0x40000(firmware)
IMAGE_SIZE := 7680k
BOARDNAME := CPE510
TPLINK_BOARD_ID := CPE510
DEVICE_PROFILE := CPE510
LOADER_TYPE := elf
KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
endef
TARGET_DEVICES += cpe510-520-v1
define Device/cpe210-220-v1
$(Device/cpe510-520-v1)
DEVICE_TITLE := TP-LINK CPE210/220 v1
BOARDNAME := CPE210
TPLINK_BOARD_ID := CPE210
endef
TARGET_DEVICES += cpe210-220-v1
define Device/wbs210-v1
$(Device/cpe510-520-v1)
DEVICE_TITLE := TP-LINK WBS210 v1
BOARDNAME := WBS210
TPLINK_BOARD_ID := WBS210
endef
TARGET_DEVICES += wbs210-v1
define Device/wbs510-v1
$(Device/cpe510-520-v1)
DEVICE_TITLE := TP-LINK WBS510 v1
BOARDNAME := WBS510
TPLINK_BOARD_ID := WBS510
endef
TARGET_DEVICES += wbs510-v1
define Device/eap120-v1
DEVICE_TITLE := TP-LINK EAP120 v1
MTDPARTS := spi0.0:128k(u-boot)ro,64k(partition-table)ro,64k(product-info)ro,1536k(kernel),14336k(rootfs),192k(config)ro,64k(ART)ro,15872k@0x40000(firmware)
IMAGE_SIZE := 15872k
BOARDNAME := EAP120
TPLINK_BOARD_ID := EAP120
DEVICE_PROFILE := EAP120
LOADER_TYPE := elf
KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
endef
TARGET_DEVICES += eap120-v1
define Device/re450-v1
DEVICE_TITLE := TP-LINK RE450 v1
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
MTDPARTS := spi0.0:128k(u-boot)ro,6016k(firmware),64k(partition-table)ro,64k(product-info)ro,1856k(config)ro,64k(art)ro
IMAGE_SIZE := 7936k
BOARDNAME := RE450
TPLINK_BOARD_ID := RE450
DEVICE_PROFILE := RE450
LOADER_TYPE := elf
TPLINK_HWID := 0x0
TPLINK_HWREV := 0
TPLINK_HEADER_VERSION := 1
KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
endef
TARGET_DEVICES += re450-v1
define Device/tl-mr6400-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-MR6400 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb-enablemodem
BOARDNAME := TL-MR6400
DEVICE_PROFILE := TLMR6400
TPLINK_HWID := 0x64000001
endef
TARGET_DEVICES += tl-mr6400-v1
define Device/tl-wdr3500-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WDR3500 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WDR3500
DEVICE_PROFILE := TLWDR4300
TPLINK_HWID := 0x35000001
endef
TARGET_DEVICES += tl-wdr3500-v1
define Device/tl-wdr3600-v1
$(Device/tl-wdr3500-v1)
DEVICE_TITLE := TP-LINK TL-WDR3600 v1
BOARDNAME := TL-WDR4300
TPLINK_HWID := 0x36000001
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
endef
TARGET_DEVICES += tl-wdr3600-v1
define Device/tl-wdr4300-v1
$(Device/tl-wdr3600-v1)
DEVICE_TITLE := TP-LINK TL-WDR4300 v1
TPLINK_HWID := 0x43000001
endef
TARGET_DEVICES += tl-wdr4300-v1
define Device/tl-wdr4300-v1-il
$(Device/tl-wdr3500-v1)
DEVICE_TITLE := TP-LINK TL-WDR4300 v1 (IL)
BOARDNAME := TL-WDR4300
TPLINK_HWID := 0x43008001
endef
TARGET_DEVICES += tl-wdr4300-v1-il
define Device/tl-wdr4310-v1
$(Device/tl-wdr4300-v1-il)
DEVICE_TITLE := TP-LINK TL-WDR4310 v1
TPLINK_HWID := 0x43100001
endef
TARGET_DEVICES += tl-wdr4310-v1
define Device/tl-wdr4900-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WDR4900 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WDR4900-v2
DEVICE_PROFILE := TLWDR4900V2
TPLINK_HWID := 0x49000002
endef
TARGET_DEVICES += tl-wdr4900-v2
define Device/tl-wdr6500-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WDR6500 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | tplink-v1-header
BOARDNAME := TL-WDR6500-v2
DEVICE_PROFILE := TLWDR6500V2
TPLINK_HWID := 0x65000002
TPLINK_HEADER_VERSION := 2
endef
TARGET_DEVICES += tl-wdr6500-v2
define Device/mw4530r-v1
$(Device/tl-wdr4300-v1)
DEVICE_TITLE := Mercury MW4530R v1
TPLINK_HWID := 0x45300001
endef
TARGET_DEVICES += mw4530r-v1
define Device/tl-wpa8630-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WPA8630 v1
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
BOARDNAME := TL-WPA8630
DEVICE_PROFILE := TL-WPA8630
TPLINK_HWID := 0x86300001
endef
TARGET_DEVICES += tl-wpa8630-v1
define Device/tl-wr1043n-v5
$(Device/archer-cxx)
DEVICE_TITLE := TP-LINK TL-WR1043N v5
BOARDNAME := TL-WR1043N-v5
SUPPORTED_DEVICES := tl-wr1043n-v5
DEVICE_PROFILE := TLWR1043
MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,15104k(firmware),128k(product-info)ro,640k(config)ro,64k(partition-table)ro,128k(logs)ro,64k(art)ro
IMAGE_SIZE := 15104k
TPLINK_BOARD_ID := TLWR1043NV5
endef
TARGET_DEVICES += tl-wr1043n-v5
define Device/tl-wr1043nd-v1
$(Device/tplink-8m)
DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR1043ND
DEVICE_PROFILE := TLWR1043
TPLINK_HWID := 0x10430001
endef
TARGET_DEVICES += tl-wr1043nd-v1
define Device/tl-wr1043nd-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR1043ND-v2
DEVICE_PROFILE := TLWR1043
TPLINK_HWID := 0x10430002
endef
TARGET_DEVICES += tl-wr1043nd-v2
define Device/tl-wr1043nd-v3
$(Device/tl-wr1043nd-v2)
DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
TPLINK_HWID := 0x10430003
endef
TARGET_DEVICES += tl-wr1043nd-v3
define Device/tl-wr1043nd-v4
$(Device/tplink)
DEVICE_TITLE := TP-LINK TL-WR1043N/ND v4
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR1043ND-v4
DEVICE_PROFILE := TLWR1043
TPLINK_HWID := 0x10430004
MTDPARTS := spi0.0:128k(u-boot)ro,1536k(kernel),14016k(rootfs),128k(product-info)ro,320k(config)ro,64k(partition-table)ro,128k(logs)ro,64k(ART)ro,15552k@0x20000(firmware)
IMAGE_SIZE := 15552k
TPLINK_BOARD_ID := TLWR1043NDV4
KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
endef
TARGET_DEVICES += tl-wr1043nd-v4
define Device/tl-wr2543-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR2543N/ND v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR2543N
DEVICE_PROFILE := TLWR2543
TPLINK_HWID := 0x25430001
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
endef
TARGET_DEVICES += tl-wr2543-v1
define Device/tl-wr710n-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR710N v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-WR710N
DEVICE_PROFILE := TLWR710
TPLINK_HWID := 0x07100001
CONSOLE := ttyATH0,115200
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
endef
TARGET_DEVICES += tl-wr710n-v1
define Device/tl-wr710n-v2.1
$(Device/tl-wr710n-v1)
DEVICE_TITLE := TP-LINK TL-WR710N v2.1
TPLINK_HWID := 0x07100002
TPLINK_HWREV := 0x00000002
endef
TARGET_DEVICES += tl-wr710n-v2.1
define Device/tl-wr810n-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR810N v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-WR810N
DEVICE_PROFILE := TLWR810
TPLINK_HWID := 0x08100001
endef
TARGET_DEVICES += tl-wr810n-v1
define Device/tl-wr810n-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR810N v2
BOARDNAME := TL-WR810N-v2
DEVICE_PROFILE := TLWR810
TPLINK_HWID := 0x08100002
endef
TARGET_DEVICES += tl-wr810n-v2
define Device/tl-wr842n-v1
$(Device/tplink-8m)
DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3420
DEVICE_PROFILE := TLWR842
TPLINK_HWID := 0x08420001
endef
TARGET_DEVICES += tl-wr842n-v1
define Device/tl-wr842n-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR842N-v2
DEVICE_PROFILE := TLWR842
TPLINK_HWID := 0x8420002
endef
TARGET_DEVICES += tl-wr842n-v2
define Device/tl-wr842n-v3
$(Device/tplink-16mlzma)
DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR842N-v3
DEVICE_PROFILE := TLWR842
TPLINK_HWID := 0x08420003
endef
TARGET_DEVICES += tl-wr842n-v3
define Device/tl-wr902ac-v1
DEVICE_TITLE := TP-LINK TL-WR902AC v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k ath10k-firmware-qca9887 -swconfig -uboot-envtools
BOARDNAME := TL-WR902AC-V1
DEVICE_PROFILE := TLWR902
TPLINK_BOARD_ID := TL-WR902AC-V1
TPLINK_HWID := 0x0
TPLINK_HWREV := 0
TPLINK_HEADER_VERSION := 1
SUPPORTED_DEVICES := tl-wr902ac-v1
IMAGE_SIZE := 7360k
KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header
IMAGES += factory.bin
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
append-metadata | check-size $$$$(IMAGE_SIZE)
MTDPARTS := spi0.0:128k(u-boot)ro,7360k(firmware),640k(tplink)ro,64k(art)ro
endef
TARGET_DEVICES += tl-wr902ac-v1
define Device/tl-wr942n-v1
DEVICE_TITLE := TP-LINK TL-WR942N v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WR942N-V1
TPLINK_BOARD_ID := TLWR942NV1
DEVICE_PROFILE := TLWR942
IMAGE_SIZE := 14464k
KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
IMAGES := sysupgrade.bin factory.bin
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
MTDPARTS := spi0.0:128k(u-boot)ro,14464k(firmware),64k(product-info)ro,64k(partition-table)ro,256k(oem-config)ro,1344k(oem-vars)ro,64k(ART)ro
SUPPORTED_DEVICES := tl-wr942n-v1
endef
TARGET_DEVICES += tl-wr942n-v1

View File

@ -71,31 +71,35 @@ define Device/rw2458n
DEVICE_TITLE := Ubiquiti RW2458N
BOARDNAME := RW2458N
endef
TARGET_DEVICES += rw2458n
define Device/ubnt-airrouter
$(Device/ubnt-xm)
DEVICE_TITLE := Ubiquiti AirRouter
BOARDNAME := UBNT-AR
endef
TARGET_DEVICES += ubnt-airrouter
define Device/ubnt-bullet-m
$(Device/ubnt-xm)
DEVICE_TITLE := Ubiquiti Bullet-M
BOARDNAME := UBNT-BM
endef
TARGET_DEVICES += ubnt-bullet-m
define Device/ubnt-rocket-m
$(Device/ubnt-xm)
DEVICE_TITLE := Ubiquiti Rocket-M
BOARDNAME := UBNT-RM
endef
TARGET_DEVICES += ubnt-rocket-m
define Device/ubnt-nano-m
$(Device/ubnt-xm)
DEVICE_TITLE := Ubiquiti Nano-M
BOARDNAME := UBNT-NM
endef
TARGET_DEVICES += rw2458n ubnt-airrouter ubnt-bullet-m ubnt-rocket-m ubnt-nano-m
TARGET_DEVICES += ubnt-nano-m
define Device/ubnt-unifi
$(Device/ubnt-bz)
@ -103,6 +107,7 @@ define Device/ubnt-unifi
BOARDNAME := UBNT-UF
DEVICE_PROFILE += UBNTUNIFI
endef
TARGET_DEVICES += ubnt-unifi
define Device/ubnt-unifiac
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
@ -120,11 +125,13 @@ define Device/ubnt-unifiac-lite
DEVICE_PROFILE += UBNTUNIFIACLITE
BOARDNAME := UBNT-UF-AC-LITE
endef
TARGET_DEVICES += ubnt-unifiac-lite
define Device/ubnt-unifiac-mesh
$(Device/ubnt-unifiac-lite)
DEVICE_TITLE := Ubiquiti UniFi AC-Mesh
endef
TARGET_DEVICES += ubnt-unifiac-mesh
define Device/ubnt-unifiac-pro
$(Device/ubnt-unifiac)
@ -133,6 +140,7 @@ define Device/ubnt-unifiac-pro
DEVICE_PROFILE += UBNTUNIFIACPRO
BOARDNAME := UBNT-UF-AC-PRO
endef
TARGET_DEVICES += ubnt-unifiac-pro
define Device/ubnt-unifi-outdoor
$(Device/ubnt-bz)
@ -140,25 +148,28 @@ define Device/ubnt-unifi-outdoor
BOARDNAME := UBNT-U20
DEVICE_PROFILE += UBNTUNIFIOUTDOOR
endef
TARGET_DEVICES += ubnt-unifi ubnt-unifiac-lite ubnt-unifiac-mesh ubnt-unifiac-pro ubnt-unifi-outdoor
TARGET_DEVICES += ubnt-unifi-outdoor
define Device/ubnt-nano-m-xw
$(Device/ubnt-xw)
DEVICE_TITLE := Ubiquiti Nano M XW
BOARDNAME := UBNT-NM-XW
endef
TARGET_DEVICES += ubnt-nano-m-xw
define Device/ubnt-loco-m-xw
$(Device/ubnt-xw)
DEVICE_TITLE := Ubiquiti Loco XW
BOARDNAME := UBNT-LOCO-XW
endef
TARGET_DEVICES += ubnt-loco-m-xw
define Device/ubnt-rocket-m-xw
$(Device/ubnt-xw)
DEVICE_TITLE := Ubiquiti Rocket M XW
BOARDNAME := UBNT-RM-XW
endef
TARGET_DEVICES += ubnt-rocket-m-xw
define Device/ubnt-rocket-m-ti
$(Device/ubnt-xw)
@ -166,7 +177,7 @@ define Device/ubnt-rocket-m-ti
BOARDNAME := UBNT-RM-TI
UBNT_TYPE := TI
endef
TARGET_DEVICES += ubnt-nano-m-xw ubnt-loco-m-xw ubnt-rocket-m-xw ubnt-rocket-m-ti
TARGET_DEVICES += ubnt-rocket-m-ti
define Device/ubnt-air-gateway
$(Device/ubnt-xm)
@ -176,6 +187,7 @@ define Device/ubnt-air-gateway
UBNT_CHIP := ar933x
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += ubnt-air-gateway
define Device/ubnt-air-gateway-pro
$(Device/ubnt-xm)
@ -184,6 +196,7 @@ define Device/ubnt-air-gateway-pro
UBNT_TYPE := AirGWP
UBNT_CHIP := ar934x
endef
TARGET_DEVICES += ubnt-air-gateway-pro
define Device/ubdev01
$(Device/ubnt-xm)
@ -192,7 +205,7 @@ define Device/ubdev01
BOARDNAME := UBNT-UF
UBNT_BOARD := UBDEV01
endef
TARGET_DEVICES += ubnt-air-gateway ubnt-air-gateway-pro ubdev01
TARGET_DEVICES += ubdev01
define Device/ubnt-routerstation
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
@ -213,6 +226,7 @@ define Device/ubnt-rs
UBNT_TYPE := RSx
UBNT_CHIP := ar7100
endef
TARGET_DEVICES += ubnt-rs
define Device/ubnt-rspro
$(Device/ubnt-routerstation)
@ -223,6 +237,7 @@ define Device/ubnt-rspro
UBNT_TYPE := RSPRO
UBNT_CHIP := ar7100pro
endef
TARGET_DEVICES += ubnt-rspro
define Device/ubnt-ls-sr71
$(Device/ubnt-routerstation)
@ -232,7 +247,7 @@ define Device/ubnt-ls-sr71
UBNT_TYPE := LS-SR71
UBNT_CHIP := ar7100
endef
TARGET_DEVICES += ubnt-rs ubnt-rspro ubnt-ls-sr71
TARGET_DEVICES += ubnt-ls-sr71
define Device/ubnt-uap-pro
DEVICE_TITLE := Ubiquiti UAP Pro

View File

@ -231,7 +231,7 @@ TARGET_DEVICES += dragino2
define Device/ew-dorin
DEVICE_TITLE := Embedded Wireless Dorin Platform
DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
BOARDNAME = EW-DORIN
CONSOLE := ttyATH0,115200
IMAGE_SIZE = 16000k
@ -241,7 +241,7 @@ TARGET_DEVICES += ew-dorin
define Device/ew-dorin-router
DEVICE_TITLE := Embedded Wireless Dorin Router Platform
DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
BOARDNAME = EW-DORIN-ROUTER
CONSOLE := ttyATH0,115200
IMAGE_SIZE = 16000k
@ -341,13 +341,23 @@ define Device/mr12
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
IMAGES := kernel.bin rootfs.bin sysupgrade.bin
endef
TARGET_DEVICES += mr12
define Device/mr16
$(Device/mr12)
DEVICE_TITLE := Meraki MR16
BOARDNAME := MR16
endef
TARGET_DEVICES += mr12 mr16
TARGET_DEVICES += mr16
define Device/dr342
DEVICE_TITLE := Wallys DR342
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 -swconfig
BOARDNAME := DR342
IMAGE_SIZE := 16000k
MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(partition-table)ro,16000k(firmware),64k(art)ro
endef
TARGET_DEVICES += dr342
define Device/dr344
DEVICE_TITLE := Wallys DR344
@ -383,6 +393,7 @@ define Device/wndr3700
IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += wndr3700
define Device/wndr3700v2
$(Device/wndr3700)
@ -394,6 +405,7 @@ define Device/wndr3700v2
MTDPARTS := spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,15872k(firmware),64k(art)ro
IMAGES := sysupgrade.bin factory.img
endef
TARGET_DEVICES += wndr3700v2
define Device/wndr3800
$(Device/wndr3700v2)
@ -401,25 +413,28 @@ define Device/wndr3800
NETGEAR_BOARD_ID := WNDR3800
NETGEAR_HW_ID := 29763654+16+128
endef
TARGET_DEVICES += wndr3800
define Device/wndr3800ch
$(Device/wndr3800)
DEVICE_TITLE := NETGEAR WNDR3800 (Ch)
NETGEAR_BOARD_ID := WNDR3800CH
endef
TARGET_DEVICES += wndr3800ch
define Device/wndrmac
$(Device/wndr3700v2)
DEVICE_TITLE := NETGEAR WNDRMAC
NETGEAR_BOARD_ID := WNDRMAC
endef
TARGET_DEVICES += wndrmac
define Device/wndrmacv2
$(Device/wndr3800)
DEVICE_TITLE := NETGEAR WNDRMAC v2
NETGEAR_BOARD_ID := WNDRMACv2
endef
TARGET_DEVICES += wndr3700 wndr3700v2 wndr3800 wndr3800ch wndrmac wndrmacv2
TARGET_DEVICES += wndrmacv2
define Device/cap324
DEVICE_TITLE := PowerCloud CAP324 Cloud AP
@ -496,6 +511,7 @@ define Device/antminer-s1
TPLINK_HWID := 0x04440101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += antminer-s1
define Device/antminer-s3
$(Device/tplink-8mlzma)
@ -506,6 +522,7 @@ define Device/antminer-s3
TPLINK_HWID := 0x04440301
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += antminer-s3
define Device/antrouter-r1
$(Device/tplink-8mlzma)
@ -516,6 +533,7 @@ define Device/antrouter-r1
TPLINK_HWID := 0x44440101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += antrouter-r1
define Device/el-m150
$(Device/tplink-8mlzma)
@ -526,6 +544,7 @@ define Device/el-m150
TPLINK_HWID := 0x01500101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += el-m150
define Device/el-mini
$(Device/tplink-8mlzma)
@ -536,7 +555,7 @@ define Device/el-mini
TPLINK_HWID := 0x01530001
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += antminer-s1 antminer-s3 antrouter-r1 el-m150 el-mini
TARGET_DEVICES += el-mini
define Device/gl-inet-6408A-v1
$(Device/tplink-8mlzma)
@ -547,6 +566,7 @@ define Device/gl-inet-6408A-v1
TPLINK_HWID := 0x08000001
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += gl-inet-6408A-v1
define Device/gl-inet-6416A-v1
$(Device/tplink-16mlzma)
@ -557,7 +577,7 @@ define Device/gl-inet-6416A-v1
TPLINK_HWID := 0x08000001
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += gl-inet-6408A-v1 gl-inet-6416A-v1
TARGET_DEVICES += gl-inet-6416A-v1
define Device/jwap230
DEVICE_TITLE := jjPlus JWAP230
@ -577,16 +597,6 @@ define Device/r602n
endef
TARGET_DEVICES += r602n
define Device/rnx-n360rt
$(Device/tplink-4m)
DEVICE_TITLE := Rosewill RNX-N360RT
BOARDNAME := TL-WR941ND
DEVICE_PROFILE := RNXN360RT
TPLINK_HWID := 0x09410002
TPLINK_HWREV := 0x00420001
endef
TARGET_DEVICES += rnx-n360rt
define Device/mc-mac1200r
$(Device/tplink-8mlzma)
DEVICE_TITLE := Mercury MAC1200R
@ -597,15 +607,6 @@ define Device/mc-mac1200r
endef
TARGET_DEVICES += mc-mac1200r
define Device/mw316r-v1
$(Device/tplink-8mlzma)
DEVICE_TITLE := Mercury MW316R v1
BOARDNAME := MW316R-v1
DEVICE_PROFILE := MW316R
TPLINK_HWID := 0x03160001
endef
TARGET_DEVICES += mw316r-v1
define Device/minibox-v1
$(Device/tplink-16mlzma)
DEVICE_TITLE := Gainstrong MiniBox V1.0
@ -625,6 +626,7 @@ define Device/omy-g1
DEVICE_PROFILE := OMYG1
TPLINK_HWID := 0x06660101
endef
TARGET_DEVICES += omy-g1
define Device/omy-x1
$(Device/tplink-8mlzma)
@ -633,7 +635,7 @@ define Device/omy-x1
DEVICE_PROFILE := OMYX1
TPLINK_HWID := 0x06660201
endef
TARGET_DEVICES += omy-g1 omy-x1
TARGET_DEVICES += omy-x1
define Device/onion-omega
$(Device/tplink-16mlzma)
@ -826,6 +828,7 @@ define Device/dir-869-a1
seama | seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += dir-869-a1
define Device/mynet-n600
$(Device/seama)
@ -836,6 +839,7 @@ define Device/mynet-n600
MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
SEAMA_SIGNATURE := wrgnd16_wd_db600
endef
TARGET_DEVICES += mynet-n600
define Device/mynet-n750
$(Device/seama)
@ -846,6 +850,7 @@ define Device/mynet-n750
MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
SEAMA_SIGNATURE := wrgnd13_wd_av
endef
TARGET_DEVICES += mynet-n750
define Device/qihoo-c301
$(Device/seama)
@ -856,7 +861,7 @@ define Device/qihoo-c301
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)
SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
endef
TARGET_DEVICES += dir-869-a1 mynet-n600 mynet-n750 qihoo-c301
TARGET_DEVICES += qihoo-c301
define Device/dap-2695-a1
DEVICE_TITLE := D-Link DAP-2695 rev. A1
@ -897,6 +902,7 @@ define Device/wpj342
DEVICE_TITLE := Compex WPJ342 (16MB flash)
BOARDNAME := WPJ342
endef
TARGET_DEVICES += wpj342
define Device/wpj344
$(Device/wpj-16m)
@ -906,12 +912,14 @@ define Device/wpj344
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += wpj344
define Device/wpj531
$(Device/wpj-16m)
DEVICE_TITLE := Compex WPJ531 (16MB flash)
BOARDNAME := WPJ531
endef
TARGET_DEVICES += wpj531
define Device/wpj558
$(Device/wpj-16m)
@ -921,13 +929,14 @@ define Device/wpj558
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += wpj558
define Device/wpj563
$(Device/wpj-16m)
DEVICE_TITLE := Compex WPJ563 (16MB flash)
BOARDNAME := WPJ563
endef
TARGET_DEVICES += wpj342 wpj344 wpj531 wpj558 wpj563
TARGET_DEVICES += wpj563
define Device/wrtnode2q
DEVICE_TITLE := WRTnode2Q

View File

@ -271,11 +271,10 @@ wnr2000v3_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmw
wnr2000v4_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,3776k(firmware),64k(art)ro
r6100_mtdlayout=mtdparts=ar934x-nfc:128k(u-boot)ro,256k(caldata)ro,256k(caldata-backup),512k(config),512k(pot),2048k(kernel),122240k(ubi),25600k@0x1a0000(firmware),2048k(language),3072k(traffic_meter)
tew823dru_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,15296k(firmware),192k(lang)ro,512k(my-dlink)ro,64k(mac)ro,64k(art)ro
wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(caldata),512k(pot),2048k(language),512k(config),3072k(traffic_meter),2048k(kernel),121856k(ubi),123904k@0x6c0000(firmware),256k(caldata_backup),-(reserved)
wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(caldata)ro,512k(pot),2048k(language),512k(config),3072k(traffic_meter),2048k(kernel),23552k(ubi),25600k@0x6c0000(firmware),256k(caldata_backup),-(reserved)
zcn1523h_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6208k(rootfs),1472k(kernel),64k(configure)ro,64k(mfg)ro,64k(art)ro,7680k@0x50000(firmware)
mynet_rext_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,7808k(firmware),64k(nvram)ro,64k(ART)ro
zyx_nbg6716_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(env)ro,64k(RFdata)ro,-(nbu);ar934x-nfc:2048k(zyxel_rfsd),2048k(romd),1024k(header),2048k(kernel),-(ubi)
ap2600ifm_256kblk_mtdlayout=mtdparts=spi0.0:256k(breed)ro,256k(breed-env)ro,1536k(kernel),14336k(rootfs),15872k@0x80000(firmware)
define Image/BuildKernel
cp $(KDIR)/vmlinux.elf $(VMLINUX).elf
@ -902,25 +901,6 @@ $(eval $(call SingleProfile,AthLzma,64k,WLR8100,wlr8100,WLR8100,ttyS0,115200,$$(
$(eval $(call SingleProfile,Belkin,64k,F9K1115V2,f9k1115v2,F9K1115V2,ttyS0,115200,$$(f9k1115v2_mtdlayout),BR-6679BAC))
$(eval $(call SingleProfile,CameoAP91,64kraw,DIR600A1,dir-600-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-00"))
$(eval $(call SingleProfile,CameoAP91,64kraw,DIR601A1,dir-601-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-02"))
$(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-01"))
$(eval $(call SingleProfile,CameoAP99,64kraw,EBR2310C1,ebr-2310-c1,EBR-2310-C1,ttyS0,115200,"AP91-AR7240-RT-090223-03"))
$(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00"))
$(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05"))
$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I1,dir-615-i1,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-1012I1-00"))
$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I3,dir-615-i3,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-101214-00"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,A02RBW300N,a02-rb-w300n,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-03"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,DIR615C1,dir-615-c1,DIR-615-C1,ttyS0,115200,"AP81-AR9130-RT-070614-02"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW632BRP,tew-632brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-00"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW652BRP_FW,tew-652brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-080609-05"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW652BRP_RECOVERY,tew-652brp-recovery,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-02"))
$(eval $(call SingleProfile,CameoAP121,64kraw-nojffs,TEW712BR,tew-712br,TEW-712BR,ttyATH0,115200,"HORNET-RT-TEW712BR-3",1.99,""))
$(eval $(call SingleProfile,CameoAP121,64kraw-nojffs,DIR601B1,dir-601-b1,TEW-712BR,ttyATH0,115200,"HORNET-RT-DIR601B1-3",2.99.99,"" "NA"))
$(eval $(call SingleProfile,CameoAP121_8M,64kraw-nojffs,DIR505A1,dir-505-a1,DIR-505-A1,ttyATH0,115200,"HORNET-PACKET-DIR505A1-3",1.99.99,""))
$(eval $(call SingleProfile,CameoAP135,64kraw,DGL5500A1,dgl-5500-a1,DGL-5500-A1,ttyS0,115200,$$(dgl_5500_mtdlayout),"00AP135AR9558-RT-130508-00"))
@ -949,22 +929,12 @@ $(eval $(call SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(es
$(eval $(call SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61))
$(eval $(call SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71))
$(eval $(call SingleProfile,MyLoader,64k,WP543_4M,wp543,,ttyS0,115200,0x400000,4M))
$(eval $(call SingleProfile,MyLoader,64k,WP543_8M,wp543,,ttyS0,115200,0x800000,8M))
$(eval $(call SingleProfile,MyLoader,64k,WP543_16M,wp543,,ttyS0,115200,0x1000000,16M))
$(eval $(call SingleProfile,MyLoader,64k,WPE72_4M,wpe72,,ttyS0,115200,0x400000,4M))
$(eval $(call SingleProfile,MyLoader,64k,WPE72_8M,wpe72,,ttyS0,115200,0x800000,8M))
$(eval $(call SingleProfile,MyLoader,64k,WPE72_16M,wpe72,,ttyS0,115200,0x1000000,16M))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2000V3,wnr2000v3,WNR2000V3,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303033,WNR2000V3,"" NA,-H 29763551+04+32))
$(eval $(call SingleProfile,NetgearLzma,64kraw,WNR2000V4,wnr2000v4,WNR2000V4,ttyS0,115200,$$(wnr2000v4_mtdlayout),0x32303034,WNR2000V4,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2000,wnr2000,WNR2000,ttyS0,115200,$$(wnr2000_mtdlayout),0x32303031,WNR2000,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2200,wnr2200,WNR2200,ttyS0,115200,$$(wnr2200_mtdlayout),0x32323030,wnr2200,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR612V2,wnr612v2,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,WNR612V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,N150R,n150r,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,N150R,"",))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR1000V2,wnr1000v2,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303031,WNR1000V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WNR1000V2_VC,wnr1000v2-vc,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303030,WNR1000V2-VC,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WPN824N,wpn824n,WPN824N,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31313030,WPN824N,"" NA,))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,A60,a60,,,,A60))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM2P,om2p,,,,OM2P))
@ -987,11 +957,6 @@ $(eval $(call SingleProfile,Planex,64kraw,MZKW300NH,mzk-w300nh,MZK-W300NH,ttyS0,
$(eval $(call SingleProfile,Senao,squashfs-only,EAP300V2,eap300v2,EAP300V2,ttyS0,115200,$$(eap300v2_mtdlayout)))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPG300N,whr-hp-g300n,WHR-HP-G300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-G300N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPGN,whr-hp-gn,WHR-HP-GN,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-GN))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WLAEAG300N,wlae-ag300n,WLAE-AG300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WLAE-AG300N))
$(eval $(call SingleProfile,WRT400N,64k,WRT400N,wrt400n,WRT400N,ttyS0,115200))
$(eval $(call SingleProfile,WZRHP128K,128kraw,WZRHPG300NH,wzr-hp-g300nh,WZR-HP-G300NH,ttyS0,115200,WZR-HP-G300NH))
@ -1004,14 +969,53 @@ $(eval $(call SingleProfile,WZRHP64K,64kraw,WZR450HP2,wzr-450hp2,WZR-450HP2,ttyS
$(eval $(call SingleProfile,Zcomax,64k,ZCN1523H28,zcn-1523h-2-8,ZCN-1523H-2,ttyS0,115200,$$(zcn1523h_mtdlayout)))
$(eval $(call SingleProfile,Zcomax,64k,ZCN1523H516,zcn-1523h-5-16,ZCN-1523H-5,ttyS0,115200,$$(zcn1523h_mtdlayout)))
$(eval $(call SingleProfile,ZyXEL,64k,NBG_460N_550N_550NH,nbg460n_550n_550nh,NBG460N,ttyS0,115200,NBG-460N))
$(eval $(call SingleProfile,AthLzma,64k,SGRW500N85BV2,sgr-w500-n85b-v2,SGRW500N85BV2,ttyS0,115200,$$(ap147_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,64k,SGRW500EBIFITV3,sgr-w500-ebi-fit-v3,SGRW500EBIFITV3,ttyS0,115200,$$(ap96_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,64k,AP2600I,maselink-ap2600i,AP2600I,ttyS0,115200,$$(ap147_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,256k,AP2600IFM,maselink-ap2600ifm,AP2600IFM,ttyS0,115200,$$(ap2600ifm_256kblk_mtdlayout) ahbskip=1,KRuImage))
endif # ifeq ($(SUBTARGET),generic)
ifeq ($(SUBTARGET),tiny)
$(eval $(call SingleProfile,CameoAP91,64kraw,DIR600A1,dir-600-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-00"))
$(eval $(call SingleProfile,CameoAP91,64kraw,DIR601A1,dir-601-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-02"))
$(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-01"))
$(eval $(call SingleProfile,CameoAP99,64kraw,EBR2310C1,ebr-2310-c1,EBR-2310-C1,ttyS0,115200,"AP91-AR7240-RT-090223-03"))
$(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00"))
$(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05"))
$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I1,dir-615-i1,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-1012I1-00"))
$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I3,dir-615-i3,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-101214-00"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,A02RBW300N,a02-rb-w300n,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-03"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,DIR615C1,dir-615-c1,DIR-615-C1,ttyS0,115200,"AP81-AR9130-RT-070614-02"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW632BRP,tew-632brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-00"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW652BRP_FW,tew-652brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-080609-05"))
$(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW652BRP_RECOVERY,tew-652brp-recovery,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-02"))
$(eval $(call SingleProfile,CameoAP121,64kraw-nojffs,TEW712BR,tew-712br,TEW-712BR,ttyATH0,115200,"HORNET-RT-TEW712BR-3",1.99,""))
$(eval $(call SingleProfile,CameoAP121,64kraw-nojffs,DIR601B1,dir-601-b1,TEW-712BR,ttyATH0,115200,"HORNET-RT-DIR601B1-3",2.99.99,"" "NA"))
$(eval $(call SingleProfile,MyLoader,64k,WP543_4M,wp543,,ttyS0,115200,0x400000,4M))
$(eval $(call SingleProfile,MyLoader,64k,WPE72_4M,wpe72,,ttyS0,115200,0x400000,4M))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2000V3,wnr2000v3,WNR2000V3,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303033,WNR2000V3,"" NA,-H 29763551+04+32))
$(eval $(call SingleProfile,NetgearLzma,64kraw,WNR2000V4,wnr2000v4,WNR2000V4,ttyS0,115200,$$(wnr2000v4_mtdlayout),0x32303034,WNR2000V4,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2000,wnr2000,WNR2000,ttyS0,115200,$$(wnr2000_mtdlayout),0x32303031,WNR2000,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR612V2,wnr612v2,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,WNR612V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,N150R,n150r,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,N150R,"",))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR1000V2,wnr1000v2,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303031,WNR1000V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WNR1000V2_VC,wnr1000v2-vc,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303030,WNR1000V2-VC,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WPN824N,wpn824n,WPN824N,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31313030,WPN824N,"" NA,))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPG300N,whr-hp-g300n,WHR-HP-G300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-G300N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPGN,whr-hp-gn,WHR-HP-GN,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-GN))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WLAEAG300N,wlae-ag300n,WLAE-AG300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WLAE-AG300N))
$(eval $(call SingleProfile,ZyXEL,64k,NBG_460N_550N_550NH,nbg460n_550n_550nh,NBG460N,ttyS0,115200,NBG-460N))
endif # ifeq ($(SUBTARGET),tiny)
ifeq ($(SUBTARGET),nand)
$(eval $(call SingleProfile,NetgearNAND,64k,WNDR3700V4,wndr3700v4,WNDR3700_V4,ttyS0,115200,$$(wndr4300_mtdlayout),0x33373033,WNDR3700v4,"",-H 29763948+128+128,wndr4300))

View File

@ -33,7 +33,7 @@ BIN_FLAGS := -O binary -R .reginfo -R .note -R .comment -R .mdebug \
CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \
-mno-abicalls -fno-pic -ffunction-sections -pipe -mlong-calls \
-fno-common -ffreestanding -fhonour-copts \
-fno-common -ffreestanding -fhonour-copts -nostartfiles \
-mabi=32 -march=mips32r2 \
-Wa,-32 -Wa,-march=mips32r2 -Wa,-mips32r2 -Wa,--trap
CFLAGS += -D_LZMA_PROB32

View File

@ -15,29 +15,40 @@ define Device/nand-64m
DEVICE_TITLE := MikroTik RouterBoard (64 MB NAND)
KERNEL := kernel-bin | kernel2minor -s 512 -e -c
endef
TARGET_DEVICES += nand-64m
define Device/nand-large
$(Device/mikrotik)
DEVICE_TITLE := MikroTik RouterBoard (>= 128 MB NAND)
KERNEL := kernel-bin | kernel2minor -s 2048 -e -c
endef
TARGET_DEVICES += nand-64m nand-large
TARGET_DEVICES += nand-large
define Device/nand-large-ac
$(Device/mikrotik)
DEVICE_TITLE := MikroTik RouterBoard (>= 128 MB NAND, 802.11ac)
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
KERNEL := kernel-bin | kernel2minor -s 2048 -e -c
SUPPORTED_DEVICES := rb-921gs-5hpacd-r2
endef
TARGET_DEVICES += nand-large-ac
define Device/rb-nor-flash-16M
DEVICE_TITLE := MikroTik RouterBoard (16 MB SPI NOR)
DEVICE_PACKAGES := rbcfg rssileds -nand-utils
DEVICE_PACKAGES := rbcfg rssileds -nand-utils kmod-ledtrig-gpio
IMAGE_SIZE := 16000k
LOADER_TYPE := elf
KERNEL_INSTALL := 1
KERNEL := kernel-bin | lzma | loader-kernel
SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-mapl-2nd
SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd
IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 -e | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += rb-nor-flash-16M
define Device/rb-nor-flash-16M-ac
$(Device/rb-nor-flash-16M)
DEVICE_TITLE := MikroTik RouterBoard (16 MB SPI NOR, 802.11ac)
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x ath10k-firmware-qca9887
endef
TARGET_DEVICES += rb-nor-flash-16M rb-nor-flash-16M-ac
TARGET_DEVICES += rb-nor-flash-16M-ac

View File

@ -0,0 +1,154 @@
define LegacyDevice/DIR600A1
DEVICE_TITLE := D-Link DIR-600 rev. A1
endef
LEGACY_DEVICES += DIR600A1
define LegacyDevice/DIR601A1
DEVICE_TITLE := D-Link DIR-601 rev. A1
endef
LEGACY_DEVICES += DIR601A1
define LegacyDevice/FR54RTR
DEVICE_TITLE := Frys FR-54RTR
endef
LEGACY_DEVICES += FR54RTR
define LegacyDevice/EBR2310C1
DEVICE_TITLE := D-Link EBR-2310 rev. C1
endef
LEGACY_DEVICES += EBR2310C1
define LegacyDevice/DIR615E1
DEVICE_TITLE := D-Link DIR-615 rev. E1
endef
LEGACY_DEVICES += DIR615E1
define LegacyDevice/DIR615E4
DEVICE_TITLE := D-Link DIR-615 rev. E4
endef
LEGACY_DEVICES += DIR615E4
define LegacyDevice/DIR615I1
DEVICE_TITLE := D-Link DIR-615 rev. I1
endef
LEGACY_DEVICES += DIR615I1
define LegacyDevice/DIR615I3
DEVICE_TITLE := D-Link DIR-615 rev. I3
endef
LEGACY_DEVICES += DIR615I3
define LegacyDevice/A02RBW300N
DEVICE_TITLE := Atlantis-Land A02-RB-W300N
endef
LEGACY_DEVICES += A02RBW300N
define LegacyDevice/DIR615C1
DEVICE_TITLE := D-Link DIR-615 rev. C1
endef
LEGACY_DEVICES += DIR615C1
define LegacyDevice/TEW632BRP
DEVICE_TITLE := TRENDNet TEW-632BRP
endef
LEGACY_DEVICES += TEW632BRP
define LegacyDevice/TEW652BRP_FW
DEVICE_TITLE := TRENDNet TEW-652BRP
endef
LEGACY_DEVICES += TEW652BRP_FW
define LegacyDevice/TEW652BRP_RECOVERY
DEVICE_TITLE := TRENDNet TEW-652BRP (recovery)
endef
LEGACY_DEVICES += TEW652BRP_RECOVERY
define LegacyDevice/TEW712BR
DEVICE_TITLE := TRENDNet TEW-712BR
endef
LEGACY_DEVICES += TEW712BR
define LegacyDevice/DIR601B1
DEVICE_TITLE := D-Link DIR-601 rev. B1
endef
LEGACY_DEVICES += DIR601B1
define LegacyDevice/WP543_4M
DEVICE_TITLE := Compex WP543/WPJ543 (4MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
endef
LEGACY_DEVICES += WP543_4M
define LegacyDevice/WPE72_4M
DEVICE_TITLE := Compex WPE72/WPE72NX (4MB flash)
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
endef
LEGACY_DEVICES += WPE72_4M
define LegacyDevice/WNR2000
DEVICE_TITLE := NETGEAR WNR2000V1
endef
LEGACY_DEVICES += WNR2000
define LegacyDevice/WNR2000V3
DEVICE_TITLE := NETGEAR WNR2000V3
endef
LEGACY_DEVICES += WNR2000V3
define LegacyDevice/WNR2000V4
DEVICE_TITLE := NETGEAR WNR2000V4
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
endef
LEGACY_DEVICES += WNR2000V4
define LegacyDevice/REALWNR612V2
DEVICE_TITLE := NETGEAR WNR612V2
endef
LEGACY_DEVICES += REALWNR612V2
define LegacyDevice/N150R
DEVICE_TITLE := On Networks N150
endef
LEGACY_DEVICES += N150R
define LegacyDevice/REALWNR1000V2
DEVICE_TITLE := NETGEAR WNR1000V2
endef
LEGACY_DEVICES += REALWNR1000V2
define LegacyDevice/WNR1000V2_VC
DEVICE_TITLE := NETGEAR WNR1000V2-VC
endef
LEGACY_DEVICES += WNR1000V2_VC
define LegacyDevice/WPN824N
DEVICE_TITLE := NETGEAR WPN824N
endef
LEGACY_DEVICES += WPN824N
define LegacyDevice/WHRG301N
DEVICE_TITLE := Buffalo WHR-G301N
endef
LEGACY_DEVICES += WHRG301N
define LegacyDevice/WHRHPG300N
DEVICE_TITLE := Buffalo WHR-HP-G300N
endef
LEGACY_DEVICES += WHRHPG300N
define LegacyDevice/WHRHPGN
DEVICE_TITLE := Buffalo WHR-HP-GN
endef
LEGACY_DEVICES += WHRHPGN
define LegacyDevice/WLAEAG300N
DEVICE_TITLE := Buffalo WLAE-AG300N
DEVICE_PACKAGES := kmod-ledtrig-netdev
endef
LEGACY_DEVICES += WLAEAG300N
define LegacyDevice/NBG_460N_550N_550NH
DEVICE_TITLE := ZyXEL NBG 460N/550N/550NH
DEVICE_PACKAGES := kmod-rtc-pcf8563
endef
LEGACY_DEVICES += NBG_460N_550N_550NH

View File

@ -0,0 +1,684 @@
include ./common-tp-link.mk
define Device/tl-mr10u-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR10U v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-MR10U
DEVICE_PROFILE := TLMR10U
TPLINK_HWID := 0x00100101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-mr10u-v1
define Device/tl-mr11u-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR11U v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR11U
DEVICE_PROFILE := TLMR11U
TPLINK_HWID := 0x00110101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-mr11u-v1
define Device/tl-mr11u-v2
$(Device/tl-mr11u-v1)
DEVICE_TITLE := TP-LINK TL-MR11U v2
TPLINK_HWID := 0x00110102
endef
TARGET_DEVICES += tl-mr11u-v2
define Device/tl-mr12u-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR12U v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR13U
DEVICE_PROFILE := TLMR12U
TPLINK_HWID := 0x00120101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-mr12u-v1
define Device/tl-mr13u-v1
$(Device/tl-mr12u-v1)
DEVICE_TITLE := TP-LINK TL-MR13U v1
DEVICE_PROFILE := TLMR13U
TPLINK_HWID := 0x00130101
endef
TARGET_DEVICES += tl-mr13u-v1
define Device/tl-mr3020-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR3020 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3020
DEVICE_PROFILE := TLMR3020
TPLINK_HWID := 0x30200001
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-mr3020-v1
define Device/tl-mr3040-v1
$(Device/tl-mr3020-v1)
DEVICE_TITLE := TP-LINK TL-MR3040 v1
BOARDNAME := TL-MR3040
DEVICE_PROFILE := TLMR3040
TPLINK_HWID := 0x30400001
endef
TARGET_DEVICES += tl-mr3040-v1
define Device/tl-mr3040-v2
$(Device/tl-mr3040-v1)
DEVICE_TITLE := TP-LINK TL-MR3040 v2
BOARDNAME := TL-MR3040-v2
TPLINK_HWID := 0x30400002
endef
TARGET_DEVICES += tl-mr3040-v2
define Device/tl-mr3220-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-MR3220 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3220
DEVICE_PROFILE := TLMR3220
TPLINK_HWID := 0x32200001
endef
TARGET_DEVICES += tl-mr3220-v1
define Device/tl-mr3220-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR3220 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3220-v2
DEVICE_PROFILE := TLMR3220
TPLINK_HWID := 0x32200002
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-mr3220-v2
define Device/tl-mr3420-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-MR3420 v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3420
DEVICE_PROFILE := TLMR3420
TPLINK_HWID := 0x34200001
endef
TARGET_DEVICES += tl-mr3420-v1
define Device/tl-mr3420-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-MR3420 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-MR3420-v2
DEVICE_PROFILE := TLMR3420
TPLINK_HWID := 0x34200002
endef
TARGET_DEVICES += tl-mr3420-v2
define Device/tl-wa701nd-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
BOARDNAME := TL-WA901ND
DEVICE_PROFILE := TLWA701
TPLINK_HWID := 0x07010001
endef
TARGET_DEVICES += tl-wa701nd-v1
define Device/tl-wa701nd-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
BOARDNAME := TL-WA701ND-v2
DEVICE_PROFILE := TLWA701
TPLINK_HWID := 0x07010002
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wa701nd-v2
define Device/tl-wa7210n-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA7210N v2
DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
BOARDNAME := TL-WA7210N-v2
DEVICE_PROFILE := TLWA7210
TPLINK_HWID := 0x72100002
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wa7210n-v2
define Device/tl-wa730re-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA730RE v1
BOARDNAME := TL-WA901ND
DEVICE_PROFILE := TLWA730RE
TPLINK_HWID := 0x07300001
endef
TARGET_DEVICES += tl-wa730re-v1
define Device/tl-wa750re-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA750RE v1
DEVICE_PACKAGES := rssileds
BOARDNAME := TL-WA750RE
DEVICE_PROFILE := TLWA750
TPLINK_HWID := 0x07500001
endef
TARGET_DEVICES += tl-wa750re-v1
define Device/tl-wa7510n-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA7510N v1
BOARDNAME := TL-WA7510N
DEVICE_PROFILE := TLWA7510
TPLINK_HWID := 0x75100001
endef
TARGET_DEVICES += tl-wa7510n-v1
define Device/tl-wa801nd-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
BOARDNAME := TL-WA901ND
DEVICE_PROFILE := TLWA801
TPLINK_HWID := 0x08010001
endef
TARGET_DEVICES += tl-wa801nd-v1
define Device/tl-wa801nd-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
BOARDNAME := TL-WA801ND-v2
DEVICE_PROFILE := TLWA801
TPLINK_HWID := 0x08010002
endef
TARGET_DEVICES += tl-wa801nd-v2
define Device/tl-wa801nd-v3
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
BOARDNAME := TL-WA801ND-v3
DEVICE_PROFILE := TLWA801
TPLINK_HWID := 0x08010003
endef
TARGET_DEVICES += tl-wa801nd-v3
define Device/tl-wa830re-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA830RE v1
BOARDNAME := TL-WA901ND
DEVICE_PROFILE := TLWA830
TPLINK_HWID := 0x08300010
endef
TARGET_DEVICES += tl-wa830re-v1
define Device/tl-wa830re-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA830RE v2
BOARDNAME := TL-WA830RE-v2
DEVICE_PROFILE := TLWA830
TPLINK_HWID := 0x08300002
endef
TARGET_DEVICES += tl-wa830re-v2
define Device/tl-wa850re-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA850RE v1
DEVICE_PACKAGES := rssileds
BOARDNAME := TL-WA850RE
DEVICE_PROFILE := TLWA850
TPLINK_HWID := 0x08500001
endef
TARGET_DEVICES += tl-wa850re-v1
define Device/tl-wa85xre
$(Device/tplink)
TPLINK_HWREV := 0
KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),2304k(rootfs),256k(config)ro,64k(art)ro,3648k@0x20000(firmware)
endef
define Device/tl-wa850re-v2
$(Device/tl-wa85xre)
DEVICE_TITLE := TP-LINK TL-WA850RE v2
DEVICE_PACKAGES := rssileds
BOARDNAME := TL-WA850RE-V2
DEVICE_PROFILE := TLWA850
TPLINK_BOARD_ID := TLWA850REV2
TPLINK_HWID := 0x08500002
endef
TARGET_DEVICES += tl-wa850re-v2
define Device/tl-wa855re-v1
$(Device/tl-wa85xre)
DEVICE_TITLE := TP-LINK TL-WA855RE v1
BOARDNAME := TL-WA855RE-v1
DEVICE_PROFILE := TLWA855RE
TPLINK_HWID := 0x08550001
TPLINK_BOARD_ID := TLWA855REV1
endef
TARGET_DEVICES += tl-wa855re-v1
define Device/tl-wa860re-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA860RE v1
BOARDNAME := TL-WA860RE
DEVICE_PROFILE := TLWA860
TPLINK_HWID := 0x08600001
endef
TARGET_DEVICES += tl-wa860re-v1
define Device/tl-wa901nd-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
BOARDNAME := TL-WA901ND
DEVICE_PROFILE := TLWA901
TPLINK_HWID := 0x09010001
endef
TARGET_DEVICES += tl-wa901nd-v1
define Device/tl-wa901nd-v2
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
BOARDNAME := TL-WA901ND-v2
DEVICE_PROFILE := TLWA901
TPLINK_HWID := 0x09010002
endef
TARGET_DEVICES += tl-wa901nd-v2
define Device/tl-wa901nd-v3
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
BOARDNAME := TL-WA901ND-v3
DEVICE_PROFILE := TLWA901
TPLINK_HWID := 0x09010003
endef
TARGET_DEVICES += tl-wa901nd-v3
define Device/tl-wa901nd-v4
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
BOARDNAME := TL-WA901ND-v4
DEVICE_PROFILE := TLWA901
TPLINK_HWID := 0x09010004
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
endef
TARGET_DEVICES += tl-wa901nd-v4
define Device/tl-wa901nd-v5
$(Device/tl-wa901nd-v4)
DEVICE_TITLE := TP-LINK TL-WA901N/ND v5
BOARDNAME := TL-WA901ND-v5
TPLINK_HWID := 0x09010005
endef
TARGET_DEVICES += tl-wa901nd-v5
define Device/tl-wdr3320-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WDR3320 v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
BOARDNAME := TL-WDR3320-v2
DEVICE_PROFILE := TLWDR3320V2
TPLINK_HWID := 0x33200002
TPLINK_HEADER_VERSION := 2
endef
TARGET_DEVICES += tl-wdr3320-v2
define Device/tl-wr1041n-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR1041N v2
BOARDNAME := TL-WR1041N-v2
DEVICE_PROFILE := TLWR1041
TPLINK_HWID := 0x10410002
endef
TARGET_DEVICES += tl-wr1041n-v2
define Device/tl-wr703n-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR703N v1
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-WR703N
DEVICE_PROFILE := TLWR703
TPLINK_HWID := 0x07030101
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wr703n-v1
define Device/tl-wr710n-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR710N v2
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-WR710N
DEVICE_PROFILE := TLWR710
TPLINK_HWID := 0x07100002
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wr710n-v2
define Device/tl-wr720n-v3
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR720N v3
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
BOARDNAME := TL-WR720N-v3
DEVICE_PROFILE := TLWR720
TPLINK_HWID := 0x07200103
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wr720n-v3
define Device/tl-wr720n-v4
$(Device/tl-wr720n-v3)
DEVICE_TITLE := TP-LINK TL-WR720N v4
TPLINK_HWID := 0x07200104
endef
TARGET_DEVICES += tl-wr720n-v4
define Device/tl-wr740n-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
BOARDNAME := TL-WR741ND
DEVICE_PROFILE := TLWR740
TPLINK_HWID := 0x07400001
endef
TARGET_DEVICES += tl-wr740n-v1
define Device/tl-wr740n-v3
$(Device/tl-wr740n-v1)
DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
TPLINK_HWID := 0x07400003
endef
TARGET_DEVICES += tl-wr740n-v3
define Device/tl-wr740n-v4
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
BOARDNAME := TL-WR741ND-v4
DEVICE_PROFILE := TLWR740
TPLINK_HWID := 0x07400004
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wr740n-v4
define Device/tl-wr740n-v5
$(Device/tl-wr740n-v4)
DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
TPLINK_HWID := 0x07400005
endef
TARGET_DEVICES += tl-wr740n-v5
define Device/tl-wr740n-v6
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
BOARDNAME := TL-WR740N-v6
DEVICE_PROFILE := TLWR740
TPLINK_HWID := 0x07400006
endef
TARGET_DEVICES += tl-wr740n-v6
define Device/tl-wr741nd-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
BOARDNAME := TL-WR741ND
DEVICE_PROFILE := TLWR741
TPLINK_HWID := 0x07410001
endef
TARGET_DEVICES += tl-wr741nd-v1
define Device/tl-wr741nd-v2
$(Device/tl-wr741nd-v1)
DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
endef
TARGET_DEVICES += tl-wr741nd-v2
define Device/tl-wr741nd-v4
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
BOARDNAME := TL-WR741ND-v4
DEVICE_PROFILE := TLWR741
TPLINK_HWID := 0x07410004
CONSOLE := ttyATH0,115200
endef
TARGET_DEVICES += tl-wr741nd-v4
define Device/tl-wr741nd-v5
$(Device/tl-wr741nd-v4)
DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
TPLINK_HWID := 0x07400005
endef
TARGET_DEVICES += tl-wr741nd-v5
define Device/tl-wr743nd-v1
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
BOARDNAME := TL-WR741ND
DEVICE_PROFILE := TLWR743
TPLINK_HWID := 0x07430001
endef
TARGET_DEVICES += tl-wr743nd-v1
define Device/tl-wr743nd-v2
$(Device/tl-wr741nd-v4)
DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
DEVICE_PROFILE := TLWR743
TPLINK_HWID := 0x07430002
endef
TARGET_DEVICES += tl-wr743nd-v2
define Device/tl-wr802n-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR802N v1
BOARDNAME := TL-WR802N-v1
DEVICE_PROFILE := TLWR802
TPLINK_HWID := 0x08020001
TPLINK_HWREV := 1
endef
TARGET_DEVICES += tl-wr802n-v1
define Device/tl-wr802n-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR802N v2
BOARDNAME := TL-WR802N-v2
DEVICE_PROFILE := TLWR802
TPLINK_HWID := 0x08020002
TPLINK_HWREV := 2
IMAGES += factory-us.bin factory-eu.bin
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
endef
TARGET_DEVICES += tl-wr802n-v2
define Device/tl-wr840n-v2
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR840N v2
BOARDNAME := TL-WR840N-v2
DEVICE_PROFILE := TLWR840
TPLINK_HWID := 0x08400002
IMAGES += factory-eu.bin
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
endef
TARGET_DEVICES += tl-wr840n-v2
define Device/tl-wr840n-v3
$(Device/tl-wr840n-v2)
DEVICE_TITLE := TP-LINK TL-WR840N v3
BOARDNAME := TL-WR840N-v3
TPLINK_HWID := 0x08400003
endef
TARGET_DEVICES += tl-wr840n-v3
define Device/tl-wr841-v1.5
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
BOARDNAME := TL-WR841N-v1.5
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410002
TPLINK_HWREV := 2
endef
TARGET_DEVICES += tl-wr841-v1.5
define Device/tl-wr841-v3
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
BOARDNAME := TL-WR941ND
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410003
TPLINK_HWREV := 3
endef
TARGET_DEVICES += tl-wr841-v3
define Device/tl-wr841-v5
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
BOARDNAME := TL-WR741ND
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410005
endef
TARGET_DEVICES += tl-wr841-v5
define Device/tl-wr841-v7
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
BOARDNAME := TL-WR841N-v7
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410007
endef
TARGET_DEVICES += tl-wr841-v7
define Device/tl-wr841-v8
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
BOARDNAME := TL-WR841N-v8
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410008
endef
TARGET_DEVICES += tl-wr841-v8
define Device/tl-wr841-v9
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
BOARDNAME := TL-WR841N-v9
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410009
endef
TARGET_DEVICES += tl-wr841-v9
define Device/tl-wr841-v10
$(Device/tl-wr841-v9)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
TPLINK_HWID := 0x08410010
endef
TARGET_DEVICES += tl-wr841-v10
define Device/tl-wr841-v11
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
BOARDNAME := TL-WR841N-v11
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08410011
IMAGES += factory-us.bin factory-eu.bin
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
endef
TARGET_DEVICES += tl-wr841-v11
define Device/tl-wr841-v12
$(Device/tl-wr841-v11)
DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
TPLINK_HWID := 0x08410012
endef
TARGET_DEVICES += tl-wr841-v12
define Device/tl-wr843nd-v1
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR843N/ND v1
BOARDNAME := TL-WR841N-v8
DEVICE_PROFILE := TLWR843
TPLINK_HWID := 0x08430001
endef
TARGET_DEVICES += tl-wr843nd-v1
define Device/tl-wr847n-v8
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
BOARDNAME := TL-WR841N-v8
DEVICE_PROFILE := TLWR841
TPLINK_HWID := 0x08470008
endef
TARGET_DEVICES += tl-wr847n-v8
define Device/tl-wr940n-v4
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR940N v4
BOARDNAME := TL-WR940N-v4
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09400004
IMAGES += factory-us.bin factory-eu.bin factory-br.bin
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
IMAGE/factory-br.bin := append-rootfs | mktplinkfw factory -C BR
endef
TARGET_DEVICES += tl-wr940n-v4
define Device/tl-wr941nd-v2
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
BOARDNAME := TL-WR941ND
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410002
TPLINK_HWREV := 2
endef
TARGET_DEVICES += tl-wr941nd-v2
define Device/tl-wr941nd-v3
$(Device/tl-wr941nd-v2)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
endef
TARGET_DEVICES += tl-wr941nd-v3
define Device/rnx-n360rt
$(Device/tl-wr941nd-v2)
DEVICE_TITLE := Rosewill RNX-N360RT
DEVICE_PROFILE := RNXN360RT
TPLINK_HWREV := 0x00420001
endef
TARGET_DEVICES += rnx-n360rt
define Device/tl-wr941nd-v4
$(Device/tplink-4m)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
BOARDNAME := TL-WR741ND
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410004
endef
TARGET_DEVICES += tl-wr941nd-v4
define Device/tl-wr941nd-v5
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
BOARDNAME := TL-WR941ND-v5
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410005
endef
TARGET_DEVICES += tl-wr941nd-v5
define Device/tl-wr941nd-v6
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
BOARDNAME := TL-WR941ND-v6
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410006
endef
TARGET_DEVICES += tl-wr941nd-v6
# Chinese version (unlike European) is similar to the TL-WDR3500
define Device/tl-wr941nd-v6-cn
$(Device/tplink-4mlzma)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
BOARDNAME := TL-WDR3500
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410006
endef
TARGET_DEVICES += tl-wr941nd-v6-cn

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +1,12 @@
# CONFIG_ATH79_DEV_DSA is not set
# CONFIG_ATH79_MACH_A60 is not set
# CONFIG_ATH79_MACH_ALFA_AP120C is not set
# CONFIG_ATH79_MACH_ALFA_AP96 is not set
# CONFIG_ATH79_MACH_ALFA_NX is not set
# CONFIG_ATH79_MACH_ALL0258N is not set
# CONFIG_ATH79_MACH_ALL0315N is not set
# CONFIG_ATH79_MACH_ANTMINER_S1 is not set
# CONFIG_ATH79_MACH_ANTMINER_S3 is not set
# CONFIG_ATH79_MACH_ANTROUTER_R1 is not set
# CONFIG_ATH79_MACH_AP121 is not set
# CONFIG_ATH79_MACH_AP121F is not set
# CONFIG_ATH79_MACH_AP132 is not set
# CONFIG_ATH79_MACH_AP136 is not set
# CONFIG_ATH79_MACH_AP143 is not set
# CONFIG_ATH79_MACH_AP147 is not set
# CONFIG_ATH79_MACH_AP152 is not set
# CONFIG_ATH79_MACH_AP531B0 is not set
# CONFIG_ATH79_MACH_AP90Q is not set
# CONFIG_ATH79_MACH_AP96 is not set
# CONFIG_ATH79_MACH_ARCHER_C25_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C58_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C59_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C60_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C7 is not set
# CONFIG_ATH79_MACH_ARDUINO_YUN is not set
# CONFIG_ATH79_MACH_AW_NR580 is not set
# CONFIG_ATH79_MACH_BHR_4GRV2 is not set
# CONFIG_ATH79_MACH_BHU_BXU2000N2_A is not set
# CONFIG_ATH79_MACH_BSB is not set
# CONFIG_ATH79_MACH_C55 is not set
# CONFIG_ATH79_MACH_CAP324 is not set
# CONFIG_ATH79_MACH_CAP4200AG is not set
# CONFIG_ATH79_MACH_CARAMBOLA2 is not set
# CONFIG_ATH79_MACH_CF_E316N_V2 is not set
# CONFIG_ATH79_MACH_CF_E320N_V2 is not set
# CONFIG_ATH79_MACH_CF_E355AC is not set
# CONFIG_ATH79_MACH_CF_E380AC_V1 is not set
# CONFIG_ATH79_MACH_CF_E380AC_V2 is not set
# CONFIG_ATH79_MACH_CF_E520N is not set
# CONFIG_ATH79_MACH_CF_E530N is not set
# CONFIG_ATH79_MACH_CPE505N is not set
# CONFIG_ATH79_MACH_CPE510 is not set
# CONFIG_ATH79_MACH_CPE830 is not set
# CONFIG_ATH79_MACH_CPE870 is not set
# CONFIG_ATH79_MACH_CR3000 is not set
# CONFIG_ATH79_MACH_CR5000 is not set
# CONFIG_ATH79_MACH_DAP_2695_A1 is not set
# CONFIG_ATH79_MACH_DB120 is not set
# CONFIG_ATH79_MACH_DGL_5500_A1 is not set
# CONFIG_ATH79_MACH_DHP_1565_A1 is not set
# CONFIG_ATH79_MACH_DIR_505_A1 is not set
# CONFIG_ATH79_MACH_DIR_600_A1 is not set
# CONFIG_ATH79_MACH_DIR_615_C1 is not set
# CONFIG_ATH79_MACH_DIR_615_I1 is not set
# CONFIG_ATH79_MACH_DIR_825_B1 is not set
# CONFIG_ATH79_MACH_DIR_825_C1 is not set
# CONFIG_ATH79_MACH_DIR_869_A1 is not set
# CONFIG_ATH79_MACH_DLAN_HOTSPOT is not set
# CONFIG_ATH79_MACH_DLAN_PRO_1200_AC is not set
# CONFIG_ATH79_MACH_DLAN_PRO_500_WP is not set
# CONFIG_ATH79_MACH_DR344 is not set
# CONFIG_ATH79_MACH_DR531 is not set
# CONFIG_ATH79_MACH_DRAGINO2 is not set
# CONFIG_ATH79_MACH_E2100L is not set
# CONFIG_ATH79_MACH_EAP120 is not set
# CONFIG_ATH79_MACH_EAP300V2 is not set
# CONFIG_ATH79_MACH_EAP7660D is not set
# CONFIG_ATH79_MACH_EL_M150 is not set
# CONFIG_ATH79_MACH_EL_MINI is not set
# CONFIG_ATH79_MACH_ENS202EXT is not set
# CONFIG_ATH79_MACH_EPG5000 is not set
# CONFIG_ATH79_MACH_ESR1750 is not set
# CONFIG_ATH79_MACH_ESR900 is not set
# CONFIG_ATH79_MACH_EW_DORIN is not set
# CONFIG_ATH79_MACH_F9K1115V2 is not set
# CONFIG_ATH79_MACH_FRITZ300E is not set
# CONFIG_ATH79_MACH_GL_AR150 is not set
# CONFIG_ATH79_MACH_GL_AR300 is not set
# CONFIG_ATH79_MACH_GL_AR300M is not set
# CONFIG_ATH79_MACH_GL_DOMINO is not set
# CONFIG_ATH79_MACH_GL_INET is not set
# CONFIG_ATH79_MACH_GL_MIFI is not set
# CONFIG_ATH79_MACH_GL_USB150 is not set
# CONFIG_ATH79_MACH_GS_MINIBOX_V1 is not set
# CONFIG_ATH79_MACH_GS_OOLITE is not set
# CONFIG_ATH79_MACH_HIWIFI_HC6361 is not set
# CONFIG_ATH79_MACH_HORNET_UB is not set
# CONFIG_ATH79_MACH_JA76PF is not set
# CONFIG_ATH79_MACH_JWAP003 is not set
# CONFIG_ATH79_MACH_JWAP230 is not set
# CONFIG_ATH79_MACH_LIMA is not set
# CONFIG_ATH79_MACH_MC_MAC1200R is not set
# CONFIG_ATH79_MACH_MR12 is not set
# CONFIG_ATH79_MACH_MR16 is not set
# CONFIG_ATH79_MACH_MR1750 is not set
# CONFIG_ATH79_MACH_MR600 is not set
# CONFIG_ATH79_MACH_MR900 is not set
# CONFIG_ATH79_MACH_MYNET_N600 is not set
# CONFIG_ATH79_MACH_MYNET_N750 is not set
# CONFIG_ATH79_MACH_MYNET_REXT is not set
# CONFIG_ATH79_MACH_MZK_W04NU is not set
# CONFIG_ATH79_MACH_MZK_W300NH is not set
# CONFIG_ATH79_MACH_NBG460N is not set
# CONFIG_ATH79_MACH_NBG6716 is not set
# CONFIG_ATH79_MACH_OM2P is not set
# CONFIG_ATH79_MACH_OM5P is not set
# CONFIG_ATH79_MACH_OM5P_AC is not set
# CONFIG_ATH79_MACH_OM5P_ACv2 is not set
# CONFIG_ATH79_MACH_OMY_G1 is not set
# CONFIG_ATH79_MACH_OMY_X1 is not set
# CONFIG_ATH79_MACH_ONION_OMEGA is not set
# CONFIG_ATH79_MACH_PB42 is not set
# CONFIG_ATH79_MACH_PB44 is not set
# CONFIG_ATH79_MACH_PQI_AIR_PEN is not set
# CONFIG_ATH79_MACH_QIHOO_C301 is not set
# CONFIG_ATH79_MACH_R602N is not set
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_RB2011=y
CONFIG_ATH79_MACH_RB4XX=y
CONFIG_ATH79_MACH_RB750=y
@ -123,103 +15,20 @@ CONFIG_ATH79_MACH_RB922=y
CONFIG_ATH79_MACH_RB95X=y
CONFIG_ATH79_MACH_RBSPI=y
CONFIG_ATH79_MACH_RBSXTLITE=y
# CONFIG_ATH79_MACH_RE450 is not set
# CONFIG_ATH79_MACH_RW2458N is not set
# CONFIG_ATH79_MACH_SC1750 is not set
# CONFIG_ATH79_MACH_SC300M is not set
# CONFIG_ATH79_MACH_SC450 is not set
# CONFIG_ATH79_MACH_SMART_300 is not set
# CONFIG_ATH79_MACH_SOM9331 is not set
# CONFIG_ATH79_MACH_SR3200 is not set
# CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE is not set
# CONFIG_ATH79_MACH_TEW_632BRP is not set
# CONFIG_ATH79_MACH_TEW_673GRU is not set
# CONFIG_ATH79_MACH_TEW_712BR is not set
# CONFIG_ATH79_MACH_TEW_732BR is not set
# CONFIG_ATH79_MACH_TEW_823DRU is not set
# CONFIG_ATH79_MACH_TL_MR11U is not set
# CONFIG_ATH79_MACH_TL_MR13U is not set
# CONFIG_ATH79_MACH_TL_MR3020 is not set
# CONFIG_ATH79_MACH_TL_MR3X20 is not set
# CONFIG_ATH79_MACH_TL_MR6400 is not set
# CONFIG_ATH79_MACH_TL_WA701ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA7210N_V2 is not set
# CONFIG_ATH79_MACH_TL_WA801ND_V3 is not set
# CONFIG_ATH79_MACH_TL_WA830RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA850RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA855RE_V1 is not set
# CONFIG_ATH79_MACH_TL_WA901ND is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WAX50RE is not set
# CONFIG_ATH79_MACH_TL_WDR3320_V2 is not set
# CONFIG_ATH79_MACH_TL_WDR3500 is not set
# CONFIG_ATH79_MACH_TL_WDR4300 is not set
# CONFIG_ATH79_MACH_TL_WDR6500_V2 is not set
# CONFIG_ATH79_MACH_TL_WPA8630 is not set
# CONFIG_ATH79_MACH_TL_WR1041N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR2543N is not set
# CONFIG_ATH79_MACH_TL_WR703N is not set
# CONFIG_ATH79_MACH_TL_WR720N_V3 is not set
# CONFIG_ATH79_MACH_TL_WR741ND is not set
# CONFIG_ATH79_MACH_TL_WR741ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR810N is not set
# CONFIG_ATH79_MACH_TL_WR840N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V8 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V9 is not set
# CONFIG_ATH79_MACH_TL_WR902AC_V1 is not set
# CONFIG_ATH79_MACH_TL_WR940N_V4 is not set
# CONFIG_ATH79_MACH_TL_WR941ND is not set
# CONFIG_ATH79_MACH_TL_WR941ND_V6 is not set
# CONFIG_ATH79_MACH_TL_WR942N_V1 is not set
# CONFIG_ATH79_MACH_TUBE2H is not set
# CONFIG_ATH79_MACH_UBNT is not set
# CONFIG_ATH79_MACH_UBNT_UNIFIAC is not set
# CONFIG_ATH79_MACH_UBNT_XM is not set
# CONFIG_ATH79_MACH_WEIO is not set
# CONFIG_ATH79_MACH_WHR_HP_G300N is not set
# CONFIG_ATH79_MACH_WLAE_AG300N is not set
# CONFIG_ATH79_MACH_WLR8100 is not set
# CONFIG_ATH79_MACH_WNDAP360 is not set
# CONFIG_ATH79_MACH_WNDR3700 is not set
# CONFIG_ATH79_MACH_WNR2000 is not set
# CONFIG_ATH79_MACH_WNR2000_V3 is not set
# CONFIG_ATH79_MACH_WNR2000_V4 is not set
# CONFIG_ATH79_MACH_WNR2200 is not set
# CONFIG_ATH79_MACH_WP543 is not set
# CONFIG_ATH79_MACH_WPE72 is not set
# CONFIG_ATH79_MACH_WPJ342 is not set
# CONFIG_ATH79_MACH_WPJ344 is not set
# CONFIG_ATH79_MACH_WPJ531 is not set
# CONFIG_ATH79_MACH_WPJ558 is not set
# CONFIG_ATH79_MACH_WPJ563 is not set
# CONFIG_ATH79_MACH_WRT160NL is not set
# CONFIG_ATH79_MACH_WRT400N is not set
# CONFIG_ATH79_MACH_WRTNODE2Q is not set
# CONFIG_ATH79_MACH_WZR_450HP2 is not set
# CONFIG_ATH79_MACH_WZR_HP_AG300H is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH2 is not set
# CONFIG_ATH79_MACH_WZR_HP_G450H is not set
# CONFIG_ATH79_MACH_XD3200 is not set
# CONFIG_ATH79_MACH_ZBT_WE1526 is not set
# CONFIG_ATH79_MACH_ZCN_1523H is not set
# CONFIG_ATH79_NVRAM is not set
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
CONFIG_ATH79_ROUTERBOOT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CRC16=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_GPIO_LATCH=y
CONFIG_HW_HAS_PCI=y
# CONFIG_INTEL_XWAY_PHY is not set
CONFIG_LEDS_RB750=y
CONFIG_LZO_DECOMPRESS=y
# CONFIG_MARVELL_PHY is not set
# CONFIG_MTD_CFI is not set
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_CYBERTAN_PARTS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
@ -233,7 +42,11 @@ CONFIG_MTD_NAND_RB91X=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
# CONFIG_MTD_SPLIT_EVA_FW is not set
# CONFIG_MTD_SPLIT_LZMA_FW is not set
# CONFIG_MTD_SPLIT_SEAMA_FW is not set
# CONFIG_MTD_SPLIT_TPLINK_FW is not set
# CONFIG_MTD_SPLIT_UIMAGE_FW is not set
# CONFIG_MTD_SPLIT_WRGG_FW is not set
# CONFIG_MTD_TPLINK_PARTS is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_BEB_LIMIT=20
@ -241,10 +54,19 @@ CONFIG_MTD_UBI_BLOCK=y
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
CONFIG_MTD_UBI_WL_THRESHOLD=4096
# CONFIG_NET_DSA is not set
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
CONFIG_RLE_DECOMPRESS=y
# CONFIG_SOC_AR913X is not set
# CONFIG_SOC_AR933X is not set
# CONFIG_SOC_QCA956X is not set
# CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8366_SMI is not set
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA953X=y
CONFIG_SOC_QCA955X=y
CONFIG_SPI_RB4XX=y
CONFIG_SPI_RB4XX_CPLD=y
CONFIG_UBIFS_FS=y

View File

@ -1,218 +1,30 @@
# CONFIG_ATH79_DEV_DSA is not set
# CONFIG_ATH79_MACH_ALFA_AP120C is not set
# CONFIG_ATH79_MACH_ALFA_AP96 is not set
# CONFIG_ATH79_MACH_ALFA_NX is not set
# CONFIG_ATH79_MACH_ALL0258N is not set
# CONFIG_ATH79_MACH_ALL0315N is not set
# CONFIG_ATH79_MACH_ANTMINER_S1 is not set
# CONFIG_ATH79_MACH_ANTMINER_S3 is not set
# CONFIG_ATH79_MACH_ANTROUTER_R1 is not set
# CONFIG_ATH79_MACH_AP121 is not set
# CONFIG_ATH79_MACH_AP121F is not set
# CONFIG_ATH79_MACH_AP132 is not set
# CONFIG_ATH79_MACH_AP136 is not set
# CONFIG_ATH79_MACH_AP143 is not set
# CONFIG_ATH79_MACH_AP147 is not set
# CONFIG_ATH79_MACH_AP152 is not set
# CONFIG_ATH79_MACH_AP531B0 is not set
# CONFIG_ATH79_MACH_AP90Q is not set
# CONFIG_ATH79_MACH_AP96 is not set
# CONFIG_ATH79_MACH_ARCHER_C25_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C58_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C59_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C60_V1 is not set
# CONFIG_ATH79_MACH_ARCHER_C7 is not set
# CONFIG_ATH79_MACH_ARDUINO_YUN is not set
# CONFIG_ATH79_MACH_AW_NR580 is not set
# CONFIG_ATH79_MACH_BHR_4GRV2 is not set
# CONFIG_ATH79_MACH_BHU_BXU2000N2_A is not set
# CONFIG_ATH79_MACH_BSB is not set
# CONFIG_ATH79_MACH_C55 is not set
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_C60=y
# CONFIG_ATH79_MACH_CAP324 is not set
# CONFIG_ATH79_MACH_CAP4200AG is not set
# CONFIG_ATH79_MACH_CARAMBOLA2 is not set
# CONFIG_ATH79_MACH_CF_E316N_V2 is not set
# CONFIG_ATH79_MACH_CF_E320N_V2 is not set
# CONFIG_ATH79_MACH_CF_E355AC is not set
# CONFIG_ATH79_MACH_CF_E380AC_V1 is not set
# CONFIG_ATH79_MACH_CF_E380AC_V2 is not set
# CONFIG_ATH79_MACH_CF_E520N is not set
# CONFIG_ATH79_MACH_CF_E530N is not set
# CONFIG_ATH79_MACH_CPE505N is not set
# CONFIG_ATH79_MACH_CPE510 is not set
# CONFIG_ATH79_MACH_CPE830 is not set
# CONFIG_ATH79_MACH_CPE870 is not set
# CONFIG_ATH79_MACH_CR3000 is not set
# CONFIG_ATH79_MACH_CR5000 is not set
# CONFIG_ATH79_MACH_DAP_2695_A1 is not set
# CONFIG_ATH79_MACH_DB120 is not set
# CONFIG_ATH79_MACH_DGL_5500_A1 is not set
# CONFIG_ATH79_MACH_DHP_1565_A1 is not set
# CONFIG_ATH79_MACH_DIR_505_A1 is not set
# CONFIG_ATH79_MACH_DIR_600_A1 is not set
# CONFIG_ATH79_MACH_DIR_615_C1 is not set
# CONFIG_ATH79_MACH_DIR_615_I1 is not set
# CONFIG_ATH79_MACH_DIR_825_B1 is not set
# CONFIG_ATH79_MACH_DIR_825_C1 is not set
# CONFIG_ATH79_MACH_DIR_869_A1 is not set
# CONFIG_ATH79_MACH_DLAN_HOTSPOT is not set
# CONFIG_ATH79_MACH_DLAN_PRO_1200_AC is not set
# CONFIG_ATH79_MACH_DLAN_PRO_500_WP is not set
CONFIG_ATH79_MACH_DOMYWIFI_DW33D=y
# CONFIG_ATH79_MACH_DR344 is not set
# CONFIG_ATH79_MACH_DR531 is not set
# CONFIG_ATH79_MACH_DRAGINO2 is not set
# CONFIG_ATH79_MACH_E2100L is not set
# CONFIG_ATH79_MACH_EAP120 is not set
# CONFIG_ATH79_MACH_EAP300V2 is not set
# CONFIG_ATH79_MACH_EAP7660D is not set
# CONFIG_ATH79_MACH_EL_M150 is not set
# CONFIG_ATH79_MACH_EL_MINI is not set
# CONFIG_ATH79_MACH_ENS202EXT is not set
# CONFIG_ATH79_MACH_EPG5000 is not set
# CONFIG_ATH79_MACH_ESR1750 is not set
# CONFIG_ATH79_MACH_ESR900 is not set
# CONFIG_ATH79_MACH_EW_DORIN is not set
# CONFIG_ATH79_MACH_F9K1115V2 is not set
# CONFIG_ATH79_MACH_FRITZ300E is not set
# CONFIG_ATH79_MACH_GL_AR150 is not set
# CONFIG_ATH79_MACH_GL_AR300 is not set
# CONFIG_ATH79_MACH_GL_AR300M is not set
# CONFIG_ATH79_MACH_GL_DOMINO is not set
# CONFIG_ATH79_MACH_GL_INET is not set
# CONFIG_ATH79_MACH_GL_MIFI is not set
# CONFIG_ATH79_MACH_GL_USB150 is not set
# CONFIG_ATH79_MACH_GS_MINIBOX_V1 is not set
# CONFIG_ATH79_MACH_GS_OOLITE is not set
CONFIG_ATH79_MACH_HIVEAP_121=y
# CONFIG_ATH79_MACH_HIWIFI_HC6361 is not set
# CONFIG_ATH79_MACH_HORNET_UB is not set
# CONFIG_ATH79_MACH_JA76PF is not set
# CONFIG_ATH79_MACH_JWAP003 is not set
# CONFIG_ATH79_MACH_JWAP230 is not set
# CONFIG_ATH79_MACH_LIMA is not set
# CONFIG_ATH79_MACH_MC_MAC1200R is not set
# CONFIG_ATH79_MACH_MR12 is not set
# CONFIG_ATH79_MACH_MR16 is not set
# CONFIG_ATH79_MACH_MR1750 is not set
CONFIG_ATH79_MACH_MR18=y
# CONFIG_ATH79_MACH_MR600 is not set
# CONFIG_ATH79_MACH_MR900 is not set
# CONFIG_ATH79_MACH_MYNET_N600 is not set
# CONFIG_ATH79_MACH_MYNET_N750 is not set
# CONFIG_ATH79_MACH_MYNET_REXT is not set
# CONFIG_ATH79_MACH_MZK_W04NU is not set
# CONFIG_ATH79_MACH_MZK_W300NH is not set
# CONFIG_ATH79_MACH_NBG460N is not set
# CONFIG_ATH79_MACH_OM2P is not set
# CONFIG_ATH79_MACH_OM5P is not set
# CONFIG_ATH79_MACH_OM5P_AC is not set
# CONFIG_ATH79_MACH_OM5P_ACv2 is not set
# CONFIG_ATH79_MACH_OMY_G1 is not set
# CONFIG_ATH79_MACH_OMY_X1 is not set
# CONFIG_ATH79_MACH_ONION_OMEGA is not set
# CONFIG_ATH79_MACH_PB42 is not set
# CONFIG_ATH79_MACH_PB44 is not set
# CONFIG_ATH79_MACH_PQI_AIR_PEN is not set
# CONFIG_ATH79_MACH_QIHOO_C301 is not set
# CONFIG_ATH79_MACH_R602N is not set
CONFIG_ATH79_MACH_NBG6716=y
CONFIG_ATH79_MACH_R6100=y
CONFIG_ATH79_MACH_RAMBUTAN=y
# CONFIG_ATH79_MACH_RE450 is not set
# CONFIG_ATH79_MACH_RW2458N is not set
# CONFIG_ATH79_MACH_SC1750 is not set
# CONFIG_ATH79_MACH_SC300M is not set
# CONFIG_ATH79_MACH_SC450 is not set
# CONFIG_ATH79_MACH_SMART_300 is not set
# CONFIG_ATH79_MACH_SOM9331 is not set
# CONFIG_ATH79_MACH_SR3200 is not set
# CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE is not set
# CONFIG_ATH79_MACH_TEW_632BRP is not set
# CONFIG_ATH79_MACH_TEW_673GRU is not set
# CONFIG_ATH79_MACH_TEW_712BR is not set
# CONFIG_ATH79_MACH_TEW_732BR is not set
# CONFIG_ATH79_MACH_TEW_823DRU is not set
# CONFIG_ATH79_MACH_TL_MR11U is not set
# CONFIG_ATH79_MACH_TL_MR13U is not set
# CONFIG_ATH79_MACH_TL_MR3020 is not set
# CONFIG_ATH79_MACH_TL_MR3X20 is not set
# CONFIG_ATH79_MACH_TL_MR6400 is not set
# CONFIG_ATH79_MACH_TL_WA701ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA7210N_V2 is not set
# CONFIG_ATH79_MACH_TL_WA801ND_V3 is not set
# CONFIG_ATH79_MACH_TL_WA830RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA850RE_V2 is not set
# CONFIG_ATH79_MACH_TL_WA855RE_V1 is not set
# CONFIG_ATH79_MACH_TL_WA901ND is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WA901ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WAX50RE is not set
# CONFIG_ATH79_MACH_TL_WDR3320_V2 is not set
# CONFIG_ATH79_MACH_TL_WDR3500 is not set
# CONFIG_ATH79_MACH_TL_WDR4300 is not set
# CONFIG_ATH79_MACH_TL_WDR6500_V2 is not set
# CONFIG_ATH79_MACH_TL_WPA8630 is not set
# CONFIG_ATH79_MACH_TL_WR1041N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V2 is not set
# CONFIG_ATH79_MACH_TL_WR1043ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR2543N is not set
# CONFIG_ATH79_MACH_TL_WR703N is not set
# CONFIG_ATH79_MACH_TL_WR720N_V3 is not set
# CONFIG_ATH79_MACH_TL_WR741ND is not set
# CONFIG_ATH79_MACH_TL_WR741ND_V4 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR802N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR810N is not set
# CONFIG_ATH79_MACH_TL_WR840N_V2 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V1 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V8 is not set
# CONFIG_ATH79_MACH_TL_WR841N_V9 is not set
# CONFIG_ATH79_MACH_TL_WR902AC_V1 is not set
# CONFIG_ATH79_MACH_TL_WR940N_V4 is not set
# CONFIG_ATH79_MACH_TL_WR941ND is not set
# CONFIG_ATH79_MACH_TL_WR941ND_V6 is not set
# CONFIG_ATH79_MACH_TL_WR942N_V1 is not set
# CONFIG_ATH79_MACH_TUBE2H is not set
# CONFIG_ATH79_MACH_UBNT is not set
# CONFIG_ATH79_MACH_UBNT_UNIFIAC is not set
# CONFIG_ATH79_MACH_UBNT_XM is not set
# CONFIG_ATH79_MACH_WEIO is not set
# CONFIG_ATH79_MACH_WHR_HP_G300N is not set
CONFIG_ATH79_MACH_WI2A_AC200I=y
# CONFIG_ATH79_MACH_WLAE_AG300N is not set
# CONFIG_ATH79_MACH_WLR8100 is not set
# CONFIG_ATH79_MACH_WNDAP360 is not set
# CONFIG_ATH79_MACH_WNDR3700 is not set
CONFIG_ATH79_MACH_WNDR4300=y
# CONFIG_ATH79_MACH_WNR2000 is not set
# CONFIG_ATH79_MACH_WNR2000_V3 is not set
# CONFIG_ATH79_MACH_WNR2000_V4 is not set
# CONFIG_ATH79_MACH_WNR2200 is not set
# CONFIG_ATH79_MACH_WP543 is not set
# CONFIG_ATH79_MACH_WPE72 is not set
# CONFIG_ATH79_MACH_WPJ342 is not set
# CONFIG_ATH79_MACH_WPJ344 is not set
# CONFIG_ATH79_MACH_WPJ531 is not set
# CONFIG_ATH79_MACH_WPJ558 is not set
# CONFIG_ATH79_MACH_WPJ563 is not set
# CONFIG_ATH79_MACH_WRT160NL is not set
# CONFIG_ATH79_MACH_WRT400N is not set
# CONFIG_ATH79_MACH_WRTNODE2Q is not set
# CONFIG_ATH79_MACH_WZR_450HP2 is not set
# CONFIG_ATH79_MACH_WZR_HP_AG300H is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH is not set
# CONFIG_ATH79_MACH_WZR_HP_G300NH2 is not set
# CONFIG_ATH79_MACH_WZR_HP_G450H is not set
# CONFIG_ATH79_MACH_XD3200 is not set
CONFIG_ATH79_MACH_Z1=y
# CONFIG_ATH79_MACH_ZBT_WE1526 is not set
# CONFIG_ATH79_MACH_ZCN_1523H is not set
CONFIG_ATH79_NVRAM=y
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
CONFIG_BCH=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CRC16=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_HW_HAS_PCI=y
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_IP17XX_PHY is not set
CONFIG_LEDS_NU801=y
@ -242,14 +54,14 @@ CONFIG_MTD_UBI_BLOCK=y
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
# CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8366_SMI is not set
# CONFIG_SOC_AR71XX is not set
# CONFIG_SOC_AR724X is not set
# CONFIG_SOC_AR913X is not set
# CONFIG_SOC_AR933X is not set
# CONFIG_SOC_QCA953X is not set
# CONFIG_SOC_QCA956X is not set
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA955X=y
CONFIG_UBIFS_FS=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y

View File

@ -1,11 +1,12 @@
--- a/drivers/net/dsa/Kconfig
+++ b/drivers/net/dsa/Kconfig
@@ -13,6 +13,13 @@ config NET_DSA_MV88E6060
@@ -13,6 +13,14 @@ config NET_DSA_MV88E6060
This enables support for the Marvell 88E6060 ethernet switch
chip.
+config NET_DSA_MV88E6063
+ bool "Marvell 88E6063 ethernet switch chip support"
+ depends on NET_DSA
+ select NET_DSA_TAG_TRAILER
+ ---help---
+ This enables support for the Marvell 88E6063 ethernet switch

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -136,6 +136,27 @@ void __init prom_init(void)
@@ -136,6 +136,29 @@ void __init prom_init(void)
initrd_end = initrd_start + fw_getenvl("initrd_size");
}
#endif
@ -20,6 +20,8 @@
+ strstr(arcs_cmdline, "board=962") ||
+ strstr(arcs_cmdline, "board=lhg") ||
+ strstr(arcs_cmdline, "board=map-hb") ||
+ strstr(arcs_cmdline, "board=map2-hb") ||
+ strstr(arcs_cmdline, "board=wap-hb") ||
+ strstr(arcs_cmdline, "board=2011L") ||
+ strstr(arcs_cmdline, "board=2011r") ||
+ strstr(arcs_cmdline, "board=711Gr100") ||

View File

@ -0,0 +1,43 @@
From: Gabor Juhos <juhosg@freemail.hu>
Date: Sat, 2 Dec 2017 19:15:29 +0100
Subject: [PATCH] MIPS: ath79: fix board detection with newer RouterBOOT versions
Recent RouterBOOT version (at least version 3.41 on RB911G-5HPacD)
use "Board=" kernel parameter instead of "board=" to pass the board
name to the kernel. Due to this change the board detection code is
not working on the devices shipped with the new RouterBOOT version.
Because the kernel is unable to identify these boards they become
unusable despite that they are supported by the current code.
Update the prom_init code to convert the 'Board' kernel parameter to
'board'. After this change, the board detection works also with the
new RouterBOOT versions.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
---
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -104,6 +104,7 @@ static int __init ath79_prom_init_myload
void __init prom_init(void)
{
const char *env;
+ char *c;
if (ath79_prom_init_myloader())
return;
@@ -137,6 +138,15 @@ void __init prom_init(void)
}
#endif
+ /*
+ * RouterBOOT uses "Board" kernel parameter instead of "board" since
+ * version 3.41 (or so). Replace the first character of the parameter
+ * to keep board detection working.
+ */
+ c = strstr(arcs_cmdline, "Board=");
+ if (c)
+ c[0] = 'b';
+
if (strstr(arcs_cmdline, "board=750Gr3") ||
strstr(arcs_cmdline, "board=750i") ||
strstr(arcs_cmdline, "board=750-hb") ||

View File

@ -1,5 +1,14 @@
--- a/drivers/net/phy/mdio-bitbang.c
+++ b/drivers/net/phy/mdio-bitbang.c
@@ -155,7 +155,7 @@ static int mdiobb_cmd_addr(struct mdiobb
static int mdiobb_read(struct mii_bus *bus, int phy, int reg)
{
struct mdiobb_ctrl *ctrl = bus->priv;
- int ret, i;
+ int ret;
if (reg & MII_ADDR_C45) {
reg = mdiobb_cmd_addr(ctrl, phy, reg);
@@ -165,19 +165,7 @@ static int mdiobb_read(struct mii_bus *b
ctrl->ops->set_mdio_dir(ctrl, 0);

View File

@ -25,8 +25,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
@@ -156,7 +157,9 @@ static int mdiobb_read(struct mii_bus *b
{
struct mdiobb_ctrl *ctrl = bus->priv;
int ret, i;
+ long flags;
int ret;
+ unsigned long flags;
+ local_irq_save(flags);
if (reg & MII_ADDR_C45) {
@ -44,7 +44,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static int mdiobb_write(struct mii_bus *bus, int phy, int reg, u16 val)
{
struct mdiobb_ctrl *ctrl = bus->priv;
+ long flags;
+ unsigned long flags;
+ local_irq_save(flags);
if (reg & MII_ADDR_C45) {

View File

@ -1,11 +1,12 @@
--- a/drivers/net/dsa/Kconfig
+++ b/drivers/net/dsa/Kconfig
@@ -9,6 +9,13 @@ config NET_DSA_MV88E6060
@@ -9,6 +9,14 @@ config NET_DSA_MV88E6060
This enables support for the Marvell 88E6060 ethernet switch
chip.
+config NET_DSA_MV88E6063
+ bool "Marvell 88E6063 ethernet switch chip support"
+ depends on NET_DSA
+ select NET_DSA_TAG_TRAILER
+ ---help---
+ This enables support for the Marvell 88E6063 ethernet switch

View File

@ -25,7 +25,7 @@
/*
* bits_per_word cannot be configured in platform data
*/
@@ -115,17 +123,23 @@ static int gen_74x164_probe(struct spi_d
@@ -115,12 +123,15 @@ static int gen_74x164_probe(struct spi_d
if (ret < 0)
return ret;
@ -47,15 +47,7 @@
chip = devm_kzalloc(&spi->dev, sizeof(*chip) + nregs, GFP_KERNEL);
if (!chip)
return -ENOMEM;
+ if (pdata && pdata->init_data)
+ memcpy(chip->buffer, pdata->init_data, chip->registers);
+
spi_set_drvdata(spi, chip);
chip->gpio_chip.label = spi->modalias;
@@ -133,7 +147,11 @@ static int gen_74x164_probe(struct spi_d
@@ -133,7 +144,11 @@ static int gen_74x164_probe(struct spi_d
chip->gpio_chip.get = gen_74x164_get_value;
chip->gpio_chip.set = gen_74x164_set_value;
chip->gpio_chip.set_multiple = gen_74x164_set_multiple;
@ -68,6 +60,16 @@
chip->registers = nregs;
chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers;
@@ -142,6 +157,9 @@ static int gen_74x164_probe(struct spi_d
chip->gpio_chip.parent = &spi->dev;
chip->gpio_chip.owner = THIS_MODULE;
+ if (pdata && pdata->init_data)
+ memcpy(chip->buffer, pdata->init_data, chip->registers);
+
mutex_init(&chip->lock);
ret = __gen_74x164_write_config(chip);
@@ -170,17 +188,19 @@ static int gen_74x164_remove(struct spi_
return 0;
}

View File

@ -10,10 +10,18 @@
}
static void ath79_spi_disable(struct ath79_spi *sp)
@@ -205,6 +202,33 @@ static u32 ath79_spi_txrx_mode0(struct s
@@ -205,6 +202,38 @@ static u32 ath79_spi_txrx_mode0(struct s
return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS);
}
+static bool ath79_spi_flash_read_supported(struct spi_device *spi)
+{
+ if (spi->chip_select || gpio_is_valid(spi->cs_gpio))
+ return false;
+
+ return true;
+}
+
+static int ath79_spi_read_flash_data(struct spi_device *spi,
+ struct spi_flash_read_message *msg)
+{
@ -22,9 +30,6 @@
+ if (msg->addr_width > 3)
+ return -EOPNOTSUPP;
+
+ if (spi->chip_select || gpio_is_valid(spi->cs_gpio))
+ return -EOPNOTSUPP;
+
+ /* disable GPIO mode */
+ ath79_spi_wr(sp, AR71XX_SPI_REG_FS, 0);
+
@ -44,11 +49,12 @@
static int ath79_spi_probe(struct platform_device *pdev)
{
struct spi_master *master;
@@ -234,6 +258,7 @@ static int ath79_spi_probe(struct platfo
@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo
master->num_chipselect = pdata->num_chipselect;
master->cs_gpios = pdata->cs_gpios;
}
+ master->spi_flash_read = ath79_spi_read_flash_data;
+ master->flash_read_supported = ath79_spi_flash_read_supported;
sp->bitbang.master = master;
sp->bitbang.chipselect = ath79_spi_chipselect;

View File

@ -10,7 +10,7 @@
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1144,6 +1144,9 @@ config MIPS_MSC
@@ -1149,6 +1149,9 @@ config MIPS_MSC
config MIPS_NILE4
bool

View File

@ -0,0 +1,70 @@
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -195,7 +195,6 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT_UART_PROM
- select USE_OF
help
Support for the Atheros AR71XX/AR724X/AR913X SoCs.
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -196,16 +196,20 @@ unsigned int get_c0_compare_int(void)
void __init plat_mem_setup(void)
{
+#ifdef CONFIG_OF
unsigned long fdt_start;
+#endif
set_io_port_base(KSEG1);
+#ifdef CONFIG_OF
/* Get the position of the FDT passed by the bootloader */
fdt_start = fw_getenvl("fdt_start");
if (fdt_start)
__dt_setup_arch((void *)KSEG0ADDR(fdt_start));
else if (fw_passed_dtb)
__dt_setup_arch((void *)KSEG0ADDR(fw_passed_dtb));
+#endif
if (mips_machtype != ATH79_MACH_GENERIC_OF) {
ath79_reset_base = ioremap_nocache(AR71XX_RESET_BASE,
@@ -301,17 +305,21 @@ static int __init ath79_setup(void)
arch_initcall(ath79_setup);
+#ifdef CONFIG_OF
void __init device_tree_init(void)
{
unflatten_and_copy_device_tree();
}
+#endif
MIPS_MACHINE(ATH79_MACH_GENERIC,
"Generic",
"Generic AR71XX/AR724X/AR913X based board",
NULL);
+#ifdef CONFIG_OF
MIPS_MACHINE(ATH79_MACH_GENERIC_OF,
"DTB",
"Generic AR71XX/AR724X/AR913X based board (DT)",
NULL);
+#endif
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -33,10 +33,12 @@
#define AR724X_BASE_FREQ 40000000
static struct clk *clks[ATH79_CLK_END];
+#ifdef CONFIG_OF
static struct clk_onecell_data clk_data = {
.clks = clks,
.clk_num = ARRAY_SIZE(clks),
};
+#endif
static struct clk *__init ath79_add_sys_clkdev(
const char *id, unsigned long rate)

View File

@ -44,7 +44,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
config ATH79_NVRAM
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -356,6 +356,91 @@ static void __init ar934x_clocks_init(vo
@@ -358,6 +358,91 @@ static void __init ar934x_clocks_init(vo
iounmap(dpll_base);
}
@ -136,7 +136,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
static void __init qca955x_clocks_init(void)
{
unsigned long ref_rate;
@@ -451,6 +536,8 @@ void __init ath79_clocks_init(void)
@@ -453,6 +538,8 @@ void __init ath79_clocks_init(void)
ar933x_clocks_init();
else if (soc_is_ar934x())
ar934x_clocks_init();

View File

@ -24,7 +24,7 @@
config ATH79_NVRAM
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -526,6 +526,100 @@ static void __init qca955x_clocks_init(v
@@ -528,6 +528,100 @@ static void __init qca955x_clocks_init(v
clk_add_alias("uart", NULL, "ref", NULL);
}
@ -125,7 +125,7 @@
void __init ath79_clocks_init(void)
{
if (soc_is_ar71xx())
@@ -540,6 +634,8 @@ void __init ath79_clocks_init(void)
@@ -542,6 +636,8 @@ void __init ath79_clocks_init(void)
qca953x_clocks_init();
else if (soc_is_qca955x())
qca955x_clocks_init();

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -136,6 +136,27 @@ void __init prom_init(void)
@@ -136,6 +136,29 @@ void __init prom_init(void)
initrd_end = initrd_start + fw_getenvl("initrd_size");
}
#endif
@ -20,6 +20,8 @@
+ strstr(arcs_cmdline, "board=962") ||
+ strstr(arcs_cmdline, "board=lhg") ||
+ strstr(arcs_cmdline, "board=map-hb") ||
+ strstr(arcs_cmdline, "board=map2-hb") ||
+ strstr(arcs_cmdline, "board=wap-hb") ||
+ strstr(arcs_cmdline, "board=2011L") ||
+ strstr(arcs_cmdline, "board=2011r") ||
+ strstr(arcs_cmdline, "board=711Gr100") ||

View File

@ -0,0 +1,43 @@
From: Gabor Juhos <juhosg@freemail.hu>
Date: Sat, 2 Dec 2017 19:15:29 +0100
Subject: [PATCH] MIPS: ath79: fix board detection with newer RouterBOOT versions
Recent RouterBOOT version (at least version 3.41 on RB911G-5HPacD)
use "Board=" kernel parameter instead of "board=" to pass the board
name to the kernel. Due to this change the board detection code is
not working on the devices shipped with the new RouterBOOT version.
Because the kernel is unable to identify these boards they become
unusable despite that they are supported by the current code.
Update the prom_init code to convert the 'Board' kernel parameter to
'board'. After this change, the board detection works also with the
new RouterBOOT versions.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
---
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -104,6 +104,7 @@ static int __init ath79_prom_init_myload
void __init prom_init(void)
{
const char *env;
+ char *c;
if (ath79_prom_init_myloader())
return;
@@ -137,6 +138,15 @@ void __init prom_init(void)
}
#endif
+ /*
+ * RouterBOOT uses "Board" kernel parameter instead of "board" since
+ * version 3.41 (or so). Replace the first character of the parameter
+ * to keep board detection working.
+ */
+ c = strstr(arcs_cmdline, "Board=");
+ if (c)
+ c[0] = 'b';
+
if (strstr(arcs_cmdline, "board=750Gr3") ||
strstr(arcs_cmdline, "board=750i") ||
strstr(arcs_cmdline, "board=750-hb") ||

View File

@ -0,0 +1,72 @@
CONFIG_ATH79_DEV_AP9X_PCI=y
CONFIG_ATH79_DEV_DSA=y
CONFIG_ATH79_DEV_ETH=y
CONFIG_ATH79_DEV_GPIO_BUTTONS=y
CONFIG_ATH79_DEV_LEDS_GPIO=y
CONFIG_ATH79_DEV_M25P80=y
# CONFIG_ATH79_DEV_NFC is not set
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_DIR_600_A1=y
CONFIG_ATH79_MACH_DIR_615_C1=y
CONFIG_ATH79_MACH_DIR_615_I1=y
CONFIG_ATH79_MACH_NBG460N=y
CONFIG_ATH79_MACH_TEW_632BRP=y
CONFIG_ATH79_MACH_TEW_712BR=y
CONFIG_ATH79_MACH_TL_MR11U=y
CONFIG_ATH79_MACH_TL_MR13U=y
CONFIG_ATH79_MACH_TL_MR3020=y
CONFIG_ATH79_MACH_TL_MR3X20=y
CONFIG_ATH79_MACH_TL_WA701ND_V2=y
CONFIG_ATH79_MACH_TL_WA7210N_V2=y
CONFIG_ATH79_MACH_TL_WA801ND_V3=y
CONFIG_ATH79_MACH_TL_WA830RE_V2=y
CONFIG_ATH79_MACH_TL_WA850RE_V2=y
CONFIG_ATH79_MACH_TL_WA855RE_V1=y
CONFIG_ATH79_MACH_TL_WA901ND=y
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
CONFIG_ATH79_MACH_TL_WA901ND_V4=y
CONFIG_ATH79_MACH_TL_WAX50RE=y
CONFIG_ATH79_MACH_TL_WDR3320_V2=y
CONFIG_ATH79_MACH_TL_WDR3500=y
CONFIG_ATH79_MACH_TL_WR1041N_V2=y
CONFIG_ATH79_MACH_TL_WR703N=y
CONFIG_ATH79_MACH_TL_WR720N_V3=y
CONFIG_ATH79_MACH_TL_WR741ND=y
CONFIG_ATH79_MACH_TL_WR741ND_V4=y
CONFIG_ATH79_MACH_TL_WR802N_V1=y
CONFIG_ATH79_MACH_TL_WR802N_V2=y
CONFIG_ATH79_MACH_TL_WR840N_V2=y
CONFIG_ATH79_MACH_TL_WR841N_V1=y
CONFIG_ATH79_MACH_TL_WR841N_V8=y
CONFIG_ATH79_MACH_TL_WR841N_V9=y
CONFIG_ATH79_MACH_TL_WR940N_V4=y
CONFIG_ATH79_MACH_TL_WR941ND=y
CONFIG_ATH79_MACH_TL_WR941ND_V6=y
CONFIG_ATH79_MACH_WHR_HP_G300N=y
CONFIG_ATH79_MACH_WLAE_AG300N=y
CONFIG_ATH79_MACH_WNR2000=y
CONFIG_ATH79_MACH_WNR2000_V3=y
CONFIG_ATH79_MACH_WNR2000_V4=y
CONFIG_ATH79_MACH_WP543=y
CONFIG_ATH79_MACH_WPE72=y
CONFIG_ATH79_NVRAM=y
CONFIG_ATH79_PCI_ATH9K_FIXUP=y
CONFIG_BLK_MQ_PCI=y
CONFIG_HW_HAS_PCI=y
CONFIG_MYLOADER=y
CONFIG_PCI=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
CONFIG_SERIAL_AR933X=y
CONFIG_SERIAL_AR933X_CONSOLE=y
CONFIG_SERIAL_AR933X_NR_UARTS=2
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
CONFIG_SOC_AR933X=y
CONFIG_SOC_AR934X=y
CONFIG_SOC_QCA953X=y
CONFIG_SOC_QCA956X=y

View File

@ -0,0 +1,11 @@
define Profile/Default
NAME:=Default Profile (all drivers)
PACKAGES:= \
kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport
PRIORITY := 1
endef
define Profile/Default/Description
Default package set compatible with most boards.
endef
$(eval $(call Profile,Default))

View File

@ -0,0 +1,8 @@
BOARDNAME:=Devices with small flash
FEATURES += squashfs small_flash
define Target/Description
Build firmware images for Atheros AR71xx/AR913x/AR934x based boards with small NOR flash.
endef