aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips/ath79
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-07 15:25:12 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-30 22:18:35 +0200
commit4e4ee4649553ab536225060a27fc320bf54e458c (patch)
tree711fbf5485f94baec8b708edba00c7250b923872 /target/linux/ar71xx/files/arch/mips/ath79
parent47b2ee2d9a9a1790f9bf8a528640c333af39e4ba (diff)
downloadupstream-4e4ee4649553ab536225060a27fc320bf54e458c.tar.gz
upstream-4e4ee4649553ab536225060a27fc320bf54e458c.tar.bz2
upstream-4e4ee4649553ab536225060a27fc320bf54e458c.zip
ar71xx: drop target
This target has been mostly replaced by ath79 and won't be included in the upcoming release anymore. Finally put it to rest. This also removes all references in packages, tools, etc. as well as the uboot-ar71xx and vsc73x5-ucode packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips/ath79')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt2458
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/Makefile290
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.c173
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.h55
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.c36
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.h21
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c1262
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h55
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c101
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h17
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c141
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h34
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c181
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap120c.c147
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap96.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-nx.c113
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-all0258n.c88
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-all0315n.c85
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s1.c98
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s3.c103
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-antrouter-r1.c98
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap121f.c103
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap132.c189
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c142
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c125
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c140
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap531b0.c112
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap90q.c201
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap91-5g.c118
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ap96.c142
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c25-v1.c227
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c59-v1.c342
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c60-v1.c225
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v4.c260
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v5.c207
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c349
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-arduino-yun.c156
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-aw-nr580.c107
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-bhr-4grv2.c171
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-bhu-bxu2000n2-a.c120
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-bsb.c83
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-c55.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-c60.c265
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cap324.c133
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cap4200ag.c131
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-carambola2.c105
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c765
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c281
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cpe870.c152
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cr3000.c168
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-cr5000.c179
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dap-1330-a1.c146
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dap-2695-a1.c191
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dgl-5500-a1.c150
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dhp-1565-a1.c170
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-505-a1.c116
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c162
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-c1.c135
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c133
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-b1.c191
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-c1.c241
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dir-869-a1.c175
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-hotspot.c117
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-1200-ac.c190
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-500-wp.c203
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-domywifi-dw33d.c192
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c224
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dr531.c155
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c136
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e1700ac-v2.c145
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e2100l.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e558-v2.c170
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e600g-v2.c184
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e750a-v4.c122
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-e750g-v8.c151
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-eap120.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-eap300v2.c101
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-eap7660d.c181
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c112
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c86
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ens202ext.c124
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-epg5000.c177
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-esr1750.c176
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c200
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ew-balin.c110
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c138
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-f9k1115v2.c189
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-fritz300e.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-fritz4020.c242
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-fritz450e.c179
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c125
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c103
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300m.c158
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750.c146
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750s.c193
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c136
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c104
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-mifi.c114
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gl-usb150.c87
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v32.c121
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v1.c143
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v5-2.c111
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-hiveap-121.c153
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-hiwifi-hc6361.c115
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c142
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ja76pf.c190
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-jwap003.c95
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-jwap230.c158
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-koala.c161
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-lan-turtle.c178
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-lima.c86
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mc-mac1200r.c155
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr12.c114
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr16.c118
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c171
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr18.c286
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr600.c177
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c181
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c202
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n750.c226
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c208
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w04nu.c124
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w300nh.c115
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-n5q.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-nbg460n.c220
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-nbg6716.c385
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c320
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-om5p.c218
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c193
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c215
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-omy-g1.c123
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-omy-x1.c106
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.c84
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-pb42.c83
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c99
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-qihoo-c301.c166
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-r36a.c140
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-r602n.c213
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-r6100.c146
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rambutan.c92
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c406
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c465
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c349
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb91x.c348
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb922.c361
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c327
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c1262
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rbsxtlite.c302
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c239
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rme-eg200.c99
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rut9xx.c191
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rw2458n.c91
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-sc1750.c145
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-sc300m.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-sc450.c149
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-smart-300.c135
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-som9331.c125
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-sr3200.c187
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-t830.c127
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tellstick-znet-lite.c129
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tew-632brp.c111
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tew-673gru.c198
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tew-712br.c153
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tew-732br.c127
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tew-823dru.c181
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c183
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c107
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3020.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3x20.c147
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr6400.c151
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa701nd-v2.c116
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7210n-v2.c125
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa801nd-v3.c137
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa830re-v2.c132
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v2.c104
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v4.c115
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd.c127
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c445
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3320-v2.c146
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c169
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c206
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr6500-v2.c142
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wpa8630.c172
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1041n-v2.c157
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v2.c215
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v4.c283
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd.c141
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c150
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c118
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr720n-v3.c108
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c187
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd.c130
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c117
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr810n.c149
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c286
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c457
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n.c140
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr902ac-v1.c145
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr940n-v4.c184
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c149
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd.c121
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr942n-v1.c279
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c86
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tube2h.c129
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c179
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c781
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt.c205
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wam250.c122
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c140
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-whr-hp-g300n.c155
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wi2a-ac200i.c217
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wifi-pineapple-nano.c107
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wlae-ag300n.c114
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wlr8100.c195
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wndap360.c105
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c172
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c215
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c637
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v4.c214
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000.c102
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2200.c246
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wp543.c109
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpe72.c97
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpj342.c178
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpj344.c169
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c143
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpj558.c170
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wpj563.c150
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wrt400n.c161
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wrtnode2q.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-450hp2.c221
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-ag300h.c202
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh.c279
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh2.c174
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g450h.c169
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c164
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-zbt-we1526.c153
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-zcn-1523h.c154
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/machtypes.h387
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/nvram.c85
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/nvram.h19
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.c126
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.h6
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/routerboot.c354
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/routerboot.h89
246 files changed, 0 insertions, 46384 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
deleted file mode 100644
index 6fd78c46a0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
+++ /dev/null
@@ -1,2458 +0,0 @@
-config ATH79_MACH_A60
- bool "OpenMesh A40/A60 board support"
- select SOC_QCA955X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
- select ATH79_DEV_USB
-
-config ATH79_MACH_WI2A_AC200I
- bool "Nokia WI2A-AC200i 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_NFC
- select ATH79_DEV_WMAC
- select ATH79_DEV_USB
-
-config ATH79_MACH_ALFA_AP120C
- bool "ALFA Network AP120C board support"
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_AP121F
- bool "ALFA Network AP121F support"
- select SOC_AR933X
- 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_ALFA_AP96
- bool "ALFA Network AP96 board support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
-
-config ATH79_MACH_HORNET_UB
- bool "ALFA Network Hornet-UB board support"
- select SOC_AR933X
- 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_ALFA_NX
- bool "ALFA Network N2/N5 board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_TUBE2H
- bool "ALFA Network Tube2H board support"
- select SOC_AR933X
- 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_SC1750
- bool "Abicom SC1750 board support"
- select SOC_QCA955X
- 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_SC300M
- bool "Abicom SC300M board support"
- select SOC_QCA955X
- 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_SC450
- bool "Abicom SC450 board support"
- select SOC_QCA955X
- 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_ALL0258N
- bool "Allnet ALL0258N support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_ALL0315N
- bool "Allnet ALL0315N support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_ANTMINER_S1
- bool "Bitmain Antminer S1 support"
- select SOC_AR933X
- 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_ANTMINER_S3
- bool "Bitmain Antminer S3 support"
- select SOC_AR933X
- 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_ANTROUTER_R1
- bool "Bitmain Antrouter R1 support"
- select SOC_AR933X
- 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_ARDUINO_YUN
- bool "Arduino Yun"
- select SOC_AR933X
- 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_AP132
- bool "Atheros AP132 reference board"
- select SOC_QCA955X
- 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_AP143
- bool "Atheros AP143 reference board"
- select SOC_QCA953X
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_SPI
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_AP147
- bool "Atheros AP147 reference board"
- select SOC_QCA953X
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_DEV_AP9X_PCI if PCI
-
-config ATH79_MACH_AP152
- bool "Atheros AP152 reference board"
- select SOC_QCA956X
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_DEV_AP9X_PCI if PCI
-
-config ATH79_MACH_AP531B0
- bool "Rockeetech AP531B0 support"
- select SOC_QCA953X
- 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_SPI
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_AP90Q
- bool "YunCore AP80Q/AP90Q 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_AP91_5G
- bool "ALFA Network AP91-5G support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_AP96
- bool "Atheros AP96 board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_PB42
- bool "Atheros PB42 board support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_C55
- bool "AirTight Networks C-55 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
-
-config ATH79_MACH_C60
- bool "AirTight Networks C-60 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_NFC
- select ATH79_DEV_USB
-
-config ATH79_MACH_AW_NR580
- bool "AzureWave AW-NR580 board support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_F9K1115V2
- bool "Belkin AC1750DB board 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_EPG5000
- bool "EnGenius EPG5000 board 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
- select ATH79_NVRAM
-
-config ATH79_MACH_ESR1750
- bool "EnGenius ESR1750 board 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
- select ATH79_NVRAM
-
-config ATH79_MACH_PQI_AIR_PEN
- bool "PQI Air Pen"
- select SOC_AR933X
- 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_SOM9331
- bool "SOM9331 support"
- select SOC_AR933X
- 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_SR3200
- bool "YunCore SR3200 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_BHR_4GRV2
- bool "Buffalo BHR-4GRV2 board support"
- select SOC_QCA955X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_WHR_HP_G300N
- bool "Buffalo WHR-HP-G300N board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_WLAE_AG300N
- bool "Buffalo WLAE-AG300N board support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_WLR8100
- bool "Sitecom WLR-8100 board 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_WZR_HP_AG300H
- bool "Buffalo WZR-HP-AG300H board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_WZR_HP_G300NH
- bool "Buffalo WZR-HP-G300NH board support"
- select SOC_AR913X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select RTL8366_SMI
-
-config ATH79_MACH_WZR_HP_G300NH2
- bool "Buffalo WZR-HP-G300NH2 board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_WZR_HP_G450H
- bool "Buffalo WZR-HP-G450H board support"
- select SOC_AR724X
- select ATH79_DEV_ETH
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
-
-config ATH79_MACH_WZR_450HP2
- bool "Buffalo WZR-450HP2 board 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_WP543
- bool "Compex WP543/WPJ543 board 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
- select MYLOADER
-
-config ATH79_MACH_WPE72
- bool "Compex WPE72/WPE72NX board support"
- select SOC_AR724X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select MYLOADER
-
-config ATH79_MACH_WPJ342
- bool "Compex WPJ342 board 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WPJ344
- bool "Compex WPJ344 board 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WPJ531
- bool "Compex WPJ531 board 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WPJ558
- bool "Compex WPJ558 board 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_WPJ563
- bool "Compex WPJ563 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_XD3200
- bool "YunCore XD3200 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_WMAC
-
-config ATH79_MACH_DGL_5500_A1
- bool "D-Link DGL-5500 A1 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_WMAC
- select ATH79_DEV_USB
-
-config ATH79_MACH_DHP_1565_A1
- bool "D-Link DHP-1565 rev. A1 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_DIR_505_A1
- bool "D-Link DIR-505-A1 support"
- select SOC_AR933X
- 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_DIR_600_A1
- bool "D-Link DIR-600 A1/DIR-615 E1/DIR-615 E4 support"
- select SOC_AR724X
- 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_NVRAM
-
-config ATH79_MACH_DIR_615_C1
- bool "D-Link DIR-615 rev. C1 support"
- select SOC_AR913X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_DIR_615_I1
- bool "D-Link DIR-615 rev. I1 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
-
-config ATH79_MACH_DIR_825_B1
- bool "D-Link DIR-825 rev. B1 board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_DIR_825_C1
- bool "D-Link DIR-825 rev. C1/DIR-835 rev. A1 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_DIR_869_A1
- bool "D-Link DIR-869 rev. A1"
- 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_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_DLAN_HOTSPOT
- bool "devolo dLAN Hotspot support"
- select SOC_AR933X
- 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_DLAN_PRO_500_WP
- bool "devolo dLAN pro 500 Wireless+ support"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_SPI
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
- select ATH79_DEV_USB
-
-config ATH79_MACH_DLAN_PRO_1200_AC
- bool "devolo dLAN pro 1200+ WiFi ac 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_SPI
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
- select ATH79_DEV_NFC
- select ATH79_DEV_USB
-
-config ATH79_MACH_DOMYWIFI_DW33D
- bool "DomyWifi DW33D support"
- select SOC_QCA955X
- 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_NFC
- 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_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_DR531
- bool "Wallys DR531 board 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_DRAGINO2
- bool "DRAGINO V2 support"
- select SOC_AR933X
- select ATH79_DEV_M25P80
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
- select ATH79_DEV_USB
-
-config ATH79_MACH_E1700AC_V2
- bool "Qxwlan E1700AC v2 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_E2100L
- bool "Linksys E2100L board support"
- select SOC_AR913X
- 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
- select ATH79_NVRAM
-
-config ATH79_MACH_E558_V2
- bool "Qxwlan E558 v2 support"
- select SOC_QCA955X
- 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_E600G_V2
- bool "Qxwlan E600G/E600GAC v2 support"
- select SOC_QCA953X
- 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_E750A_V4
- bool "Qxwlan E750A v4 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_E750G_V8
- bool "Qxwlan E750G v8 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_ESR900
- bool "EnGenius ESR900 board 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
- select ATH79_NVRAM
-
-config ATH79_MACH_EW_BALIN
- bool "embedded wireless Balin Platform support"
- select SOC_AR934X
- select ATH79_DEV_M25P80
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
- select ATH79_DEV_USB
- select ATH79_DEV_AP9X_PCI if PCI
-
-config ATH79_MACH_EW_DORIN
- bool "embedded wireless Dorin Platform support"
- select SOC_AR933X
- select ATH79_DEV_M25P80
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
-
-config ATH79_MACH_EL_M150
- bool "EasyLink EL-M150 support"
- select SOC_AR933X
- 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_EL_MINI
- bool "EasyLink EL-MINI support"
- select SOC_AR933X
- 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_GL_AR150
- bool "GL AR150 support"
- select SOC_AR933X
- 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_GL_AR300
- bool "GL_AR300 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_GL_AR300M
- bool "GL_AR300M 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_GL_AR750
- bool "GL.iNet GL-AR750 support"
- select SOC_QCA953X
- 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_GL_AR750S
- bool "GL.iNet GL-AR750S 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_GL_DOMINO
- bool "DOMINO support"
- select SOC_AR933X
- 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_GL_MIFI
- bool "GL MIFI support"
- select SOC_AR933X
- 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_GL_INET
- bool "GL-INET support"
- select SOC_AR933X
- 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_GL_USB150
- bool "GL.iNet GL-USB150 support"
- select SOC_AR933X
- 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_EAP120
- bool "TP-LINK EAP120 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
-
-config ATH79_MACH_ENS202EXT
- bool "EnGenius ENS202EXT 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
-
-config ATH79_MACH_EAP300V2
- bool "EnGenius EAP300 v2 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
-
-config ATH79_MACH_GS_MINIBOX_V32
- bool "Gainstrong Minibox V3.2 support"
- select SOC_QCA953X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_SPI
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_GS_OOLITE_V1
- bool "GainStrong Oolite/Minibox V1.0 support"
- select SOC_AR933X
- select ARH79_DEV_ETH
- select ARH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_GS_OOLITE_V5_2
- bool "GainStrong Oolite V5.2 support"
- select SOC_QCA953X
- 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_HIVEAP_121
- bool "Aerohive HiveAP-121 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_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_HIWIFI_HC6361
- bool "HiWiFi HC6361 board support"
- select SOC_AR933X
- 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_JA76PF
- bool "jjPlus JA76PF board 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_JWAP003
- bool "jjPlus JWAP003 board support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
-
-config ATH79_MACH_JWAP230
- bool "jjPlus JWAP230 board support"
- select SOC_QCA955X
- select ATH79_DEV_ETH
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_KOALA
- bool "OCEDO Koala board support"
- select SOC_QCA955X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_ETH
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WAM250
- bool "Samsung WAM250 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WIFI_PINEAPPLE_NANO
- bool "Hak5 WiFi Pineapple NANO support"
- select SOC_AR933X
- 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_WRT160NL
- bool "Linksys WRT160NL board support"
- select SOC_AR913X
- 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
- select ATH79_NVRAM
-
-config ATH79_MACH_WRT400N
- bool "Linksys WRT400N board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_WRTNODE2Q
- bool "WRTnode2Q board support"
- select SOC_QCA953X
- 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
-
-config ATH79_MACH_R36A
- bool "ALFA Network R36A 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_R602N
- bool "P&W R602N 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_R6100
- bool "NETGEAR R6100 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_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_MC_MAC1200R
- bool "MERCURY MAC1200R 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_WMAC
-
-config ATH79_MACH_RB4XX
- bool "MikroTik RouterBOARD 4xx series support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_USB
-
-config ATH79_MACH_RB750
- bool "MikroTik RouterBOARD 750 support"
- select SOC_AR724X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_USB
- select ATH79_ROUTERBOOT
-
-config ATH79_MACH_RB91X
- bool "MikroTik RouterBOARD 91X support"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_SPI
- select ATH79_DEV_WMAC
- select ATH79_DEV_USB
- select ATH79_ROUTERBOOT
-
-config ATH79_MACH_RB922
- bool "MikroTik RouterBOARD 922 support"
- select SOC_QCA955X
- select ATH79_DEV_ETH
- select ATH79_DEV_M25P80
- select ATH79_DEV_NFC
- select ATH79_DEV_USB
- select ATH79_ROUTERBOOT
- select RLE_DECOMPRESS
-
-config ATH79_MACH_RB95X
- bool "MikroTik RouterBOARD 95X support"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_NFC
- select ATH79_DEV_WMAC
- select ATH79_DEV_USB
- select ATH79_ROUTERBOOT
-
-config ATH79_MACH_RB2011
- bool "MikroTik RouterBOARD 2011 support"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_M25P80
- select ATH79_DEV_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_ROUTERBOOT
-
-config ATH79_MACH_RBSPI
- bool "MikroTik RouterBOARD SPI-NOR support"
- select SOC_AR934X
- select SOC_QCA953X
- 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
- select ATH79_ROUTERBOOT
- help
- Say 'Y' here if you want your kernel to support the
- MikroTik ROuterBOARD 911-2Hn (911 Lite2)
- MikroTik ROuterBOARD 911-5Hn (911 Lite5)
- MikroTik RouterBOARD mAP
- MikroTik RouterBOARD mAP lite
- MikroTik RouterBOARD hAP mini
- MikroTik RouterBOARD hAP lite
- MikroTik RouterBOARD hAP
- MikroTik RouterBOARD hAP ac
- MikroTik RouterBOARD hAP ac lite
- MikroTik RouterBOARD hEX PoE lite
- MikroTik RouterBOARD hEX lite
- MikroTik RouterBOARD Powerbox
- MikroTik RouterBOARD LHG 5
- MikroTik RouterBOARD cAP (EXPERIMENTAL)
- MikroTik RouterBOARD SXT Lite 2 r3
- MikroTik RouterBOARD wAP
- MikroTik RouterBOARD wAP R-2nD
-
-config ATH79_MACH_RBSXTLITE
- bool "MikroTik RouterBOARD SXT Lite"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_NFC
- select ATH79_DEV_WMAC
- select ATH79_ROUTERBOOT
-
-config ATH79_MACH_SMART_300
- bool "NC-LINK SMART-300 board 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
-
-config ATH79_MACH_T830
- bool "YunCore T830 support"
- select SOC_QCA953X
- select ARH79_DEV_ETH
- select ARH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TELLSTICK_ZNET_LITE
- bool "TellStick ZNet Lite"
- select SOC_AR933X
- 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_WNDAP360
- bool "NETGEAR WNDAP360 board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_WNDR3700
- bool "NETGEAR WNDR3700 board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_WNDR4300
- bool "NETGEAR WNDR3700v4/WNDR4300 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_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_WNR2000
- bool "NETGEAR WNR2000 board support"
- select SOC_AR913X
- 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_WNR2000_V3
- bool "NETGEAR WNR2000 V3/WNR612 v2/WNR1000 v2/WPN824N board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_WNR2200
- bool "NETGEAR WNR2200 board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_WNR2000_V4
- bool "NETGEAR WNR2000 V4"
- select SOC_AR934X
- 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_OM2P
- bool "OpenMesh OM2P board support"
- select SOC_AR724X
- select SOC_AR933X
- select SOC_QCA953X
- 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
-
-config ATH79_MACH_OM5P
- bool "OpenMesh OM5P 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_WMAC
-
-config ATH79_MACH_OM5P_AC
- bool "OpenMesh OM5P-AC board support"
- select SOC_QCA955X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_OM5P_ACv2
- bool "OpenMesh OM5P-ACv2 board support"
- select SOC_QCA955X
- 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
-
-config ATH79_MACH_OMY_G1
- bool "OMYlink OMY G1 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_OMY_X1
- bool "OMYlink OMY X1 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
-
-config ATH79_MACH_ONION_OMEGA
- bool "ONION OMEGA support"
- select SOC_AR933X
- 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_MR12
- bool "Meraki MR12 board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_MR16
- bool "Meraki MR16 board support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_MR18
- bool "Meraki MR18 board support"
- select SOC_QCA955X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_NFC
- select ATH79_DEV_WMAC
- select LEDS_NU801
-
-config ATH79_MACH_MR600
- bool "OpenMesh MR600 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_WMAC
-
-config ATH79_MACH_MZK_W04NU
- bool "Planex MZK-W04NU board support"
- select SOC_AR913X
- 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_MZK_W300NH
- bool "Planex MZK-W300NH board support"
- select SOC_AR913X
- 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_RE355
- bool "TP-LINK RE355 board support"
- select SOC_QCA955X
- 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
-
-config ATH79_MACH_RE450
- bool "TP-LINK RE450 board support"
- select SOC_QCA955X
- 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
-
-config ATH79_MACH_RME_EG200
- bool "eTactica EG200 board supprt"
- select SOC_AR933X
- 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_RUT9XX
- bool "Teltonika RUT900 series 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_USB
- select ATH79_DEV_WMAC
- select GPIO_PCA953X
-
-config ATH79_MACH_RW2458N
- bool "Redwave RW2458N board support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_CAP324
- bool "PowerCloud Systems CAP324 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
-
-config ATH79_MACH_CAP4200AG
- bool "Senao CAP4200AG 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
-
-config ATH79_MACH_CR3000
- bool "PowerCloud Systems CR3000 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
-
-config ATH79_MACH_CR5000
- bool "PowerCloud CR5000 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_MR1750
- bool "OpenMesh MR1750 board support"
- select SOC_QCA955X
- 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
-
-config ATH79_MACH_MR900
- bool "OpenMesh MR900 board support"
- select SOC_QCA955X
- 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
-
-config ATH79_MACH_EAP7660D
- bool "Senao EAP7660D support"
- select SOC_AR71XX
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_BSB
- bool "Smart Electronics Black Swift board"
- select SOC_AR933X
- 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_ARCHER_C25_V1
- bool "TP-LINK Archer C25 v1 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_WMAC
-
-config ATH79_MACH_ARCHER_C58_V1
- bool "TP-LINK Archer C58 v1 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_WMAC
-
-config ATH79_MACH_ARCHER_C59_V1
- bool "TP-LINK Archer C59 v1 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_ARCHER_C59_V2
- bool "TP-LINK Archer C59 v2 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_ARCHER_C60_V1
- bool "TP-LINK Archer C60 v1 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_WMAC
-
-config ATH79_MACH_ARCHER_C60_V2
- bool "TP-LINK Archer C60 v2 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_WMAC
-
-config ATH79_MACH_ARCHER_C7
- bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 board support"
- select SOC_QCA955X
- 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_CPE505N
- bool "P&W CPE505N 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_CPE510
- bool "TP-LINK CPE510 support"
- select SOC_AR934X
- 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_CPE830
- bool "YunCore CPE830 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_CPE870
- bool "YunCore CPE870 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
-
-config ATH79_MACH_TL_MR11U
- bool "TP-LINK TL-MR11U/TL-MR3040 support"
- select SOC_AR933X
- 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_MR13U
- bool "TP-LINK TL-MR13U support"
- select SOC_AR933X
- 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_MR3020
- bool "TP-LINK TL-MR3020 support"
- select SOC_AR933X
- 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_MR3X20
- bool "TP-LINK TL-MR3220/3420 support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_TL_MR6400
- bool "TP-LINK TL-MR6400 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TL_WAX50RE
- bool "TP-LINK TL-WA750/850RE 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
-
-config ATH79_MACH_TL_WA701ND_V2
- bool "TP-LINK TL-WA701ND v2 support"
- select SOC_AR933X
- 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_WA7210N_V2
- bool "TP-LINK TL-WA7210N v2 support"
- select SOC_AR724X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TL_WA801ND_V3
- bool "TP-LINK TL-WA801ND v3 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_WA830RE_V2
- bool "TP-LINK TL-WA830RE v2 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TL_WA850RE_V2
- bool "TP-LINK TL-WA850RE 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_WA855RE_V1
- bool "TP-LINK TL-WA855RE 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
-
-config ATH79_MACH_TL_WA901ND
- bool "TP-LINK TL-WA901ND/TL-WA7510N support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_TL_WA901ND_V2
- bool "TP-LINK TL-WA901ND v2 support"
- select SOC_AR913X
- 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_WA901ND_V4
- bool "TP-LINK TL-WA901ND v4 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_WDR3320_V2
- bool "TP-LINK TL-WDR3320 v2 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_TL_WDR3500
- bool "TP-LINK TL-WDR3500 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_TL_WDR4300
- bool "TP-LINK TL-WDR3600/4300/4310 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_TL_WDR6500_V2
- bool "TP-LINK TL-WDR6500 v2 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
- 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_WR720N_V3
- bool "TP-LINK TL-WR720N v3/v4 support"
- select SOC_AR933X
- 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_WR741ND
- bool "TP-LINK TL-WR741ND support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_TL_WR741ND_V4
- bool "TP-LINK TL-WR741ND v4/TL-MR3220 v2 support"
- select SOC_AR933X
- 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_WR802N_V1
- bool "TP-LINK TL-WR802N v1 support"
- select SOC_QCA953X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_TL_WR802N_V2
- bool "TP-LINK TL-WR802N v2 support"
- select SOC_QCA953X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_TL_WR810N
- bool "TP-LINK TL-WR810N 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_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
- 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_WR841N_V1
- bool "TP-LINK TL-WR841N v1 support"
- select SOC_AR71XX
- select ATH79_DEV_DSA
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_TL_WR841N_V8
- bool "TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TL_WR841N_V9
- bool "TP-LINK TL-WR841N/ND v9/TL-WR842N/ND v3/TL-WR740N/ND v6 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_TL_WR902AC_V1
- bool "TP-LINK TL-WR902AC v1 support"
- select SOC_QCA953X
- 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_WR941ND
- bool "TP-LINK TL-WR941ND support"
- select SOC_AR913X
- select ATH79_DEV_DSA
- 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_WR941ND_V6
- bool "TP-LINK TL-WR941ND v6 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_WR940N_V4
- bool "TP-LINK TL-WR940N v4 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_WR942N_V1
- bool "TP-LINK TL-WR942N 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_USB
- select ATH79_DEV_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_TL_WR1041N_V2
- bool "TP-LINK TL-WR1041N v2 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_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
- 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_WR1043ND_V2
- bool "TP-LINK TL-WR1043ND v2 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_WR1043ND_V4
- bool "TP-LINK TL-WR1043ND v4 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_WR2543N
- bool "TP-LINK TL-WR2543N/ND support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_TS_D084
- bool "PISEN TS-D084 support"
- select SOC_AR933X
- 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_TEW_632BRP
- bool "TRENDnet TEW-632BRP support"
- select SOC_AR913X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_TEW_673GRU
- bool "TRENDnet TEW-673GRU support"
- select SOC_AR71XX
- 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
-
-config ATH79_MACH_TEW_712BR
- bool "TRENDnet TEW-712BR support"
- select SOC_AR933X
- 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_TEW_732BR
- bool "TRENDnet TEW-732BR 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
-
-config ATH79_MACH_TEW_823DRU
- bool "TRENDnet TEW-823DRU 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_UBNT
- bool "Ubiquiti AR71xx based boards 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_UBNT_UNIFIAC
- bool "Ubiquiti UniFi AC (LITE/LR/MESH/PRO/MESH-PRO) 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_WMAC
- select ATH79_DEV_USB
-
-config ATH79_MACH_WEIO
- bool "WeIO board"
- select SOC_AR933X
- 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_MYNET_N600
- bool "WD My Net N600 board 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_NVRAM
-
-config ATH79_MACH_MYNET_N750
- bool "WD My Net N750 board 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_NVRAM
-
-config ATH79_MACH_MYNET_REXT
- bool "WD My Net Wi-Fi Range Extender 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_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_Z1
- bool "Meraki Z1 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_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select LEDS_NU801
-
-config ATH79_MACH_ZBT_WE1526
- bool "Zbtlink ZBT-WE1526 board 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_ZCN_1523H
- bool "Zcomax ZCN-1523H support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_N5Q
- bool "ALFA Network N5Q support"
- select SOC_AR934X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_NBG460N
- bool "Zyxel NBG460N/550N/550NH board support"
- select SOC_AR913X
- 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_NBG6716
- bool "Zyxel NBG6616/NBG6716 board 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_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_CARAMBOLA2
- bool "8devices Carambola2 board"
- select SOC_AR933X
- 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_LAN_TURTLE
- bool "Hak5 LAN Turtle and Packet Squirrel support"
- select SOC_AR933X
- 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_LIMA
- bool "8devices Lima board"
- select SOC_QCA953X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_M25P80
- select ATH79_DEV_SPI
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
- select ATH79_DEV_ETH
-
-config ATH79_MACH_RAMBUTAN
- bool "8devices Rambutan board"
- select SOC_QCA955X
- select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_NFC
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_CF_E316N_V2
- bool "COMFAST CF-E316N v2 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_CF_E320N_V2
- bool "COMFAST CF-E320N 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_CF_E355AC
- bool "COMFAST CF-E355AC v1/v2 support"
- select SOC_QCA953X
- 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_CF_E375AC
- bool "COMFAST CF-E375AC 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_CF_E380AC_V1
- bool "COMFAST CF-E380AC v1 support"
- select SOC_QCA955X
- 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_CF_E380AC_V2
- bool "COMFAST CF-E380AC v2 support"
- select SOC_QCA955X
- 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_CF_E520N
- bool "COMFAST CF-E520N 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_CF_E530N
- bool "COMFAST CF-E530N 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_BHU_BXU2000N2_A
- bool "BHU BXU2000n-2 rev. A 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_USB
- select ATH79_DEV_WMAC
-
-config ATH79_MACH_QIHOO_C301
- bool "Qihoo 360 C301 board 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
- select ATH79_NVRAM
-
-config ATH79_MACH_DAP_1330_A1
- bool "D-Link DAP-1330 rev. A1 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_DAP_2695_A1
- bool "D-Link DAP-2695 rev. A1 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_WMAC
- select ATH79_NVRAM
-
-config ATH79_MACH_TL_WPA8630
- bool "TP-Link TL-WPA8630 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_WMAC
-
-config ATH79_MACH_FRITZ300E
- bool "AVM FRITZ!WLAN Repeater 300E support"
- select SOC_AR724X
- 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
-
-config ATH79_MACH_FRITZ4020
- bool "AVM FRITZ!Box 4020 support"
- select SOC_QCA956X
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_USB
- select ATH79_DEV_M25P80
-
-config ATH79_MACH_FRITZ450E
- bool "AVM FRITZ!WLAN Repeater 450E 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_WMAC
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile b/target/linux/ar71xx/files/arch/mips/ath79/Makefile
deleted file mode 100644
index 0265b3d818..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile
+++ /dev/null
@@ -1,290 +0,0 @@
-#
-# Makefile for the Atheros AR71XX/AR724X/AR913X specific parts of the kernel
-#
-# Copyright (C) 2008-2011 Gabor Juhos <juhosg@openwrt.org>
-# Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
-#
-# 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.
-
-obj-y := prom.o setup.o irq.o common.o clock.o gpio.o
-
-obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
-obj-$(CONFIG_PCI) += pci.o
-
-#
-# Devices
-#
-obj-y += dev-common.o
-obj-$(CONFIG_ATH79_DEV_AP9X_PCI) += dev-ap9x-pci.o
-obj-$(CONFIG_ATH79_DEV_DSA) += dev-dsa.o
-obj-$(CONFIG_ATH79_DEV_ETH) += dev-eth.o
-obj-$(CONFIG_ATH79_DEV_GPIO_BUTTONS) += dev-gpio-buttons.o
-obj-$(CONFIG_ATH79_DEV_LEDS_GPIO) += dev-leds-gpio.o
-obj-$(CONFIG_ATH79_DEV_M25P80) += dev-m25p80.o
-obj-$(CONFIG_ATH79_DEV_NFC) += dev-nfc.o
-obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o
-obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o
-obj-$(CONFIG_ATH79_DEV_WMAC) += dev-wmac.o
-
-#
-# Miscellaneous objects
-#
-obj-$(CONFIG_ATH79_NVRAM) += nvram.o
-obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP) += pci-ath9k-fixup.o
-obj-$(CONFIG_ATH79_ROUTERBOOT) += routerboot.o
-
-#
-# Machines
-#
-obj-$(CONFIG_ATH79_MACH_A60) += mach-a60.o
-obj-$(CONFIG_ATH79_MACH_WI2A_AC200I) += mach-wi2a-ac200i.o
-obj-$(CONFIG_ATH79_MACH_ALFA_AP120C) += mach-alfa-ap120c.o
-obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += mach-alfa-ap96.o
-obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
-obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
-obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
-obj-$(CONFIG_ATH79_MACH_ANTMINER_S1) += mach-antminer-s1.o
-obj-$(CONFIG_ATH79_MACH_ANTMINER_S3) += mach-antminer-s3.o
-obj-$(CONFIG_ATH79_MACH_ANTROUTER_R1) += mach-antrouter-r1.o
-obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
-obj-$(CONFIG_ATH79_MACH_AP121F) += mach-ap121f.o
-obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
-obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
-obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
-obj-$(CONFIG_ATH79_MACH_AP147) += mach-ap147.o
-obj-$(CONFIG_ATH79_MACH_AP152) += mach-ap152.o
-obj-$(CONFIG_ATH79_MACH_AP531B0) += mach-ap531b0.o
-obj-$(CONFIG_ATH79_MACH_AP90Q) += mach-ap90q.o
-obj-$(CONFIG_ATH79_MACH_AP91_5G) += mach-ap91-5g.o
-obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C25_V1) += mach-archer-c25-v1.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C58_V1) += mach-archer-c59-v1.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C59_V1) += mach-archer-c59-v1.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C60_V1) += mach-archer-c60-v1.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C60_V2) += mach-archer-c60-v1.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7-v4.o
-obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7-v5.o
-obj-$(CONFIG_ATH79_MACH_ARDUINO_YUN) += mach-arduino-yun.o
-obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
-obj-$(CONFIG_ATH79_MACH_BHR_4GRV2) += mach-bhr-4grv2.o
-obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A) += mach-bhu-bxu2000n2-a.o
-obj-$(CONFIG_ATH79_MACH_BSB) += mach-bsb.o
-obj-$(CONFIG_ATH79_MACH_C55) += mach-c55.o
-obj-$(CONFIG_ATH79_MACH_C60) += mach-c60.o
-obj-$(CONFIG_ATH79_MACH_CAP324) += mach-cap324.o
-obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
-obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o
-obj-$(CONFIG_ATH79_MACH_CF_E316N_V2) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E320N_V2) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E355AC) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E375AC) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E380AC_V1) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E380AC_V2) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E520N) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CF_E530N) += mach-cf-e316n-v2.o
-obj-$(CONFIG_ATH79_MACH_CPE505N) += mach-r602n.o
-obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
-obj-$(CONFIG_ATH79_MACH_CPE830) += mach-ap90q.o
-obj-$(CONFIG_ATH79_MACH_CPE870) += mach-cpe870.o
-obj-$(CONFIG_ATH79_MACH_CR3000) += mach-cr3000.o
-obj-$(CONFIG_ATH79_MACH_CR5000) += mach-cr5000.o
-obj-$(CONFIG_ATH79_MACH_DAP_1330_A1) += mach-dap-1330-a1.o
-obj-$(CONFIG_ATH79_MACH_DAP_2695_A1) += mach-dap-2695-a1.o
-obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
-obj-$(CONFIG_ATH79_MACH_DGL_5500_A1) += mach-dgl-5500-a1.o
-obj-$(CONFIG_ATH79_MACH_DHP_1565_A1) += mach-dhp-1565-a1.o
-obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o
-obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o
-obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o
-obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o
-obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
-obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o
-obj-$(CONFIG_ATH79_MACH_DIR_869_A1) += mach-dir-869-a1.o
-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
-obj-$(CONFIG_ATH79_MACH_E1700AC_V2) += mach-e1700ac-v2.o
-obj-$(CONFIG_ATH79_MACH_E558_V2) += mach-e558-v2.o
-obj-$(CONFIG_ATH79_MACH_E600G_V2) += mach-e600g-v2.o
-obj-$(CONFIG_ATH79_MACH_E750A_V4) += mach-e750a-v4.o
-obj-$(CONFIG_ATH79_MACH_E750G_V8) += mach-e750g-v8.o
-obj-$(CONFIG_ATH79_MACH_EAP120) += mach-eap120.o
-obj-$(CONFIG_ATH79_MACH_EAP300V2) += mach-eap300v2.o
-obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
-obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
-obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
-obj-$(CONFIG_ATH79_MACH_ENS202EXT) += mach-ens202ext.o
-obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o
-obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
-obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o
-obj-$(CONFIG_ATH79_MACH_EW_BALIN) += mach-ew-balin.o
-obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
-obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
-obj-$(CONFIG_ATH79_MACH_FRITZ300E) += mach-fritz300e.o
-obj-$(CONFIG_ATH79_MACH_FRITZ4020) += mach-fritz4020.o
-obj-$(CONFIG_ATH79_MACH_FRITZ450E) += mach-fritz450e.o
-obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o
-obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o
-obj-$(CONFIG_ATH79_MACH_GL_AR300M) += mach-gl-ar300m.o
-obj-$(CONFIG_ATH79_MACH_GL_AR750) += mach-gl-ar750.o
-obj-$(CONFIG_ATH79_MACH_GL_AR750S) += mach-gl-ar750s.o
-obj-$(CONFIG_ATH79_MACH_GL_DOMINO) += mach-gl-domino.o
-obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o
-obj-$(CONFIG_ATH79_MACH_GL_MIFI) += mach-gl-mifi.o
-obj-$(CONFIG_ATH79_MACH_GL_USB150) += mach-gl-usb150.o
-obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V32) += mach-gs-minibox-v32.o
-obj-$(CONFIG_ATH79_MACH_GS_OOLITE_V1) += mach-gs-oolite-v1.o
-obj-$(CONFIG_ATH79_MACH_GS_OOLITE_V5_2) += mach-gs-oolite-v5-2.o
-obj-$(CONFIG_ATH79_MACH_HIVEAP_121) += mach-hiveap-121.o
-obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) += mach-hiwifi-hc6361.o
-obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
-obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
-obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
-obj-$(CONFIG_ATH79_MACH_JWAP230) += mach-jwap230.o
-obj-$(CONFIG_ATH79_MACH_KOALA) += mach-koala.o
-obj-$(CONFIG_ATH79_MACH_LAN_TURTLE) += mach-lan-turtle.o
-obj-$(CONFIG_ATH79_MACH_LIMA) += mach-lima.o
-obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.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
-obj-$(CONFIG_ATH79_MACH_MR18) += mach-mr18.o
-obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
-obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o
-obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
-obj-$(CONFIG_ATH79_MACH_MYNET_N750) += mach-mynet-n750.o
-obj-$(CONFIG_ATH79_MACH_MYNET_REXT) += mach-mynet-rext.o
-obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += mach-mzk-w04nu.o
-obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += mach-mzk-w300nh.o
-obj-$(CONFIG_ATH79_MACH_N5Q) += mach-n5q.o
-obj-$(CONFIG_ATH79_MACH_NBG460N) += mach-nbg460n.o
-obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
-obj-$(CONFIG_ATH79_MACH_RAMBUTAN) += mach-rambutan.o
-obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
-obj-$(CONFIG_ATH79_MACH_OM5P) += mach-om5p.o
-obj-$(CONFIG_ATH79_MACH_OM5P_AC) += mach-om5pac.o
-obj-$(CONFIG_ATH79_MACH_OM5P_ACv2) += mach-om5pacv2.o
-obj-$(CONFIG_ATH79_MACH_OMY_G1) += mach-omy-g1.o
-obj-$(CONFIG_ATH79_MACH_OMY_X1) += mach-omy-x1.o
-obj-$(CONFIG_ATH79_MACH_ONION_OMEGA) += mach-onion-omega.o
-obj-$(CONFIG_ATH79_MACH_PB42) += mach-pb42.o
-obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
-obj-$(CONFIG_ATH79_MACH_PQI_AIR_PEN) += mach-pqi-air-pen.o
-obj-$(CONFIG_ATH79_MACH_QIHOO_C301) += mach-qihoo-c301.o
-obj-$(CONFIG_ATH79_MACH_R36A) += mach-r36a.o
-obj-$(CONFIG_ATH79_MACH_R602N) += mach-r602n.o
-obj-$(CONFIG_ATH79_MACH_R6100) += mach-r6100.o
-obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
-obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
-obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
-obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
-obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
-obj-$(CONFIG_ATH79_MACH_RB941) += mach-rb941.o
-obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
-obj-$(CONFIG_ATH79_MACH_RBSPI) += mach-rbspi.o
-obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
-obj-$(CONFIG_ATH79_MACH_RE355) += mach-re450.o
-obj-$(CONFIG_ATH79_MACH_RE450) += mach-re450.o
-obj-$(CONFIG_ATH79_MACH_RME_EG200) += mach-rme-eg200.o
-obj-$(CONFIG_ATH79_MACH_RUT9XX) += mach-rut9xx.o
-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_SMART_300) += mach-smart-300.o
-obj-$(CONFIG_ATH79_MACH_SOM9331) += mach-som9331.o
-obj-$(CONFIG_ATH79_MACH_SR3200) += mach-sr3200.o
-obj-$(CONFIG_ATH79_MACH_T830) += mach-t830.o
-obj-$(CONFIG_ATH79_MACH_TELLSTICK_ZNET_LITE) += mach-tellstick-znet-lite.o
-obj-$(CONFIG_ATH79_MACH_TEW_632BRP) += mach-tew-632brp.o
-obj-$(CONFIG_ATH79_MACH_TEW_673GRU) += mach-tew-673gru.o
-obj-$(CONFIG_ATH79_MACH_TEW_712BR) += mach-tew-712br.o
-obj-$(CONFIG_ATH79_MACH_TEW_732BR) += mach-tew-732br.o
-obj-$(CONFIG_ATH79_MACH_TEW_823DRU) += mach-tew-823dru.o
-obj-$(CONFIG_ATH79_MACH_TL_MR11U) += mach-tl-mr11u.o
-obj-$(CONFIG_ATH79_MACH_TL_MR13U) += mach-tl-mr13u.o
-obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
-obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
-obj-$(CONFIG_ATH79_MACH_TL_MR6400) += mach-tl-mr6400.o
-obj-$(CONFIG_ATH79_MACH_TL_WA701ND_V2) += mach-tl-wa701nd-v2.o
-obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) += mach-tl-wa7210n-v2.o
-obj-$(CONFIG_ATH79_MACH_TL_WA801ND_V3) += mach-tl-wa801nd-v3.o
-obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
-obj-$(CONFIG_ATH79_MACH_TL_WA850RE_V2) += mach-tl-wax50re.o
-obj-$(CONFIG_ATH79_MACH_TL_WA855RE_V1) += mach-tl-wax50re.o
-obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
-obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
-obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V4) += mach-tl-wa901nd-v4.o
-obj-$(CONFIG_ATH79_MACH_TL_WAX50RE) += mach-tl-wax50re.o
-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_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
-obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2) += mach-tl-wr1043nd-v2.o
-obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V4) += mach-tl-wr1043nd-v4.o
-obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
-obj-$(CONFIG_ATH79_MACH_TL_WR703N) += mach-tl-wr703n.o
-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.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_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_WR940N_V4) += mach-tl-wr940n-v4.o
-obj-$(CONFIG_ATH79_MACH_TL_WR942N_V1) += mach-tl-wr942n-v1.o
-obj-$(CONFIG_ATH79_MACH_TS_D084) += mach-ts-d084.o
-obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o
-obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o
-obj-$(CONFIG_ATH79_MACH_UBNT_UNIFIAC) += mach-ubnt-unifiac.o
-obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o
-obj-$(CONFIG_ATH79_MACH_WAM250) += mach-wam250.o
-obj-$(CONFIG_ATH79_MACH_WEIO) += mach-weio.o
-obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N) += mach-whr-hp-g300n.o
-obj-$(CONFIG_ATH79_MACH_WIFI_PINEAPPLE_NANO) += mach-wifi-pineapple-nano.o
-obj-$(CONFIG_ATH79_MACH_WLAE_AG300N) += mach-wlae-ag300n.o
-obj-$(CONFIG_ATH79_MACH_WLR8100) += mach-wlr8100.o
-obj-$(CONFIG_ATH79_MACH_WNDAP360) += mach-wndap360.o
-obj-$(CONFIG_ATH79_MACH_WNDR3700) += mach-wndr3700.o
-obj-$(CONFIG_ATH79_MACH_WNDR4300) += mach-wndr4300.o
-obj-$(CONFIG_ATH79_MACH_WNR2000) += mach-wnr2000.o
-obj-$(CONFIG_ATH79_MACH_WNR2000_V3) += mach-wnr2000-v3.o
-obj-$(CONFIG_ATH79_MACH_WNR2000_V4) += mach-wnr2000-v4.o
-obj-$(CONFIG_ATH79_MACH_WNR2200) += mach-wnr2200.o
-obj-$(CONFIG_ATH79_MACH_WP543) += mach-wp543.o
-obj-$(CONFIG_ATH79_MACH_WPE72) += mach-wpe72.o
-obj-$(CONFIG_ATH79_MACH_WPJ342) += mach-wpj342.o
-obj-$(CONFIG_ATH79_MACH_WPJ344) += mach-wpj344.o
-obj-$(CONFIG_ATH79_MACH_WPJ531) += mach-wpj531.o
-obj-$(CONFIG_ATH79_MACH_WPJ558) += mach-wpj558.o
-obj-$(CONFIG_ATH79_MACH_WPJ563) += mach-wpj563.o
-obj-$(CONFIG_ATH79_MACH_WRT160NL) += mach-wrt160nl.o
-obj-$(CONFIG_ATH79_MACH_WRT400N) += mach-wrt400n.o
-obj-$(CONFIG_ATH79_MACH_WRTNODE2Q) += mach-wrtnode2q.o
-obj-$(CONFIG_ATH79_MACH_WZR_450HP2) += mach-wzr-450hp2.o
-obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
-obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) += mach-wzr-hp-g300nh.o
-obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += mach-wzr-hp-g300nh2.o
-obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
-obj-$(CONFIG_ATH79_MACH_XD3200) += mach-sr3200.o
-obj-$(CONFIG_ATH79_MACH_Z1) += mach-z1.o
-obj-$(CONFIG_ATH79_MACH_ZBT_WE1526) += mach-zbt-we1526.o
-obj-$(CONFIG_ATH79_MACH_ZCN_1523H) += mach-zcn-1523h.o
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.c
deleted file mode 100644
index 483aed78ed..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Atheros AP9X reference board PCI initialization
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/ath9k_platform.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-ap9x-pci.h"
-#include "pci-ath9k-fixup.h"
-#include "pci.h"
-
-static struct ath9k_platform_data ap9x_wmac0_data = {
- .led_pin = -1,
-};
-static struct ath9k_platform_data ap9x_wmac1_data = {
- .led_pin = -1,
-};
-static char ap9x_wmac0_mac[6];
-static char ap9x_wmac1_mac[6];
-
-__init void ap9x_pci_setup_wmac_led_pin(unsigned wmac, int pin)
-{
- switch (wmac) {
- case 0:
- ap9x_wmac0_data.led_pin = pin;
- break;
- case 1:
- ap9x_wmac1_data.led_pin = pin;
- break;
- }
-}
-
-__init struct ath9k_platform_data *ap9x_pci_get_wmac_data(unsigned wmac)
-{
- switch (wmac) {
- case 0:
- return &ap9x_wmac0_data;
-
- case 1:
- return &ap9x_wmac1_data;
- }
-
- return NULL;
-}
-
-__init void ap9x_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val)
-{
- switch (wmac) {
- case 0:
- ap9x_wmac0_data.gpio_mask = mask;
- ap9x_wmac0_data.gpio_val = val;
- break;
- case 1:
- ap9x_wmac1_data.gpio_mask = mask;
- ap9x_wmac1_data.gpio_val = val;
- break;
- }
-}
-
-__init void ap9x_pci_setup_wmac_leds(unsigned wmac, struct gpio_led *leds,
- int num_leds)
-{
- switch (wmac) {
- case 0:
- ap9x_wmac0_data.leds = leds;
- ap9x_wmac0_data.num_leds = num_leds;
- break;
- case 1:
- ap9x_wmac1_data.leds = leds;
- ap9x_wmac1_data.num_leds = num_leds;
- break;
- }
-}
-
-__init void ap9x_pci_setup_wmac_btns(unsigned wmac,
- struct gpio_keys_button *btns,
- unsigned num_btns, unsigned poll_interval)
-{
- struct ath9k_platform_data *ap9x_wmac_data;
-
- if (!(ap9x_wmac_data = ap9x_pci_get_wmac_data(wmac)))
- return;
-
- ap9x_wmac_data->btns = btns;
- ap9x_wmac_data->num_btns = num_btns;
- ap9x_wmac_data->btn_poll_interval = poll_interval;
-}
-
-static int ap91_pci_plat_dev_init(struct pci_dev *dev)
-{
- switch (PCI_SLOT(dev->devfn)) {
- case 0:
- dev->dev.platform_data = &ap9x_wmac0_data;
- break;
- }
-
- return 0;
-}
-
-__init void ap91_pci_init(u8 *cal_data, u8 *mac_addr)
-{
- if (cal_data)
- memcpy(ap9x_wmac0_data.eeprom_data, cal_data,
- sizeof(ap9x_wmac0_data.eeprom_data));
-
- if (mac_addr) {
- memcpy(ap9x_wmac0_mac, mac_addr, sizeof(ap9x_wmac0_mac));
- ap9x_wmac0_data.macaddr = ap9x_wmac0_mac;
- }
-
- ath79_pci_set_plat_dev_init(ap91_pci_plat_dev_init);
- ath79_register_pci();
-
- pci_enable_ath9k_fixup(0, ap9x_wmac0_data.eeprom_data);
-}
-
-__init void ap91_pci_init_simple(void)
-{
- ap91_pci_init(NULL, NULL);
- ap9x_wmac0_data.eeprom_name = "pci_wmac0.eeprom";
-}
-
-static int ap94_pci_plat_dev_init(struct pci_dev *dev)
-{
- switch (PCI_SLOT(dev->devfn)) {
- case 17:
- dev->dev.platform_data = &ap9x_wmac0_data;
- break;
-
- case 18:
- dev->dev.platform_data = &ap9x_wmac1_data;
- break;
- }
-
- return 0;
-}
-
-__init void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
- u8 *cal_data1, u8 *mac_addr1)
-{
- if (cal_data0)
- memcpy(ap9x_wmac0_data.eeprom_data, cal_data0,
- sizeof(ap9x_wmac0_data.eeprom_data));
-
- if (cal_data1)
- memcpy(ap9x_wmac1_data.eeprom_data, cal_data1,
- sizeof(ap9x_wmac1_data.eeprom_data));
-
- if (mac_addr0) {
- memcpy(ap9x_wmac0_mac, mac_addr0, sizeof(ap9x_wmac0_mac));
- ap9x_wmac0_data.macaddr = ap9x_wmac0_mac;
- }
-
- if (mac_addr1) {
- memcpy(ap9x_wmac1_mac, mac_addr1, sizeof(ap9x_wmac1_mac));
- ap9x_wmac1_data.macaddr = ap9x_wmac1_mac;
- }
-
- ath79_pci_set_plat_dev_init(ap94_pci_plat_dev_init);
- ath79_register_pci();
-
- pci_enable_ath9k_fixup(17, ap9x_wmac0_data.eeprom_data);
- pci_enable_ath9k_fixup(18, ap9x_wmac1_data.eeprom_data);
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.h
deleted file mode 100644
index d2a045fc1c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Atheros AP9X reference board PCI initialization
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_DEV_AP9X_PCI_H
-#define _ATH79_DEV_AP9X_PCI_H
-
-struct gpio_led;
-struct gpio_keys_button;
-struct ath9k_platform_data;
-
-#if defined(CONFIG_ATH79_DEV_AP9X_PCI)
-void ap9x_pci_setup_wmac_led_pin(unsigned wmac, int pin);
-void ap9x_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val);
-void ap9x_pci_setup_wmac_leds(unsigned wmac, struct gpio_led *leds,
- int num_leds);
-void ap9x_pci_setup_wmac_btns(unsigned wmac, struct gpio_keys_button *btns,
- unsigned num_btns, unsigned poll_interval);
-struct ath9k_platform_data *ap9x_pci_get_wmac_data(unsigned wmac);
-
-void ap91_pci_init(u8 *cal_data, u8 *mac_addr);
-void ap91_pci_init_simple(void);
-void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
- u8 *cal_data1, u8 *mac_addr1);
-
-#else
-static inline void ap9x_pci_setup_wmac_led_pin(unsigned wmac, int pin) {}
-static inline void ap9x_pci_setup_wmac_gpio(unsigned wmac,
- u32 mask, u32 val) {}
-static inline void ap9x_pci_setup_wmac_leds(unsigned wmac,
- struct gpio_led *leds,
- int num_leds) {}
-static inline void ap9x_pci_setup_wmac_btns(unsigned wmac,
- struct gpio_keys_button *btns,
- unsigned num_btns,
- unsigned poll_interval) {}
-static inline struct ath9k_platform_data *ap9x_pci_get_wmac_data(unsigned wmac)
-{
- return NULL;
-}
-
-static inline void ap91_pci_init(u8 *cal_data, u8 *mac_addr) {}
-static inline void ap91_pci_init_simple(void) {}
-static inline void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
- u8 *cal_data1, u8 *mac_addr1) {}
-#endif
-
-#endif /* _ATH79_DEV_AP9X_PCI_H */
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.c
deleted file mode 100644
index 4ade218f7e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Atheros AR71xx DSA switch device support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/init.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-dsa.h"
-
-static struct platform_device ar71xx_dsa_switch_device = {
- .name = "dsa",
- .id = 0,
-};
-
-void __init ath79_register_dsa(struct device *netdev,
- struct device *miidev,
- struct dsa_platform_data *d)
-{
- int i;
-
- d->netdev = netdev;
- for (i = 0; i < d->nr_chips; i++)
- d->chip[i].host_dev = miidev;
-
- ar71xx_dsa_switch_device.dev.platform_data = d;
- platform_device_register(&ar71xx_dsa_switch_device);
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.h
deleted file mode 100644
index 3730202e8d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Atheros AR71xx DSA switch device support
- *
- * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_DEV_DSA_H
-#define _ATH79_DEV_DSA_H
-
-#include <net/dsa.h>
-
-void ath79_register_dsa(struct device *netdev,
- struct device *miidev,
- struct dsa_platform_data *d);
-
-#endif /* _ATH79_DEV_DSA_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
deleted file mode 100644
index 1e230bce61..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
+++ /dev/null
@@ -1,1262 +0,0 @@
-/*
- * Atheros AR71xx SoC platform devices
- *
- * Copyright (C) 2010-2011 Jaiganesh Narayanan <jnarayanan@atheros.com>
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * Parts of this file are based on Atheros 2.6.15 BSP
- * Parts of this file are based on Atheros 2.6.31 BSP
- *
- * 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/kernel.h>
-#include <linux/init.h>
-#include <linux/delay.h>
-#include <linux/etherdevice.h>
-#include <linux/platform_device.h>
-#include <linux/serial_8250.h>
-#include <linux/clk.h>
-#include <linux/sizes.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/irq.h>
-
-#include "common.h"
-#include "dev-eth.h"
-
-unsigned char ath79_mac_base[ETH_ALEN] __initdata;
-
-static struct resource ath79_mdio0_resources[] = {
- {
- .name = "mdio_base",
- .flags = IORESOURCE_MEM,
- .start = AR71XX_GE0_BASE,
- .end = AR71XX_GE0_BASE + 0x200 - 1,
- }
-};
-
-struct ag71xx_mdio_platform_data ath79_mdio0_data;
-
-struct platform_device ath79_mdio0_device = {
- .name = "ag71xx-mdio",
- .id = 0,
- .resource = ath79_mdio0_resources,
- .num_resources = ARRAY_SIZE(ath79_mdio0_resources),
- .dev = {
- .platform_data = &ath79_mdio0_data,
- },
-};
-
-static struct resource ath79_mdio1_resources[] = {
- {
- .name = "mdio_base",
- .flags = IORESOURCE_MEM,
- .start = AR71XX_GE1_BASE,
- .end = AR71XX_GE1_BASE + 0x200 - 1,
- }
-};
-
-struct ag71xx_mdio_platform_data ath79_mdio1_data;
-
-struct platform_device ath79_mdio1_device = {
- .name = "ag71xx-mdio",
- .id = 1,
- .resource = ath79_mdio1_resources,
- .num_resources = ARRAY_SIZE(ath79_mdio1_resources),
- .dev = {
- .platform_data = &ath79_mdio1_data,
- },
-};
-
-static void ath79_set_pll(u32 cfg_reg, u32 pll_reg, u32 pll_val, u32 shift)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
-
- t = __raw_readl(base + cfg_reg);
- t &= ~(3 << shift);
- t |= (2 << shift);
- __raw_writel(t, base + cfg_reg);
- udelay(100);
-
- __raw_writel(pll_val, base + pll_reg);
-
- t |= (3 << shift);
- __raw_writel(t, base + cfg_reg);
- udelay(100);
-
- t &= ~(3 << shift);
- __raw_writel(t, base + cfg_reg);
- udelay(100);
-
- printk(KERN_DEBUG "ar71xx: pll_reg %#x: %#x\n",
- (unsigned int)(base + pll_reg), __raw_readl(base + pll_reg));
-
- iounmap(base);
-}
-
-static void __init ath79_mii_ctrl_set_if(unsigned int reg,
- unsigned int mii_if)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(AR71XX_MII_BASE, AR71XX_MII_SIZE);
-
- t = __raw_readl(base + reg);
- t &= ~(AR71XX_MII_CTRL_IF_MASK);
- t |= (mii_if & AR71XX_MII_CTRL_IF_MASK);
- __raw_writel(t, base + reg);
-
- iounmap(base);
-}
-
-static void ath79_mii_ctrl_set_speed(unsigned int reg, unsigned int speed)
-{
- void __iomem *base;
- unsigned int mii_speed;
- u32 t;
-
- switch (speed) {
- case SPEED_10:
- mii_speed = AR71XX_MII_CTRL_SPEED_10;
- break;
- case SPEED_100:
- mii_speed = AR71XX_MII_CTRL_SPEED_100;
- break;
- case SPEED_1000:
- mii_speed = AR71XX_MII_CTRL_SPEED_1000;
- break;
- default:
- BUG();
- }
-
- base = ioremap(AR71XX_MII_BASE, AR71XX_MII_SIZE);
-
- t = __raw_readl(base + reg);
- t &= ~(AR71XX_MII_CTRL_SPEED_MASK << AR71XX_MII_CTRL_SPEED_SHIFT);
- t |= mii_speed << AR71XX_MII_CTRL_SPEED_SHIFT;
- __raw_writel(t, base + reg);
-
- iounmap(base);
-}
-
-static unsigned long ar934x_get_mdio_ref_clock(void)
-{
- void __iomem *base;
- unsigned long ret;
- u32 t;
-
- base = ioremap(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
-
- ret = 0;
- t = __raw_readl(base + AR934X_PLL_SWITCH_CLOCK_CONTROL_REG);
- if (t & AR934X_PLL_SWITCH_CLOCK_CONTROL_MDIO_CLK_SEL) {
- ret = 100 * 1000 * 1000;
- } else {
- struct clk *clk;
-
- clk = clk_get(NULL, "ref");
- if (!IS_ERR(clk))
- ret = clk_get_rate(clk);
- }
-
- iounmap(base);
-
- return ret;
-}
-
-void __init ath79_register_mdio(unsigned int id, u32 phy_mask)
-{
- struct platform_device *mdio_dev;
- struct ag71xx_mdio_platform_data *mdio_data;
- unsigned int max_id;
-
- if (ath79_soc == ATH79_SOC_AR9341 ||
- ath79_soc == ATH79_SOC_AR9342 ||
- ath79_soc == ATH79_SOC_AR9344 ||
- ath79_soc == ATH79_SOC_QCA9556 ||
- ath79_soc == ATH79_SOC_QCA9558 ||
- ath79_soc == ATH79_SOC_QCA956X)
- max_id = 1;
- else
- max_id = 0;
-
- if (id > max_id) {
- printk(KERN_ERR "ar71xx: invalid MDIO id %u\n", id);
- return;
- }
-
- switch (ath79_soc) {
- case ATH79_SOC_AR7241:
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_TP9343:
- mdio_dev = &ath79_mdio1_device;
- mdio_data = &ath79_mdio1_data;
- break;
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- case ATH79_SOC_QCA956X:
- if (id == 0) {
- mdio_dev = &ath79_mdio0_device;
- mdio_data = &ath79_mdio0_data;
- } else {
- mdio_dev = &ath79_mdio1_device;
- mdio_data = &ath79_mdio1_data;
- }
- break;
-
- case ATH79_SOC_AR7242:
- ath79_set_pll(AR71XX_PLL_REG_SEC_CONFIG,
- AR7242_PLL_REG_ETH0_INT_CLOCK, 0x62000000,
- AR71XX_ETH0_PLL_SHIFT);
- /* fall through */
- default:
- mdio_dev = &ath79_mdio0_device;
- mdio_data = &ath79_mdio0_data;
- break;
- }
-
- mdio_data->phy_mask = phy_mask;
-
- switch (ath79_soc) {
- case ATH79_SOC_AR7240:
- mdio_data->is_ar7240 = 1;
- /* fall through */
- case ATH79_SOC_AR7241:
- mdio_data->builtin_switch = 1;
- break;
-
- case ATH79_SOC_AR9330:
- mdio_data->is_ar9330 = 1;
- /* fall through */
- case ATH79_SOC_AR9331:
- mdio_data->builtin_switch = 1;
- break;
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- if (id == 1) {
- mdio_data->builtin_switch = 1;
- mdio_data->ref_clock = ar934x_get_mdio_ref_clock();
- mdio_data->mdio_clock = 6250000;
- }
- mdio_data->is_ar934x = 1;
- break;
-
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_TP9343:
- mdio_data->builtin_switch = 1;
- break;
-
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- mdio_data->is_ar934x = 1;
- break;
-
- case ATH79_SOC_QCA956X:
- if (id == 1)
- mdio_data->builtin_switch = 1;
- mdio_data->is_ar934x = 1;
- break;
-
- default:
- break;
- }
-
- platform_device_register(mdio_dev);
-}
-
-struct ath79_eth_pll_data ath79_eth0_pll_data;
-struct ath79_eth_pll_data ath79_eth1_pll_data;
-
-static u32 ath79_get_eth_pll(unsigned int mac, int speed)
-{
- struct ath79_eth_pll_data *pll_data;
- u32 pll_val;
-
- switch (mac) {
- case 0:
- pll_data = &ath79_eth0_pll_data;
- break;
- case 1:
- pll_data = &ath79_eth1_pll_data;
- break;
- default:
- BUG();
- }
-
- switch (speed) {
- case SPEED_10:
- pll_val = pll_data->pll_10;
- break;
- case SPEED_100:
- pll_val = pll_data->pll_100;
- break;
- case SPEED_1000:
- pll_val = pll_data->pll_1000;
- break;
- default:
- BUG();
- }
-
- return pll_val;
-}
-
-static void ath79_set_speed_ge0(int speed)
-{
- u32 val = ath79_get_eth_pll(0, speed);
-
- ath79_set_pll(AR71XX_PLL_REG_SEC_CONFIG, AR71XX_PLL_REG_ETH0_INT_CLOCK,
- val, AR71XX_ETH0_PLL_SHIFT);
- ath79_mii_ctrl_set_speed(AR71XX_MII_REG_MII0_CTRL, speed);
-}
-
-static void ath79_set_speed_ge1(int speed)
-{
- u32 val = ath79_get_eth_pll(1, speed);
-
- ath79_set_pll(AR71XX_PLL_REG_SEC_CONFIG, AR71XX_PLL_REG_ETH1_INT_CLOCK,
- val, AR71XX_ETH1_PLL_SHIFT);
- ath79_mii_ctrl_set_speed(AR71XX_MII_REG_MII1_CTRL, speed);
-}
-
-static void ar7242_set_speed_ge0(int speed)
-{
- u32 val = ath79_get_eth_pll(0, speed);
- void __iomem *base;
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
- __raw_writel(val, base + AR7242_PLL_REG_ETH0_INT_CLOCK);
- iounmap(base);
-}
-
-static void ar91xx_set_speed_ge0(int speed)
-{
- u32 val = ath79_get_eth_pll(0, speed);
-
- ath79_set_pll(AR913X_PLL_REG_ETH_CONFIG, AR913X_PLL_REG_ETH0_INT_CLOCK,
- val, AR913X_ETH0_PLL_SHIFT);
- ath79_mii_ctrl_set_speed(AR71XX_MII_REG_MII0_CTRL, speed);
-}
-
-static void ar91xx_set_speed_ge1(int speed)
-{
- u32 val = ath79_get_eth_pll(1, speed);
-
- ath79_set_pll(AR913X_PLL_REG_ETH_CONFIG, AR913X_PLL_REG_ETH1_INT_CLOCK,
- val, AR913X_ETH1_PLL_SHIFT);
- ath79_mii_ctrl_set_speed(AR71XX_MII_REG_MII1_CTRL, speed);
-}
-
-static void ar934x_set_speed_ge0(int speed)
-{
- void __iomem *base;
- u32 val = ath79_get_eth_pll(0, speed);
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
- __raw_writel(val, base + AR934X_PLL_ETH_XMII_CONTROL_REG);
- iounmap(base);
-}
-
-static void qca955x_set_speed_xmii(int speed)
-{
- void __iomem *base;
- u32 val = ath79_get_eth_pll(0, speed);
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
- __raw_writel(val, base + QCA955X_PLL_ETH_XMII_CONTROL_REG);
- iounmap(base);
-}
-
-static void qca955x_set_speed_sgmii(int id, int speed)
-{
- void __iomem *base;
- u32 val = ath79_get_eth_pll(id, speed);
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
- __raw_writel(val, base + QCA955X_PLL_ETH_SGMII_CONTROL_REG);
- iounmap(base);
-}
-
-static void qca9556_set_speed_sgmii(int speed)
-{
- qca955x_set_speed_sgmii(0, speed);
-}
-
-static void qca9558_set_speed_sgmii(int speed)
-{
- qca955x_set_speed_sgmii(1, speed);
-}
-
-static void qca956x_set_speed_sgmii(int speed)
-{
- void __iomem *base;
- u32 val = ath79_get_eth_pll(0, speed);
-
- base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
- __raw_writel(val, base + QCA955X_PLL_ETH_SGMII_CONTROL_REG);
- iounmap(base);
-}
-
-static void ath79_set_speed_dummy(int speed)
-{
-}
-
-static void ath79_ddr_flush_ge0(void)
-{
- ath79_ddr_wb_flush(0);
-}
-
-static void ath79_ddr_flush_ge1(void)
-{
- ath79_ddr_wb_flush(1);
-}
-
-static struct resource ath79_eth0_resources[] = {
- {
- .name = "mac_base",
- .flags = IORESOURCE_MEM,
- .start = AR71XX_GE0_BASE,
- .end = AR71XX_GE0_BASE + 0x200 - 1,
- }, {
- .name = "mac_irq",
- .flags = IORESOURCE_IRQ,
- .start = ATH79_CPU_IRQ(4),
- .end = ATH79_CPU_IRQ(4),
- },
-};
-
-struct ag71xx_platform_data ath79_eth0_data = {
- .reset_bit = AR71XX_RESET_GE0_MAC,
-};
-
-struct platform_device ath79_eth0_device = {
- .name = "ag71xx",
- .id = 0,
- .resource = ath79_eth0_resources,
- .num_resources = ARRAY_SIZE(ath79_eth0_resources),
- .dev = {
- .platform_data = &ath79_eth0_data,
- },
-};
-
-static struct resource ath79_eth1_resources[] = {
- {
- .name = "mac_base",
- .flags = IORESOURCE_MEM,
- .start = AR71XX_GE1_BASE,
- .end = AR71XX_GE1_BASE + 0x200 - 1,
- }, {
- .name = "mac_irq",
- .flags = IORESOURCE_IRQ,
- .start = ATH79_CPU_IRQ(5),
- .end = ATH79_CPU_IRQ(5),
- },
-};
-
-struct ag71xx_platform_data ath79_eth1_data = {
- .reset_bit = AR71XX_RESET_GE1_MAC,
-};
-
-struct platform_device ath79_eth1_device = {
- .name = "ag71xx",
- .id = 1,
- .resource = ath79_eth1_resources,
- .num_resources = ARRAY_SIZE(ath79_eth1_resources),
- .dev = {
- .platform_data = &ath79_eth1_data,
- },
-};
-
-struct ag71xx_switch_platform_data ath79_switch_data;
-
-#define AR71XX_PLL_VAL_1000 0x00110000
-#define AR71XX_PLL_VAL_100 0x00001099
-#define AR71XX_PLL_VAL_10 0x00991099
-
-#define AR724X_PLL_VAL_1000 0x00110000
-#define AR724X_PLL_VAL_100 0x00001099
-#define AR724X_PLL_VAL_10 0x00991099
-
-#define AR7242_PLL_VAL_1000 0x16000000
-#define AR7242_PLL_VAL_100 0x00000101
-#define AR7242_PLL_VAL_10 0x00001616
-
-#define AR913X_PLL_VAL_1000 0x1a000000
-#define AR913X_PLL_VAL_100 0x13000a44
-#define AR913X_PLL_VAL_10 0x00441099
-
-#define AR933X_PLL_VAL_1000 0x00110000
-#define AR933X_PLL_VAL_100 0x00001099
-#define AR933X_PLL_VAL_10 0x00991099
-
-#define AR934X_PLL_VAL_1000 0x16000000
-#define AR934X_PLL_VAL_100 0x00000101
-#define AR934X_PLL_VAL_10 0x00001616
-
-#define QCA956X_PLL_VAL_1000 0x03000000
-#define QCA956X_PLL_VAL_100 0x00000101
-#define QCA956X_PLL_VAL_10 0x00001919
-
-static void __init ath79_init_eth_pll_data(unsigned int id)
-{
- struct ath79_eth_pll_data *pll_data;
- u32 pll_10, pll_100, pll_1000;
-
- switch (id) {
- case 0:
- pll_data = &ath79_eth0_pll_data;
- break;
- case 1:
- pll_data = &ath79_eth1_pll_data;
- break;
- default:
- BUG();
- }
-
- switch (ath79_soc) {
- case ATH79_SOC_AR7130:
- case ATH79_SOC_AR7141:
- case ATH79_SOC_AR7161:
- pll_10 = AR71XX_PLL_VAL_10;
- pll_100 = AR71XX_PLL_VAL_100;
- pll_1000 = AR71XX_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_AR7240:
- case ATH79_SOC_AR7241:
- pll_10 = AR724X_PLL_VAL_10;
- pll_100 = AR724X_PLL_VAL_100;
- pll_1000 = AR724X_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_AR7242:
- pll_10 = AR7242_PLL_VAL_10;
- pll_100 = AR7242_PLL_VAL_100;
- pll_1000 = AR7242_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_AR9130:
- case ATH79_SOC_AR9132:
- pll_10 = AR913X_PLL_VAL_10;
- pll_100 = AR913X_PLL_VAL_100;
- pll_1000 = AR913X_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- pll_10 = AR933X_PLL_VAL_10;
- pll_100 = AR933X_PLL_VAL_100;
- pll_1000 = AR933X_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- case ATH79_SOC_TP9343:
- pll_10 = AR934X_PLL_VAL_10;
- pll_100 = AR934X_PLL_VAL_100;
- pll_1000 = AR934X_PLL_VAL_1000;
- break;
-
- case ATH79_SOC_QCA956X:
- pll_10 = QCA956X_PLL_VAL_10;
- pll_100 = QCA956X_PLL_VAL_100;
- pll_1000 = QCA956X_PLL_VAL_1000;
- break;
-
- default:
- BUG();
- }
-
- if (!pll_data->pll_10)
- pll_data->pll_10 = pll_10;
-
- if (!pll_data->pll_100)
- pll_data->pll_100 = pll_100;
-
- if (!pll_data->pll_1000)
- pll_data->pll_1000 = pll_1000;
-}
-
-static int __init ath79_setup_phy_if_mode(unsigned int id,
- struct ag71xx_platform_data *pdata)
-{
- unsigned int mii_if;
-
- switch (id) {
- case 0:
- switch (ath79_soc) {
- case ATH79_SOC_AR7130:
- case ATH79_SOC_AR7141:
- case ATH79_SOC_AR7161:
- case ATH79_SOC_AR9130:
- case ATH79_SOC_AR9132:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_MII:
- mii_if = AR71XX_MII0_CTRL_IF_MII;
- break;
- case PHY_INTERFACE_MODE_GMII:
- mii_if = AR71XX_MII0_CTRL_IF_GMII;
- break;
- case PHY_INTERFACE_MODE_RGMII:
- mii_if = AR71XX_MII0_CTRL_IF_RGMII;
- break;
- case PHY_INTERFACE_MODE_RMII:
- mii_if = AR71XX_MII0_CTRL_IF_RMII;
- break;
- default:
- return -EINVAL;
- }
- ath79_mii_ctrl_set_if(AR71XX_MII_REG_MII0_CTRL, mii_if);
- break;
-
- case ATH79_SOC_AR7240:
- case ATH79_SOC_AR7241:
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_TP9343:
- pdata->phy_if_mode = PHY_INTERFACE_MODE_MII;
- break;
-
- case ATH79_SOC_AR7242:
- /* FIXME */
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_MII:
- case PHY_INTERFACE_MODE_GMII:
- case PHY_INTERFACE_MODE_RGMII:
- case PHY_INTERFACE_MODE_RMII:
- break;
- default:
- return -EINVAL;
- }
- break;
-
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- case ATH79_SOC_QCA956X:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_MII:
- case PHY_INTERFACE_MODE_RGMII:
- case PHY_INTERFACE_MODE_SGMII:
- break;
- default:
- return -EINVAL;
- }
- break;
-
- default:
- BUG();
- }
- break;
- case 1:
- switch (ath79_soc) {
- case ATH79_SOC_AR7130:
- case ATH79_SOC_AR7141:
- case ATH79_SOC_AR7161:
- case ATH79_SOC_AR9130:
- case ATH79_SOC_AR9132:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_RMII:
- mii_if = AR71XX_MII1_CTRL_IF_RMII;
- break;
- case PHY_INTERFACE_MODE_RGMII:
- mii_if = AR71XX_MII1_CTRL_IF_RGMII;
- break;
- default:
- return -EINVAL;
- }
- ath79_mii_ctrl_set_if(AR71XX_MII_REG_MII1_CTRL, mii_if);
- break;
-
- case ATH79_SOC_AR7240:
- case ATH79_SOC_AR7241:
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- case ATH79_SOC_TP9343:
- pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
- break;
-
- case ATH79_SOC_AR7242:
- /* FIXME */
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_QCA956X:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_MII:
- case PHY_INTERFACE_MODE_GMII:
- break;
- default:
- return -EINVAL;
- }
- break;
-
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_MII:
- case PHY_INTERFACE_MODE_RGMII:
- case PHY_INTERFACE_MODE_SGMII:
- break;
- default:
- return -EINVAL;
- }
- break;
-
- default:
- BUG();
- }
- break;
- }
-
- return 0;
-}
-
-void __init ath79_setup_ar933x_phy4_switch(bool mac, bool mdio)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(AR933X_GMAC_BASE, AR933X_GMAC_SIZE);
-
- t = __raw_readl(base + AR933X_GMAC_REG_ETH_CFG);
- t &= ~(AR933X_ETH_CFG_SW_PHY_SWAP | AR933X_ETH_CFG_SW_PHY_ADDR_SWAP);
- if (mac)
- t |= AR933X_ETH_CFG_SW_PHY_SWAP;
- if (mdio)
- t |= AR933X_ETH_CFG_SW_PHY_ADDR_SWAP;
- __raw_writel(t, base + AR933X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-void __init ath79_setup_ar934x_eth_cfg(u32 mask)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(AR934X_GMAC_BASE, AR934X_GMAC_SIZE);
-
- t = __raw_readl(base + AR934X_GMAC_REG_ETH_CFG);
-
- t &= ~(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_MII_GMAC0 |
- AR934X_ETH_CFG_GMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE |
- AR934X_ETH_CFG_SW_PHY_SWAP);
-
- t |= mask;
-
- __raw_writel(t, base + AR934X_GMAC_REG_ETH_CFG);
- /* flush write */
- __raw_readl(base + AR934X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-void __init ath79_setup_ar934x_eth_rx_delay(unsigned int rxd,
- unsigned int rxdv)
-{
- void __iomem *base;
- u32 t;
-
- rxd &= AR934X_ETH_CFG_RXD_DELAY_MASK;
- rxdv &= AR934X_ETH_CFG_RDV_DELAY_MASK;
-
- base = ioremap(AR934X_GMAC_BASE, AR934X_GMAC_SIZE);
-
- t = __raw_readl(base + AR934X_GMAC_REG_ETH_CFG);
-
- t &= ~(AR934X_ETH_CFG_RXD_DELAY_MASK << AR934X_ETH_CFG_RXD_DELAY_SHIFT |
- AR934X_ETH_CFG_RDV_DELAY_MASK << AR934X_ETH_CFG_RDV_DELAY_SHIFT);
-
- t |= (rxd << AR934X_ETH_CFG_RXD_DELAY_SHIFT |
- rxdv << AR934X_ETH_CFG_RDV_DELAY_SHIFT);
-
- __raw_writel(t, base + AR934X_GMAC_REG_ETH_CFG);
- /* flush write */
- __raw_readl(base + AR934X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-void __init ath79_setup_qca955x_eth_cfg(u32 mask)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = __raw_readl(base + QCA955X_GMAC_REG_ETH_CFG);
-
- t &= ~(QCA955X_ETH_CFG_RGMII_EN | QCA955X_ETH_CFG_GE0_SGMII);
-
- t |= mask;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-void __init ath79_setup_qca956x_eth_cfg(u32 mask)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA956X_GMAC_BASE, QCA956X_GMAC_SIZE);
-
- t = __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
-
- t &= ~(QCA956X_ETH_CFG_SW_ONLY_MODE |
- QCA956X_ETH_CFG_SW_PHY_SWAP);
-
- t |= mask;
-
- __raw_writel(t, base + QCA956X_GMAC_REG_ETH_CFG);
- /* flush write */
- __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static int ath79_eth_instance __initdata;
-void __init ath79_register_eth(unsigned int id)
-{
- struct platform_device *pdev;
- struct ag71xx_platform_data *pdata;
- int err;
-
- if (id > 1) {
- printk(KERN_ERR "ar71xx: invalid ethernet id %d\n", id);
- return;
- }
-
- ath79_init_eth_pll_data(id);
-
- if (id == 0)
- pdev = &ath79_eth0_device;
- else
- pdev = &ath79_eth1_device;
-
- pdata = pdev->dev.platform_data;
-
- pdata->max_frame_len = 1540;
- pdata->desc_pktlen_mask = 0xfff;
-
- err = ath79_setup_phy_if_mode(id, pdata);
- if (err) {
- printk(KERN_ERR
- "ar71xx: invalid PHY interface mode for GE%u\n", id);
- return;
- }
-
- if (id == 0)
- pdata->ddr_flush = ath79_ddr_flush_ge0;
- else
- pdata->ddr_flush = ath79_ddr_flush_ge1;
-
- switch (ath79_soc) {
- case ATH79_SOC_AR7130:
- if (id == 0)
- pdata->set_speed = ath79_set_speed_ge0;
- else
- pdata->set_speed = ath79_set_speed_ge1;
- break;
-
- case ATH79_SOC_AR7141:
- case ATH79_SOC_AR7161:
- if (id == 0)
- pdata->set_speed = ath79_set_speed_ge0;
- else
- pdata->set_speed = ath79_set_speed_ge1;
- pdata->has_gbit = 1;
- break;
-
- case ATH79_SOC_AR7242:
- if (id == 0) {
- pdata->reset_bit |= AR724X_RESET_GE0_MDIO |
- AR71XX_RESET_GE0_PHY;
- pdata->set_speed = ar7242_set_speed_ge0;
- } else {
- pdata->reset_bit |= AR724X_RESET_GE1_MDIO |
- AR71XX_RESET_GE1_PHY;
- pdata->set_speed = ath79_set_speed_dummy;
- }
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
- break;
-
- case ATH79_SOC_AR7241:
- if (id == 0)
- pdata->reset_bit |= AR724X_RESET_GE0_MDIO;
- else
- pdata->reset_bit |= AR724X_RESET_GE1_MDIO;
- /* fall through */
- case ATH79_SOC_AR7240:
- if (id == 0) {
- pdata->reset_bit |= AR71XX_RESET_GE0_PHY;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->phy_mask = BIT(4);
- } else {
- pdata->reset_bit |= AR71XX_RESET_GE1_PHY;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->speed = SPEED_1000;
- pdata->duplex = DUPLEX_FULL;
- pdata->switch_data = &ath79_switch_data;
- pdata->use_flow_control = 1;
-
- ath79_switch_data.phy_poll_mask |= BIT(4);
- }
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
- if (ath79_soc == ATH79_SOC_AR7240)
- pdata->is_ar7240 = 1;
- break;
-
- case ATH79_SOC_AR9132:
- pdata->has_gbit = 1;
- /* fall through */
- case ATH79_SOC_AR9130:
- if (id == 0)
- pdata->set_speed = ar91xx_set_speed_ge0;
- else
- pdata->set_speed = ar91xx_set_speed_ge1;
- pdata->is_ar91xx = 1;
- break;
-
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- if (id == 0) {
- pdata->reset_bit = AR933X_RESET_GE0_MAC |
- AR933X_RESET_GE0_MDIO;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->phy_mask = BIT(4);
- } else {
- pdata->reset_bit = AR933X_RESET_GE1_MAC |
- AR933X_RESET_GE1_MDIO;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->speed = SPEED_1000;
- pdata->has_gbit = 1;
- pdata->duplex = DUPLEX_FULL;
- pdata->switch_data = &ath79_switch_data;
- pdata->use_flow_control = 1;
-
- ath79_switch_data.phy_poll_mask |= BIT(4);
- }
-
- pdata->is_ar724x = 1;
- break;
-
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- case ATH79_SOC_QCA9533:
- if (id == 0) {
- 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;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->switch_data = &ath79_switch_data;
-
- /* reset the built-in switch */
- ath79_device_reset_set(AR934X_RESET_ETH_SWITCH);
- ath79_device_reset_clear(AR934X_RESET_ETH_SWITCH);
- }
-
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
-
- pdata->max_frame_len = SZ_16K - 1;
- pdata->desc_pktlen_mask = SZ_16K - 1;
- break;
-
- case ATH79_SOC_TP9343:
- if (id == 0) {
- pdata->reset_bit = AR933X_RESET_GE0_MAC |
- AR933X_RESET_GE0_MDIO;
- pdata->set_speed = ath79_set_speed_dummy;
-
- if (!pdata->phy_mask)
- pdata->phy_mask = BIT(4);
- } else {
- pdata->reset_bit = AR933X_RESET_GE1_MAC |
- AR933X_RESET_GE1_MDIO;
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->speed = SPEED_1000;
- pdata->duplex = DUPLEX_FULL;
- pdata->switch_data = &ath79_switch_data;
- pdata->use_flow_control = 1;
-
- ath79_switch_data.phy_poll_mask |= BIT(4);
- }
-
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
- break;
-
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- if (id == 0) {
- pdata->reset_bit = QCA955X_RESET_GE0_MAC |
- QCA955X_RESET_GE0_MDIO;
- pdata->set_speed = qca955x_set_speed_xmii;
-
- /* QCA9556 only has SGMII interface */
- if (ath79_soc == ATH79_SOC_QCA9556)
- pdata->set_speed = qca9556_set_speed_sgmii;
- } else {
- pdata->reset_bit = QCA955X_RESET_GE1_MAC |
- QCA955X_RESET_GE1_MDIO;
- pdata->set_speed = qca9558_set_speed_sgmii;
- }
-
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
-
- /*
- * Limit the maximum frame length to 4095 bytes.
- * Although the documentation says that the hardware
- * limit is 16383 bytes but that does not work in
- * practice. It seems that the hardware only updates
- * the lowest 12 bits of the packet length field
- * in the RX descriptor.
- */
- pdata->max_frame_len = SZ_4K - 1;
- pdata->desc_pktlen_mask = SZ_16K - 1;
- break;
-
- case ATH79_SOC_QCA956X:
- if (id == 0) {
- pdata->reset_bit = QCA955X_RESET_GE0_MAC |
- QCA955X_RESET_GE0_MDIO;
-
- if (pdata->phy_if_mode == PHY_INTERFACE_MODE_SGMII)
- 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;
-
- pdata->set_speed = ath79_set_speed_dummy;
-
- pdata->switch_data = &ath79_switch_data;
-
- pdata->speed = SPEED_1000;
- pdata->duplex = DUPLEX_FULL;
- pdata->use_flow_control = 1;
-
- /* reset the built-in switch */
- ath79_device_reset_set(AR934X_RESET_ETH_SWITCH);
- ath79_device_reset_clear(AR934X_RESET_ETH_SWITCH);
- }
-
- pdata->has_gbit = 1;
- pdata->is_ar724x = 1;
- break;
-
- default:
- BUG();
- }
-
- switch (pdata->phy_if_mode) {
- case PHY_INTERFACE_MODE_GMII:
- case PHY_INTERFACE_MODE_RGMII:
- case PHY_INTERFACE_MODE_SGMII:
- if (!pdata->has_gbit) {
- printk(KERN_ERR "ar71xx: no gbit available on eth%d\n",
- id);
- return;
- }
- /* fallthrough */
- default:
- break;
- }
-
- if (!is_valid_ether_addr(pdata->mac_addr)) {
- random_ether_addr(pdata->mac_addr);
- printk(KERN_DEBUG
- "ar71xx: using random MAC address for eth%d\n",
- ath79_eth_instance);
- }
-
- if (pdata->mii_bus_dev == NULL) {
- switch (ath79_soc) {
- case ATH79_SOC_AR9341:
- case ATH79_SOC_AR9342:
- case ATH79_SOC_AR9344:
- if (id == 0)
- pdata->mii_bus_dev = &ath79_mdio0_device.dev;
- else
- pdata->mii_bus_dev = &ath79_mdio1_device.dev;
- break;
-
- case ATH79_SOC_AR7241:
- case ATH79_SOC_AR9330:
- case ATH79_SOC_AR9331:
- case ATH79_SOC_QCA9533:
- case ATH79_SOC_TP9343:
- pdata->mii_bus_dev = &ath79_mdio1_device.dev;
- break;
-
- case ATH79_SOC_QCA9556:
- case ATH79_SOC_QCA9558:
- /* don't assign any MDIO device by default */
- break;
-
- case ATH79_SOC_QCA956X:
- if (pdata->phy_if_mode != PHY_INTERFACE_MODE_SGMII)
- pdata->mii_bus_dev = &ath79_mdio1_device.dev;
- break;
-
- default:
- pdata->mii_bus_dev = &ath79_mdio0_device.dev;
- break;
- }
- }
-
- /* Reset the device */
- ath79_device_reset_set(pdata->reset_bit);
- msleep(100);
-
- ath79_device_reset_clear(pdata->reset_bit);
- msleep(100);
-
- platform_device_register(pdev);
- ath79_eth_instance++;
-}
-
-void __init ath79_set_mac_base(unsigned char *mac)
-{
- memcpy(ath79_mac_base, mac, ETH_ALEN);
-}
-
-void __init ath79_parse_ascii_mac(char *mac_str, u8 *mac)
-{
- int t;
-
- t = sscanf(mac_str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
- &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
-
- if (t != ETH_ALEN)
- t = sscanf(mac_str, "%02hhx.%02hhx.%02hhx.%02hhx.%02hhx.%02hhx",
- &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
-
- if (t != ETH_ALEN || !is_valid_ether_addr(mac)) {
- memset(mac, 0, ETH_ALEN);
- printk(KERN_DEBUG "ar71xx: invalid mac address \"%s\"\n",
- mac_str);
- }
-}
-
-void __init ath79_extract_mac_reverse(u8 *ptr, u8 *out)
-{
- int i;
-
- for (i = 0; i < ETH_ALEN; i++) {
- out[i] = ptr[ETH_ALEN-i-1];
- }
-}
-
-static void __init ath79_set_mac_base_ascii(char *str)
-{
- u8 mac[ETH_ALEN];
-
- ath79_parse_ascii_mac(str, mac);
- ath79_set_mac_base(mac);
-}
-
-static int __init ath79_ethaddr_setup(char *str)
-{
- ath79_set_mac_base_ascii(str);
- return 1;
-}
-__setup("ethaddr=", ath79_ethaddr_setup);
-
-static int __init ath79_kmac_setup(char *str)
-{
- ath79_set_mac_base_ascii(str);
- return 1;
-}
-__setup("kmac=", ath79_kmac_setup);
-
-void __init ath79_init_mac(unsigned char *dst, const unsigned char *src,
- int offset)
-{
- int t;
-
- if (!dst)
- return;
-
- if (!src || !is_valid_ether_addr(src)) {
- memset(dst, '\0', ETH_ALEN);
- return;
- }
-
- t = (((u32) src[3]) << 16) + (((u32) src[4]) << 8) + ((u32) src[5]);
- t += offset;
-
- dst[0] = src[0];
- dst[1] = src[1];
- dst[2] = src[2];
- dst[3] = (t >> 16) & 0xff;
- dst[4] = (t >> 8) & 0xff;
- dst[5] = t & 0xff;
-}
-
-void __init ath79_init_local_mac(unsigned char *dst, const unsigned char *src)
-{
- int i;
-
- if (!dst)
- return;
-
- if (!src || !is_valid_ether_addr(src)) {
- memset(dst, '\0', ETH_ALEN);
- return;
- }
-
- for (i = 0; i < ETH_ALEN; i++)
- dst[i] = src[i];
- dst[0] |= 0x02;
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
deleted file mode 100644
index 4d78260fbe..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Atheros AR71xx SoC device definitions
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_DEV_ETH_H
-#define _ATH79_DEV_ETH_H
-
-#include <asm/mach-ath79/ag71xx_platform.h>
-
-struct platform_device;
-
-extern unsigned char ath79_mac_base[] __initdata;
-void ath79_parse_ascii_mac(char *mac_str, u8 *mac);
-void ath79_extract_mac_reverse(u8 *ptr, u8 *out);
-void ath79_init_mac(unsigned char *dst, const unsigned char *src,
- int offset);
-void ath79_init_local_mac(unsigned char *dst, const unsigned char *src);
-
-struct ath79_eth_pll_data {
- u32 pll_10;
- u32 pll_100;
- u32 pll_1000;
-};
-
-extern struct ath79_eth_pll_data ath79_eth0_pll_data;
-extern struct ath79_eth_pll_data ath79_eth1_pll_data;
-
-extern struct ag71xx_platform_data ath79_eth0_data;
-extern struct ag71xx_platform_data ath79_eth1_data;
-extern struct platform_device ath79_eth0_device;
-extern struct platform_device ath79_eth1_device;
-void ath79_register_eth(unsigned int id);
-
-extern struct ag71xx_switch_platform_data ath79_switch_data;
-
-extern struct ag71xx_mdio_platform_data ath79_mdio0_data;
-extern struct ag71xx_mdio_platform_data ath79_mdio1_data;
-extern struct platform_device ath79_mdio0_device;
-extern struct platform_device ath79_mdio1_device;
-void ath79_register_mdio(unsigned int id, u32 phy_mask);
-
-void ath79_setup_ar933x_phy4_switch(bool mac, bool mdio);
-void ath79_setup_ar934x_eth_cfg(u32 mask);
-void ath79_setup_ar934x_eth_rx_delay(unsigned int rxd, unsigned int rxdv);
-void ath79_setup_qca955x_eth_cfg(u32 mask);
-void ath79_setup_qca956x_eth_cfg(u32 mask);
-
-#endif /* _ATH79_DEV_ETH_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c
deleted file mode 100644
index e53d97dcbf..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/init.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/concat.h>
-
-#include "dev-spi.h"
-#include "dev-m25p80.h"
-
-static struct spi_board_info ath79_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- },
- {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- }
-};
-
-static struct ath79_spi_platform_data ath79_spi_data;
-
-void __init ath79_register_m25p80(struct flash_platform_data *pdata)
-{
- ath79_spi_data.bus_num = 0;
- ath79_spi_data.num_chipselect = 1;
- ath79_spi_info[0].platform_data = pdata;
- ath79_register_spi(&ath79_spi_data, ath79_spi_info, 1);
-}
-
-static struct flash_platform_data *multi_pdata;
-
-static struct mtd_info *concat_devs[2] = { NULL, NULL };
-static struct work_struct mtd_concat_work;
-
-static void mtd_concat_add_work(struct work_struct *work)
-{
- struct mtd_info *mtd;
-
- mtd = mtd_concat_create(concat_devs, ARRAY_SIZE(concat_devs), "flash");
-
- mtd_device_register(mtd, multi_pdata->parts, multi_pdata->nr_parts);
-}
-
-static void mtd_concat_add(struct mtd_info *mtd)
-{
- static bool registered = false;
-
- if (registered)
- return;
-
- if (!strcmp(mtd->name, "spi0.0"))
- concat_devs[0] = mtd;
- else if (!strcmp(mtd->name, "spi0.1"))
- concat_devs[1] = mtd;
- else
- return;
-
- if (!concat_devs[0] || !concat_devs[1])
- return;
-
- registered = true;
- INIT_WORK(&mtd_concat_work, mtd_concat_add_work);
- schedule_work(&mtd_concat_work);
-}
-
-static void mtd_concat_remove(struct mtd_info *mtd)
-{
-}
-
-static void add_mtd_concat_notifier(void)
-{
- static struct mtd_notifier not = {
- .add = mtd_concat_add,
- .remove = mtd_concat_remove,
- };
-
- register_mtd_user(&not);
-}
-
-void __init ath79_register_m25p80_multi(struct flash_platform_data *pdata)
-{
- multi_pdata = pdata;
- add_mtd_concat_notifier();
- ath79_spi_data.bus_num = 0;
- ath79_spi_data.num_chipselect = 2;
- ath79_register_spi(&ath79_spi_data, ath79_spi_info, 2);
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h
deleted file mode 100644
index 637b41a7d8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_DEV_M25P80_H
-#define _ATH79_DEV_M25P80_H
-
-#include <linux/spi/flash.h>
-
-void ath79_register_m25p80(struct flash_platform_data *pdata) __init;
-void ath79_register_m25p80_multi(struct flash_platform_data *pdata) __init;
-
-#endif /* _ATH79_DEV_M25P80_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c
deleted file mode 100644
index 9b5256ecc2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Atheros AR934X SoCs built-in NAND flash controller support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/kernel.h>
-#include <linux/delay.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/dma-mapping.h>
-#include <linux/etherdevice.h>
-#include <linux/platform_device.h>
-#include <linux/platform/ar934x_nfc.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "dev-nfc.h"
-
-static struct resource ath79_nfc_resources[2];
-static u64 ar934x_nfc_dmamask = DMA_BIT_MASK(32);
-static struct ar934x_nfc_platform_data ath79_nfc_data;
-
-static struct platform_device ath79_nfc_device = {
- .name = AR934X_NFC_DRIVER_NAME,
- .id = -1,
- .resource = ath79_nfc_resources,
- .num_resources = ARRAY_SIZE(ath79_nfc_resources),
- .dev = {
- .dma_mask = &ar934x_nfc_dmamask,
- .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &ath79_nfc_data,
- },
-};
-
-static void __init ath79_nfc_init_resource(struct resource res[2],
- unsigned long base,
- unsigned long size,
- int irq)
-{
- memset(res, 0, sizeof(struct resource) * 2);
-
- res[0].flags = IORESOURCE_MEM;
- res[0].start = base;
- res[0].end = base + size - 1;
-
- res[1].flags = IORESOURCE_IRQ;
- res[1].start = irq;
- res[1].end = irq;
-}
-
-static void ar934x_nfc_hw_reset(bool active)
-{
- if (active) {
- ath79_device_reset_set(AR934X_RESET_NANDF);
- udelay(100);
-
- ath79_device_reset_set(AR934X_RESET_ETH_SWITCH_ANALOG);
- udelay(250);
- } else {
- ath79_device_reset_clear(AR934X_RESET_ETH_SWITCH_ANALOG);
- udelay(250);
-
- ath79_device_reset_clear(AR934X_RESET_NANDF);
- udelay(100);
- }
-}
-
-static void ar934x_nfc_setup(void)
-{
- ath79_nfc_data.hw_reset = ar934x_nfc_hw_reset;
-
- ath79_nfc_init_resource(ath79_nfc_resources,
- AR934X_NFC_BASE, AR934X_NFC_SIZE,
- ATH79_MISC_IRQ(21));
-
- platform_device_register(&ath79_nfc_device);
-}
-
-static void qca955x_nfc_hw_reset(bool active)
-{
- if (active) {
- ath79_device_reset_set(QCA955X_RESET_NANDF);
- udelay(250);
- } else {
- ath79_device_reset_clear(QCA955X_RESET_NANDF);
- udelay(100);
- }
-}
-
-static void qca955x_nfc_setup(void)
-{
- ath79_nfc_data.hw_reset = qca955x_nfc_hw_reset;
-
- ath79_nfc_init_resource(ath79_nfc_resources,
- QCA955X_NFC_BASE, QCA955X_NFC_SIZE,
- ATH79_MISC_IRQ(21));
-
- platform_device_register(&ath79_nfc_device);
-}
-
-void __init ath79_nfc_set_select_chip(void (*f)(int chip_no))
-{
- ath79_nfc_data.select_chip = f;
-}
-
-void __init ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd))
-{
- ath79_nfc_data.scan_fixup = f;
-}
-
-void __init ath79_nfc_set_swap_dma(bool enable)
-{
- ath79_nfc_data.swap_dma = enable;
-}
-
-void __init ath79_nfc_set_ecc_mode(enum ar934x_nfc_ecc_mode mode)
-{
- ath79_nfc_data.ecc_mode = mode;
-}
-
-void __init ath79_nfc_set_parts(struct mtd_partition *parts, int nr_parts)
-{
- ath79_nfc_data.parts = parts;
- ath79_nfc_data.nr_parts = nr_parts;
-}
-
-void __init ath79_register_nfc(void)
-{
- if (soc_is_ar934x())
- ar934x_nfc_setup();
- else if (soc_is_qca955x())
- qca955x_nfc_setup();
- else
- BUG();
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h
deleted file mode 100644
index 3a1c88fe98..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Atheros AR934X SoCs built-in NAND Flash Controller support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_DEV_NFC_H
-#define _ATH79_DEV_NFC_H
-
-struct mtd_partition;
-enum ar934x_nfc_ecc_mode;
-
-#ifdef CONFIG_ATH79_DEV_NFC
-void ath79_nfc_set_parts(struct mtd_partition *parts, int nr_parts);
-void ath79_nfc_set_select_chip(void (*f)(int chip_no));
-void ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd));
-void ath79_nfc_set_swap_dma(bool enable);
-void ath79_nfc_set_ecc_mode(enum ar934x_nfc_ecc_mode mode);
-void ath79_register_nfc(void);
-#else
-static inline void ath79_nfc_set_parts(struct mtd_partition *parts,
- int nr_parts) {}
-static inline void ath79_nfc_set_select_chip(void (*f)(int chip_no)) {}
-static inline void ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd)) {}
-static inline void ath79_nfc_set_swap_dma(bool enable) {}
-static inline void ath79_nfc_set_ecc_mode(enum ar934x_nfc_ecc_mode mode) {}
-static inline void ath79_register_nfc(void) {}
-#endif
-
-#endif /* _ATH79_DEV_NFC_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c
deleted file mode 100644
index 084a4e4cc0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * OpenMesh A60 support
- *
- * Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
- * Copyright (C) 2014-2017 Sven Eckelmann <sven@open-mesh.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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-gpio-buttons.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-usb.h"
-
-#define A60_GPIO_LED_RED 22
-#define A60_GPIO_LED_GREEN 23
-#define A60_GPIO_LED_BLUE 13
-
-#define A60_GPIO_BTN_RESET 17
-
-#define A60_KEYS_POLL_INTERVAL 20 /* msecs */
-#define A60_KEYS_DEBOUNCE_INTERVAL (3 * A60_KEYS_POLL_INTERVAL)
-
-#define A60_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led a40_leds_gpio[] __initdata = {
- {
- .name = "a40:red:status",
- .gpio = A60_GPIO_LED_RED,
- }, {
- .name = "a40:green:status",
- .gpio = A60_GPIO_LED_GREEN,
- }, {
- .name = "a40:blue:status",
- .gpio = A60_GPIO_LED_BLUE,
- }
-};
-
-static struct gpio_led a60_leds_gpio[] __initdata = {
- {
- .name = "a60:red:status",
- .gpio = A60_GPIO_LED_RED,
- }, {
- .name = "a60:green:status",
- .gpio = A60_GPIO_LED_GREEN,
- }, {
- .name = "a60:blue:status",
- .gpio = A60_GPIO_LED_BLUE,
- }
-};
-
-static struct gpio_keys_button a60_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = A60_KEYS_DEBOUNCE_INTERVAL,
- .gpio = A60_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data a60_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info a60_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &a60_at803x_data,
- },
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 2,
- .platform_data = &a60_at803x_data,
- },
-};
-
-static void __init a60_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init a60_setup_common(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
- ath79_register_gpio_keys_polled(-1, A60_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(a60_gpio_keys),
- a60_gpio_keys);
-
- ath79_init_mac(mac, art, 0x02);
- ath79_register_wmac(art + A60_WMAC_CALDATA_OFFSET, mac);
-
- a60_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(a60_mdio0_info, ARRAY_SIZE(a60_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-
- /* GMAC0 is connected to the PHY1 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(1);
- ath79_eth0_pll_data.pll_1000 = 0x82000101;
- ath79_eth0_pll_data.pll_100 = 0x80000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to MDIO1 in SGMII mode */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth1_data.phy_mask = BIT(2);
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_eth1_pll_data.pll_100 = 0x80000101;
- ath79_eth1_pll_data.pll_10 = 0x80001313;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-static void __init a40_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(a40_leds_gpio), a40_leds_gpio);
- a60_setup_common();
-}
-
-MIPS_MACHINE(ATH79_MACH_A40, "A40", "OpenMesh A40", a40_setup);
-
-static void __init a60_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(a60_leds_gpio), a60_leds_gpio);
- a60_setup_common();
-}
-
-MIPS_MACHINE(ATH79_MACH_A60, "A60", "OpenMesh A60", a60_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap120c.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap120c.c
deleted file mode 100644
index 032261f751..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap120c.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * ALFA Network AP120C board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2016 Luka Perkov <luka@openwrt.org>
- *
- * 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/init.h>
-#include <linux/bitops.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/spi/spi.h>
-#include <linux/ar8216_platform.h>
-#include <linux/ath9k_platform.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-spi.h"
-#include "dev-ap9x-pci.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define ALFA_AP120C_GPIO_LED 0
-
-#define ALFA_AP120C_GPIO_BUTTON_WIFI 16
-
-#define ALFA_AP120C_GPIO_WATCH_DOG 20
-
-#define ALFA_AP120C_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ALFA_AP120C_KEYS_DEBOUNCE_INTERVAL (3 * ALFA_AP120C_KEYS_POLL_INTERVAL)
-
-#define ALFA_AP120C_MAC_OFFSET 0x1002
-#define ALFA_AP120C_CAL0_OFFSET 0x1000
-
-static struct gpio_keys_button alfa_ap120c_gpio_keys[] __initdata = {
- {
- .desc = "Wireless button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = ALFA_AP120C_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ALFA_AP120C_GPIO_BUTTON_WIFI,
- .active_low = 1,
- }
-};
-
-static struct gpio_led alfa_ap120c_leds_gpio[] __initdata = {
- {
- .name = "ap120c:red:wlan",
- .gpio = ALFA_AP120C_GPIO_LED,
- .active_low = 0,
- }
-};
-
-static struct ar8327_pad_cfg ap120c_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data ap120c_ar8327_data = {
- .pad0_cfg = &ap120c_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info ap120c_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &ap120c_ar8327_data,
- },
-};
-
-static struct flash_platform_data flash __initdata = { NULL, NULL, 0 };
-
-#define ALFA_AP120C_LAN_PHYMASK BIT(5)
-#define ALFA_AP120C_MDIO_PHYMASK ALFA_AP120C_LAN_PHYMASK
-
-static void __init alfa_ap120c_init(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac[ETH_ALEN];
-
- struct ath9k_platform_data *pdata;
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(alfa_ap120c_leds_gpio),
- alfa_ap120c_leds_gpio);
- ath79_register_gpio_keys_polled(-1, ALFA_AP120C_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(alfa_ap120c_gpio_keys),
- alfa_ap120c_gpio_keys);
-
- ath79_gpio_function_enable(AR71XX_GPIO_FUNC_SPI_CS1_EN |
- AR71XX_GPIO_FUNC_SPI_CS2_EN);
-
- ath79_register_m25p80_multi(&flash);
-
- ath79_init_mac(mac, art + ALFA_AP120C_MAC_OFFSET, 1);
- ath79_register_wmac(art + ALFA_AP120C_CAL0_OFFSET, mac);
-
- ath79_init_mac(mac, art + ALFA_AP120C_MAC_OFFSET, 2);
- ap91_pci_init(NULL, mac);
- pdata = ap9x_pci_get_wmac_data(0);
- if (!pdata) {
- pr_err("ap120c: unable to get address of wlan data\n");
- return;
- }
- pdata->use_eeprom = true;
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- BIT(15) | BIT(17) | BIT(19) | BIT(21));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + ALFA_AP120C_MAC_OFFSET, 0);
-
- mdiobus_register_board_info(ap120c_mdio0_info, ARRAY_SIZE(ap120c_mdio0_info));
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = ALFA_AP120C_LAN_PHYMASK;
-
- ath79_eth0_pll_data.pll_1000 = 0x42000000;
- ath79_eth0_pll_data.pll_10 = 0x00001313;
-
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_ALFA_AP120C, "ALFA-AP120C", "ALFA Network AP120C",
- alfa_ap120c_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap96.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap96.c
deleted file mode 100644
index 531e5fb18e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap96.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * ALFA Network AP96 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/init.h>
-#include <linux/bitops.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/mmc/host.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/mmc_spi.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-spi.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define ALFA_AP96_GPIO_PCIE_RESET 2
-#define ALFA_AP96_GPIO_SIM_DETECT 3
-#define ALFA_AP96_GPIO_MICROSD_CD 4
-#define ALFA_AP96_GPIO_PCIE_W_DISABLE 5
-
-#define ALFA_AP96_GPIO_BUTTON_RESET 11
-
-#define ALFA_AP96_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ALFA_AP96_KEYS_DEBOUNCE_INTERVAL (3 * ALFA_AP96_KEYS_POLL_INTERVAL)
-
-static struct gpio_keys_button alfa_ap96_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ALFA_AP96_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ALFA_AP96_GPIO_BUTTON_RESET,
- .active_low = 1,
- }
-};
-
-static struct mmc_spi_platform_data alfa_ap96_mmc_data = {
- .flags = MMC_SPI_USE_CD_GPIO,
- .cd_gpio = ALFA_AP96_GPIO_MICROSD_CD,
- .cd_debounce = 1,
- .caps = MMC_CAP_NEEDS_POLL,
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
-};
-
-static struct spi_board_info alfa_ap96_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- }, {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 25000000,
- .modalias = "mmc_spi",
- .platform_data = &alfa_ap96_mmc_data,
- }, {
- .bus_num = 0,
- .chip_select = 2,
- .max_speed_hz = 6250000,
- .modalias = "rtc-pcf2123",
- },
-};
-
-static struct ath79_spi_platform_data alfa_ap96_spi_data = {
- .bus_num = 0,
- .num_chipselect = 3,
-};
-
-static void __init alfa_ap96_gpio_setup(void)
-{
- ath79_gpio_function_enable(AR71XX_GPIO_FUNC_SPI_CS1_EN |
- AR71XX_GPIO_FUNC_SPI_CS2_EN);
-
- gpio_request(ALFA_AP96_GPIO_MICROSD_CD, "microSD CD");
- gpio_direction_input(ALFA_AP96_GPIO_MICROSD_CD);
- gpio_request(ALFA_AP96_GPIO_PCIE_RESET, "PCIe reset");
- gpio_direction_output(ALFA_AP96_GPIO_PCIE_RESET, 1);
- gpio_request(ALFA_AP96_GPIO_PCIE_W_DISABLE, "PCIe write disable");
- gpio_direction_output(ALFA_AP96_GPIO_PCIE_W_DISABLE, 1);
-}
-
-#define ALFA_AP96_WAN_PHYMASK BIT(4)
-#define ALFA_AP96_LAN_PHYMASK BIT(5)
-#define ALFA_AP96_MDIO_PHYMASK (ALFA_AP96_LAN_PHYMASK | ALFA_AP96_WAN_PHYMASK)
-
-static void __init alfa_ap96_init(void)
-{
- alfa_ap96_gpio_setup();
-
- ath79_register_mdio(0, ~ALFA_AP96_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = ALFA_AP96_WAN_PHYMASK;
- ath79_eth1_pll_data.pll_1000 = 0x110000;
-
- ath79_register_eth(0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = ALFA_AP96_LAN_PHYMASK;
- ath79_eth1_pll_data.pll_1000 = 0x110000;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
- ath79_register_spi(&alfa_ap96_spi_data, alfa_ap96_spi_info,
- ARRAY_SIZE(alfa_ap96_spi_info));
-
- ath79_register_gpio_keys_polled(-1, ALFA_AP96_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(alfa_ap96_gpio_keys),
- alfa_ap96_gpio_keys);
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_ALFA_AP96, "ALFA-AP96", "ALFA Network AP96",
- alfa_ap96_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-nx.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-nx.c
deleted file mode 100644
index a515f4f540..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-nx.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * ALFA Network N2/N5 board support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define ALFA_NX_GPIO_LED_2 17
-#define ALFA_NX_GPIO_LED_3 16
-#define ALFA_NX_GPIO_LED_5 12
-#define ALFA_NX_GPIO_LED_6 8
-#define ALFA_NX_GPIO_LED_7 6
-#define ALFA_NX_GPIO_LED_8 7
-
-#define ALFA_NX_GPIO_BTN_RESET 11
-
-#define ALFA_NX_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ALFA_NX_KEYS_DEBOUNCE_INTERVAL (3 * ALFA_NX_KEYS_POLL_INTERVAL)
-
-#define ALFA_NX_MAC0_OFFSET 0
-#define ALFA_NX_MAC1_OFFSET 6
-#define ALFA_NX_CALDATA_OFFSET 0x1000
-
-static struct gpio_keys_button alfa_nx_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ALFA_NX_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ALFA_NX_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct gpio_led alfa_nx_leds_gpio[] __initdata = {
- {
- .name = "alfa:green:led_2",
- .gpio = ALFA_NX_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "alfa:green:led_3",
- .gpio = ALFA_NX_GPIO_LED_3,
- .active_low = 1,
- }, {
- .name = "alfa:red:led_5",
- .gpio = ALFA_NX_GPIO_LED_5,
- .active_low = 1,
- }, {
- .name = "alfa:amber:led_6",
- .gpio = ALFA_NX_GPIO_LED_6,
- .active_low = 1,
- }, {
- .name = "alfa:green:led_7",
- .gpio = ALFA_NX_GPIO_LED_7,
- .active_low = 1,
- }, {
- .name = "alfa:green:led_8",
- .gpio = ALFA_NX_GPIO_LED_8,
- .active_low = 1,
- }
-};
-
-static void __init alfa_nx_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE,
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(0, ARRAY_SIZE(alfa_nx_leds_gpio),
- alfa_nx_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ALFA_NX_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(alfa_nx_gpio_keys),
- alfa_nx_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + ALFA_NX_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr,
- art + ALFA_NX_MAC1_OFFSET, 0);
-
- /* WAN port */
- ath79_register_eth(0);
- /* LAN port */
- ath79_register_eth(1);
-
- ap91_pci_init(art + ALFA_NX_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_ALFA_NX, "ALFA-NX", "ALFA Network N2/N5",
- alfa_nx_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-all0258n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-all0258n.c
deleted file mode 100644
index 2495bcba79..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-all0258n.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Allnet ALL0258N support
- *
- * Copyright (C) 2011 Daniel Golle <dgolle@allnet.de>
- *
- * 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 <asm/mach-ath79/ath79.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 "machtypes.h"
-
-/* found via /sys/gpio/... try and error */
-#define ALL0258N_GPIO_BTN_RESET 1
-#define ALL0258N_GPIO_LED_RSSIHIGH 13
-#define ALL0258N_GPIO_LED_RSSIMEDIUM 15
-#define ALL0258N_GPIO_LED_RSSILOW 14
-
-/* defaults taken from others machs */
-#define ALL0258N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ALL0258N_KEYS_DEBOUNCE_INTERVAL (3 * ALL0258N_KEYS_POLL_INTERVAL)
-
-/* showed up in the original firmware's bootlog */
-#define ALL0258N_SEC_PHYMASK BIT(3)
-
-static struct gpio_led all0258n_leds_gpio[] __initdata = {
- {
- .name = "all0258n:green:rssihigh",
- .gpio = ALL0258N_GPIO_LED_RSSIHIGH,
- .active_low = 1,
- }, {
- .name = "all0258n:yellow:rssimedium",
- .gpio = ALL0258N_GPIO_LED_RSSIMEDIUM,
- .active_low = 1,
- }, {
- .name = "all0258n:red:rssilow",
- .gpio = ALL0258N_GPIO_LED_RSSILOW,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button all0258n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ALL0258N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ALL0258N_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init all0258n_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f7f0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1f7f1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(all0258n_leds_gpio),
- all0258n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ALL0258N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(all0258n_gpio_keys),
- all0258n_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_eth1_data.phy_mask = ALL0258N_SEC_PHYMASK;
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ap91_pci_init(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ALL0258N, "ALL0258N", "Allnet ALL0258N",
- all0258n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-all0315n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-all0315n.c
deleted file mode 100644
index 387ee7f9ea..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-all0315n.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Allnet ALL0315N support
- *
- * Copyright (C) 2012 Daniel Golle <dgolle@allnet.de>
- *
- *
- * 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 <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-m25p80.h"
-#include "dev-leds-gpio.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define ALL0315N_GPIO_BTN_RESET 0
-#define ALL0315N_GPIO_LED_RSSIHIGH 14
-#define ALL0315N_GPIO_LED_RSSIMEDIUM 15
-#define ALL0315N_GPIO_LED_RSSILOW 16
-
-#define ALL0315N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ALL0315N_KEYS_DEBOUNCE_INTERVAL (3 * ALL0315N_KEYS_POLL_INTERVAL)
-
-static struct gpio_led all0315n_leds_gpio[] __initdata = {
- {
- .name = "all0315n:green:rssihigh",
- .gpio = ALL0315N_GPIO_LED_RSSIHIGH,
- .active_low = 1,
- }, {
- .name = "all0315n:yellow:rssimedium",
- .gpio = ALL0315N_GPIO_LED_RSSIMEDIUM,
- .active_low = 1,
- }, {
- .name = "all0315n:red:rssilow",
- .gpio = ALL0315N_GPIO_LED_RSSILOW,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button all0315n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ALL0315N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ALL0315N_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init all0315n_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1ffc0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1ffc1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(all0315n_leds_gpio),
- all0315n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ALL0315N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(all0315n_gpio_keys),
- all0315n_gpio_keys);
-
- ap9x_pci_setup_wmac_led_pin(0, 1);
- ap91_pci_init(ee, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_ALL0315N, "ALL0315N", "Allnet ALL0315N",
- all0315n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s1.c
deleted file mode 100644
index 0a81227b51..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s1.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Bitmain Antminer S1 board support
- *
- * Copyright (C) 2015 L. D. Pinney <ldpinney@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 <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"
-#include "dev-usb.h"
-
-#define ANTMINER_S1_GPIO_BTN_RESET 11
-
-#define ANTMINER_S1_GPIO_LED_SYSTEM 23
-#define ANTMINER_S1_GPIO_LED_WLAN 0
-#define ANTMINER_S1_GPIO_USB_POWER 26
-
-#define ANTMINER_S1_KEYSPOLL_INTERVAL 20 /* msecs */
-#define ANTMINER_S1_KEYSDEBOUNCE_INTERVAL (3 * ANTMINER_S1_KEYSPOLL_INTERVAL)
-
-static const char *ANTMINER_S1_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data ANTMINER_S1_flash_data = {
- .part_probes = ANTMINER_S1_part_probes,
-};
-
-static struct gpio_led ANTMINER_S1_leds_gpio[] __initdata = {
- {
- .name = "antminer-s1:green:system",
- .gpio = ANTMINER_S1_GPIO_LED_SYSTEM,
- .active_low = 0,
- },{
- .name = "antminer-s1:green:wlan",
- .gpio = ANTMINER_S1_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ANTMINER_S1_GPIO_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ANTMINER_S1_KEYSDEBOUNCE_INTERVAL,
- .gpio = ANTMINER_S1_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init antminer_s1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ANTMINER_S1_leds_gpio),
- ANTMINER_S1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ANTMINER_S1_KEYSPOLL_INTERVAL,
- ARRAY_SIZE(ANTMINER_S1_GPIO_keys),
- ANTMINER_S1_GPIO_keys);
-
- gpio_request_one(ANTMINER_S1_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_m25p80(&ANTMINER_S1_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ANTMINER_S1, "ANTMINER-S1",
- "Antminer-S1", antminer_s1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s3.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s3.c
deleted file mode 100644
index b77a6ccc4e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s3.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Bitmain Antminer S3 board support
- *
- * Copyright (C) 2015 L. D. Pinney <ldpinney@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 <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"
-#include "dev-usb.h"
-
-#define ANTMINER_S3_GPIO_LED_WLAN 0
-#define ANTMINER_S3_GPIO_LED_SYSTEM 17
-#define ANTMINER_S3_GPIO_LED_LAN 22
-#define ANTMINER_S3_GPIO_USB_POWER 26
-
-#define ANTMINER_S3_GPIO_BTN_RESET 11
-
-#define ANTMINER_S3_KEYSPOLL_INTERVAL 88 /* msecs */
-#define ANTMINER_S3_KEYSDEBOUNCE_INTERVAL (3 * ANTMINER_S3_KEYSPOLL_INTERVAL)
-
-static const char *ANTMINER_S3_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data ANTMINER_S3_flash_data = {
- .part_probes = ANTMINER_S3_part_probes,
-};
-
-static struct gpio_led ANTMINER_S3_leds_gpio[] __initdata = {
- {
- .name = "antminer-s3:green:wlan",
- .gpio = ANTMINER_S3_GPIO_LED_WLAN,
- .active_low = 0,
- },{
- .name = "antminer-s3:green:system",
- .gpio = ANTMINER_S3_GPIO_LED_SYSTEM,
- .active_low = 0,
- },{
- .name = "antminer-s3:yellow:lan",
- .gpio = ANTMINER_S3_GPIO_LED_LAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ANTMINER_S3_GPIO_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ANTMINER_S3_KEYSDEBOUNCE_INTERVAL,
- .gpio = ANTMINER_S3_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init antminer_s3_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ANTMINER_S3_leds_gpio),
- ANTMINER_S3_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ANTMINER_S3_KEYSPOLL_INTERVAL,
- ARRAY_SIZE(ANTMINER_S3_GPIO_keys),
- ANTMINER_S3_GPIO_keys);
-
- gpio_request_one(ANTMINER_S3_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_m25p80(&ANTMINER_S3_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ANTMINER_S3, "ANTMINER-S3",
- "Antminer-S3", antminer_s3_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-antrouter-r1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-antrouter-r1.c
deleted file mode 100644
index a8f7b5d687..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-antrouter-r1.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Bitmain Antrouter R1 board support
- *
- * Copyright (C) 2015 L. D. Pinney <ldpinney@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 <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"
-#include "dev-usb.h"
-
-#define ANTROUTER_R1_GPIO_BTN_RESET 11
-
-#define ANTROUTER_R1_GPIO_LED_WLAN 0
-#define ANTROUTER_R1_GPIO_LED_BTC 22
-#define ANTROUTER_R1_GPIO_USB_POWER 18
-
-#define ANTROUTER_R1_KEYSPOLL_INTERVAL 44 /* msecs */
-#define ANTROUTER_R1_KEYSDEBOUNCE_INTERVAL (4 * ANTROUTER_R1_KEYSPOLL_INTERVAL)
-
-static const char *ANTROUTER_R1_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data ANTROUTER_R1_flash_data = {
- .part_probes = ANTROUTER_R1_part_probes,
-};
-
-static struct gpio_led ANTROUTER_R1_leds_gpio[] __initdata = {
- {
- .name = "antrouter-r1:green:wlan",
- .gpio = ANTROUTER_R1_GPIO_LED_WLAN,
- .active_low = 0,
- },{
- .name = "antrouter-r1:green:system",
- .gpio = ANTROUTER_R1_GPIO_LED_BTC,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ANTROUTER_R1_GPIO_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ANTROUTER_R1_KEYSDEBOUNCE_INTERVAL,
- .gpio = ANTROUTER_R1_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init antrouter_r1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ANTROUTER_R1_leds_gpio),
- ANTROUTER_R1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ANTROUTER_R1_KEYSPOLL_INTERVAL,
- ARRAY_SIZE(ANTROUTER_R1_GPIO_keys),
- ANTROUTER_R1_GPIO_keys);
-
- gpio_request_one(ANTROUTER_R1_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_m25p80(&ANTROUTER_R1_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ANTROUTER_R1, "ANTROUTER-R1",
- "Antrouter-R1", antrouter_r1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap121f.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap121f.c
deleted file mode 100644
index 955b7faf63..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap121f.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * ALFA Network AP121F board support
- *
- * Copyright (C) 2017 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define AP121F_GPIO_LED_LAN 17
-#define AP121F_GPIO_LED_VPN 27
-#define AP121F_GPIO_LED_WLAN 0
-
-#define AP121F_GPIO_MICROSD_EN 26
-
-#define AP121F_GPIO_BTN_RESET 12
-#define AP121F_GPIO_BTN_SWITCH 21
-
-#define AP121F_KEYS_POLL_INTERVAL 20
-#define AP121F_KEYS_DEBOUNCE_INTERVAL (3 * AP121F_KEYS_POLL_INTERVAL)
-
-#define AP121F_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led ap121f_leds_gpio[] __initdata = {
- {
- .name = "ap121f:green:lan",
- .gpio = AP121F_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "ap121f:green:vpn",
- .gpio = AP121F_GPIO_LED_VPN,
- .active_low = 1,
- }, {
- .name = "ap121f:green:wlan",
- .gpio = AP121F_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ap121f_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP121F_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP121F_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "switch",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = AP121F_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP121F_GPIO_BTN_SWITCH,
- .active_low = 0,
- },
-};
-
-static void __init ap121f_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f040000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* LAN */
- ath79_register_mdio(0, 0x0);
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap121f_leds_gpio),
- ap121f_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, AP121F_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap121f_gpio_keys),
- ap121f_gpio_keys);
-
- gpio_request_one(AP121F_GPIO_MICROSD_EN,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "microSD enable");
-
- ath79_register_wmac(art + AP121F_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_AP121F, "AP121F", "ALFA Network AP121F", ap121f_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap132.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap132.c
deleted file mode 100644
index 2ebac057a7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap132.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Atheros AP132 reference board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2013 Embedded Wireless GmbH <info@embeddedwireless.de>
- *
- * 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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define AP132_GPIO_LED_USB 4
-#define AP132_GPIO_LED_WLAN_5G 12
-#define AP132_GPIO_LED_WLAN_2G 13
-#define AP132_GPIO_LED_STATUS_RED 14
-#define AP132_GPIO_LED_WPS_RED 15
-
-#define AP132_GPIO_BTN_WPS 16
-
-#define AP132_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP132_KEYS_DEBOUNCE_INTERVAL (3 * AP132_KEYS_POLL_INTERVAL)
-
-#define AP132_MAC0_OFFSET 0
-#define AP132_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led ap132_leds_gpio[] __initdata = {
- {
- .name = "ap132:red:status",
- .gpio = AP132_GPIO_LED_STATUS_RED,
- .active_low = 1,
- },
- {
- .name = "ap132:red:wps",
- .gpio = AP132_GPIO_LED_WPS_RED,
- .active_low = 1,
- },
- {
- .name = "ap132:red:wlan-2g",
- .gpio = AP132_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "ap132:red:usb",
- .gpio = AP132_GPIO_LED_USB,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ap132_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AP132_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP132_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg ap132_ar8327_pad0_cfg;
-
-static struct ar8327_platform_data ap132_ar8327_data = {
- .pad0_cfg = &ap132_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info ap132_mdio1_info[] = {
- {
- .bus_id = "ag71xx-mdio.1",
- .mdio_addr = 0,
- .platform_data = &ap132_ar8327_data,
- },
-};
-
-static void __init ap132_mdio_setup(void)
-{
- void __iomem *base;
- u32 t;
-
-#define GPIO_IN_ENABLE3_ADDRESS 0x0050
-#define GPIO_IN_ENABLE3_MII_GE1_MDI_MASK 0x00ff0000
-#define GPIO_IN_ENABLE3_MII_GE1_MDI_LSB 16
-#define GPIO_IN_ENABLE3_MII_GE1_MDI_SET(x) (((x) << GPIO_IN_ENABLE3_MII_GE1_MDI_LSB) & GPIO_IN_ENABLE3_MII_GE1_MDI_MASK)
-#define GPIO_OUT_FUNCTION4_ADDRESS 0x003c
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_MASK 0xff000000
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_LSB 24
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_SET(x) (((x) << GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_LSB) & GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_MASK)
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_MASK 0x0000ff00
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_LSB 8
-#define GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_SET(x) (((x) << GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_LSB) & GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_MASK)
-
- base = ioremap(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE);
-
- t = __raw_readl(base + GPIO_IN_ENABLE3_ADDRESS);
- t &= ~GPIO_IN_ENABLE3_MII_GE1_MDI_MASK;
- t |= GPIO_IN_ENABLE3_MII_GE1_MDI_SET(19);
- __raw_writel(t, base + GPIO_IN_ENABLE3_ADDRESS);
-
-
- __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_OE) & ~(1 << 19), base + AR71XX_GPIO_REG_OE);
-
- __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_OE) & ~(1 << 17), base + AR71XX_GPIO_REG_OE);
-
-
- t = __raw_readl(base + GPIO_OUT_FUNCTION4_ADDRESS);
- t &= ~(GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_MASK | GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_MASK);
- t |= GPIO_OUT_FUNCTION4_ENABLE_GPIO_19_SET(0x20) | GPIO_OUT_FUNCTION4_ENABLE_GPIO_17_SET(0x21);
- __raw_writel(t, base + GPIO_OUT_FUNCTION4_ADDRESS);
-
- iounmap(base);
-
-}
-
-static void __init ap132_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap132_leds_gpio),
- ap132_leds_gpio);
- ath79_register_gpio_keys_polled(-1, AP132_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap132_gpio_keys),
- ap132_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + AP132_WMAC_CALDATA_OFFSET, NULL);
-
- /* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
- ap132_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
- ap132_ar8327_pad0_cfg.sgmii_delay_en = true;
-
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ap132_mdio_setup();
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art + AP132_MAC0_OFFSET, 0);
-
- mdiobus_register_board_info(ap132_mdio1_info,
- ARRAY_SIZE(ap132_mdio1_info));
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_mask = BIT(0);
- ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
-
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP132, "AP132",
- "Atheros AP132 reference board",
- ap132_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c
deleted file mode 100644
index 098420b92f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Atheros AP143 reference board support
- *
- * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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-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 AP143_GPIO_LED_WLAN 12
-#define AP143_GPIO_LED_WPS 13
-#define AP143_GPIO_LED_STATUS 13
-
-#define AP143_GPIO_LED_WAN 4
-#define AP143_GPIO_LED_LAN1 16
-#define AP143_GPIO_LED_LAN2 15
-#define AP143_GPIO_LED_LAN3 14
-#define AP143_GPIO_LED_LAN4 11
-
-#define AP143_GPIO_BTN_WPS 17
-
-#define AP143_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP143_KEYS_DEBOUNCE_INTERVAL (3 * AP143_KEYS_POLL_INTERVAL)
-
-#define AP143_MAC0_OFFSET 0
-#define AP143_MAC1_OFFSET 6
-#define AP143_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led ap143_leds_gpio[] __initdata = {
- {
- .name = "ap143:green:status",
- .gpio = AP143_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "ap143:green:wlan",
- .gpio = AP143_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ap143_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AP143_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP143_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void __init ap143_gpio_led_setup(void)
-{
- ath79_gpio_direction_select(AP143_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(AP143_GPIO_LED_LAN1, true);
- ath79_gpio_direction_select(AP143_GPIO_LED_LAN2, true);
- ath79_gpio_direction_select(AP143_GPIO_LED_LAN3, true);
- ath79_gpio_direction_select(AP143_GPIO_LED_LAN4, true);
-
- ath79_gpio_output_select(AP143_GPIO_LED_WAN,
- QCA953X_GPIO_OUT_MUX_LED_LINK5);
- ath79_gpio_output_select(AP143_GPIO_LED_LAN1,
- QCA953X_GPIO_OUT_MUX_LED_LINK1);
- ath79_gpio_output_select(AP143_GPIO_LED_LAN2,
- QCA953X_GPIO_OUT_MUX_LED_LINK2);
- ath79_gpio_output_select(AP143_GPIO_LED_LAN3,
- QCA953X_GPIO_OUT_MUX_LED_LINK3);
- ath79_gpio_output_select(AP143_GPIO_LED_LAN4,
- QCA953X_GPIO_OUT_MUX_LED_LINK4);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap143_leds_gpio),
- ap143_leds_gpio);
- ath79_register_gpio_keys_polled(-1, AP143_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap143_gpio_keys),
- ap143_gpio_keys);
-}
-
-static void __init ap143_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ap143_gpio_led_setup();
-
- ath79_register_usb();
-
- ath79_wmac_set_led_pin(AP143_GPIO_LED_WLAN);
- ath79_register_wmac(art + AP143_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + AP143_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + AP143_MAC1_OFFSET, 0);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP143, "AP143", "Qualcomm Atheros AP143 reference board",
- ap143_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c
deleted file mode 100644
index 7b45da4711..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Atheros AP147 reference board support
- *
- * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
- * Copyright (C) 2015 Sven Eckelmann <sven@open-mesh.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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define AP147_GPIO_LED_WAN 4
-#define AP147_GPIO_LED_LAN1 16
-#define AP147_GPIO_LED_LAN2 15
-#define AP147_GPIO_LED_LAN3 14
-#define AP147_GPIO_LED_LAN4 11
-#define AP147_GPIO_LED_STATUS 13
-#define AP147_GPIO_LED_WLAN_2G 12
-
-#define AP147_GPIO_BTN_WPS 17
-
-#define AP147_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP147_KEYS_DEBOUNCE_INTERVAL (3 * AP147_KEYS_POLL_INTERVAL)
-
-#define AP147_MAC0_OFFSET 0x1000
-
-static struct gpio_led ap147_leds_gpio[] __initdata = {
- {
- .name = "ap147:green:status",
- .gpio = AP147_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "ap147:green:wlan-2g",
- .gpio = AP147_GPIO_LED_WLAN_2G,
- .active_low = 1,
- }, {
- .name = "ap147:green:lan1",
- .gpio = AP147_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "ap147:green:lan2",
- .gpio = AP147_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "ap147:green:lan3",
- .gpio = AP147_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "ap147:green:lan4",
- .gpio = AP147_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "ap147:green:wan",
- .gpio = AP147_GPIO_LED_WAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button ap147_gpio_keys[] __initdata = {
- {
- .desc = "wps button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AP147_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP147_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init ap147_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap147_leds_gpio),
- ap147_leds_gpio);
- ath79_register_gpio_keys_polled(-1, AP147_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap147_gpio_keys),
- ap147_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_pci();
-
- ath79_register_wmac(art + AP147_MAC0_OFFSET, NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 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.duplex = DUPLEX_FULL;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 1);
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP147_010, "AP147-010", "Atheros AP147-010 reference board", ap147_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c
deleted file mode 100644
index 277a934a18..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c
+++ /dev/null
@@ -1,140 +0,0 @@
-
-/*
- * Qualcomm Atheros AP152 reference board support
- *
- * Copyright (c) 2015 Qualcomm Atheros
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-#define AP152_GPIO_LED_USB0 7
-#define AP152_GPIO_LED_USB1 8
-
-#define AP152_GPIO_BTN_RESET 2
-#define AP152_GPIO_BTN_WPS 1
-#define AP152_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP152_KEYS_DEBOUNCE_INTERVAL (3 * AP152_KEYS_POLL_INTERVAL)
-
-#define AP152_MAC0_OFFSET 0
-#define AP152_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led ap152_leds_gpio[] __initdata = {
- {
- .name = "ap152:green:usb0",
- .gpio = AP152_GPIO_LED_USB0,
- .active_low = 1,
- },
- {
- .name = "ap152:green:usb1",
- .gpio = AP152_GPIO_LED_USB1,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button ap152_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AP152_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP152_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP152_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP152_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg ap152_ar8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data ap152_ar8337_data = {
- .pad0_cfg = &ap152_ar8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info ap152_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &ap152_ar8337_data,
- },
-};
-
-static void __init ap152_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap152_leds_gpio),
- ap152_leds_gpio);
- ath79_register_gpio_keys_polled(-1, AP152_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap152_gpio_keys),
- ap152_gpio_keys);
-
- ath79_register_usb();
-
- platform_device_register(&ath79_mdio0_device);
-
- mdiobus_register_board_info(ap152_mdio0_info,
- ARRAY_SIZE(ap152_mdio0_info));
-
- ath79_register_wmac(art + AP152_WMAC_CALDATA_OFFSET, NULL);
- ath79_register_pci();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + AP152_MAC0_OFFSET, 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_AP152, "AP152", "Qualcomm Atheros AP152 reference board",
- ap152_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap531b0.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap531b0.c
deleted file mode 100644
index 3cb2697955..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap531b0.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Rockeetech AP531B0 11ng wireless AP board support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2016 Shuanglin Liu <roboidler@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/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-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"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-
-#define AP531B0_GPIO_LED_WLAN 12
-#define AP531B0_GPIO_LED_STATUS 11
-
-#define AP531B0_GPIO_RST_BTN 17
-
-#define AP531B0_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP531B0_KEYS_DEBOUNCE_INTERVAL (3 * AP531B0_KEYS_POLL_INTERVAL)
-
-#define AP531B0_WMAC_CALDATA_OFFSET 0x1000
-
-
-static struct gpio_led ap531b0_leds_gpio[] __initdata = {
- {
- .name = "ap531b0:green:status",
- .gpio = AP531B0_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "ap531b0:green:wlan",
- .gpio = AP531B0_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ap531b0_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP531B0_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP531B0_GPIO_RST_BTN,
- .active_low = 1,
- },
-};
-
-
-static void __init ap531b0_gpio_led_setup(void)
-{
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap531b0_leds_gpio),
- ap531b0_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, AP531B0_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap531b0_gpio_keys),
- ap531b0_gpio_keys);
-}
-
-static void __init ap531b0_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *pmac;
-
- ath79_register_m25p80(NULL);
- ap531b0_gpio_led_setup();
- ath79_register_usb();
- ath79_register_pci();
-
- ath79_register_mdio(0, 0x0);
-
- pmac = art + AP531B0_WMAC_CALDATA_OFFSET + 2;
- ath79_init_mac(ath79_eth0_data.mac_addr, pmac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, pmac, 2);
-
- ath79_register_wmac(art + AP531B0_WMAC_CALDATA_OFFSET, pmac);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP531B0, "AP531B0", "Rockeetech AP531B0",
- ap531b0_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap90q.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap90q.c
deleted file mode 100644
index 99fceca3a0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap90q.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Support for YunCore boards:
- * - AP80Q/AP90Q
- * - CPE830
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-/* AP90Q */
-#define AP90Q_GPIO_LED_WAN 4
-#define AP90Q_GPIO_LED_WLAN 12
-#define AP90Q_GPIO_LED_LAN 16
-
-#define AP90Q_GPIO_BTN_RESET 17
-
-#define AP90Q_KEYS_POLL_INTERVAL 20
-#define AP90Q_KEYS_DEBOUNCE_INTERVAL (3 * AP90Q_KEYS_POLL_INTERVAL)
-
-static struct gpio_led ap90q_leds_gpio[] __initdata = {
- {
- .name = "ap90q:green:lan",
- .gpio = AP90Q_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "ap90q:green:wan",
- .gpio = AP90Q_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "ap90q:green:wlan",
- .gpio = AP90Q_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button ap90q_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP90Q_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP90Q_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* CPE830 */
-#define CPE830_GPIO_LED_LINK4 0
-#define CPE830_GPIO_LED_LINK1 1
-#define CPE830_GPIO_LED_LINK2 2
-#define CPE830_GPIO_LED_LINK3 3
-#define CPE830_GPIO_LED_WAN 4
-#define CPE830_GPIO_LED_WLAN 12
-#define CPE830_GPIO_LED_LAN 16
-
-#define CPE830_GPIO_BTN_RESET 17
-
-static struct gpio_led cpe830_leds_gpio[] __initdata = {
- {
- .name = "cpe830:green:lan",
- .gpio = CPE830_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:wan",
- .gpio = CPE830_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:wlan",
- .gpio = CPE830_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:link1",
- .gpio = CPE830_GPIO_LED_LINK1,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:link2",
- .gpio = CPE830_GPIO_LED_LINK2,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:link3",
- .gpio = CPE830_GPIO_LED_LINK3,
- .active_low = 1,
- },
- {
- .name = "cpe830:green:link4",
- .gpio = CPE830_GPIO_LED_LINK4,
- .active_low = 1,
- },
-};
-
-static void __init ap90q_cpe830_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(4);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- 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);
-
- ath79_register_wmac(art, NULL);
-
- /* For LED on GPIO4 */
- ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_gpio_direction_select(AP90Q_GPIO_LED_LAN, true);
- ath79_gpio_direction_select(AP90Q_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(AP90Q_GPIO_LED_WLAN, true);
-
- /* Mute LEDs on boot */
- gpio_set_value(AP90Q_GPIO_LED_LAN, 1);
- gpio_set_value(AP90Q_GPIO_LED_WAN, 1);
-
- ath79_gpio_output_select(AP90Q_GPIO_LED_LAN, 0);
- ath79_gpio_output_select(AP90Q_GPIO_LED_WAN, 0);
- ath79_gpio_output_select(AP90Q_GPIO_LED_WLAN, 0);
-
- ath79_register_gpio_keys_polled(-1, AP90Q_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap90q_gpio_keys),
- ap90q_gpio_keys);
-}
-
-static void __init ap90q_setup(void)
-{
- ap90q_cpe830_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap90q_leds_gpio),
- ap90q_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP90Q, "AP90Q", "YunCore AP80Q/AP90Q", ap90q_setup);
-
-static void __init cpe830_setup(void)
-{
- ap90q_cpe830_common_setup();
-
- ath79_gpio_direction_select(CPE830_GPIO_LED_LINK1, true);
- ath79_gpio_direction_select(CPE830_GPIO_LED_LINK2, true);
- ath79_gpio_direction_select(CPE830_GPIO_LED_LINK3, true);
- ath79_gpio_direction_select(CPE830_GPIO_LED_LINK4, true);
-
- /* Mute LEDs on boot */
- gpio_set_value(CPE830_GPIO_LED_LINK1, 1);
- gpio_set_value(CPE830_GPIO_LED_LINK2, 1);
- gpio_set_value(CPE830_GPIO_LED_LINK3, 1);
- gpio_set_value(CPE830_GPIO_LED_LINK4, 1);
-
- ath79_gpio_output_select(CPE830_GPIO_LED_LINK1, 0);
- ath79_gpio_output_select(CPE830_GPIO_LED_LINK2, 0);
- ath79_gpio_output_select(CPE830_GPIO_LED_LINK3, 0);
- ath79_gpio_output_select(CPE830_GPIO_LED_LINK4, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe830_leds_gpio),
- cpe830_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CPE830, "CPE830", "YunCore CPE830", cpe830_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap91-5g.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap91-5g.c
deleted file mode 100644
index 64b9430381..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap91-5g.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * ALFA Network AP91-5G board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-
-#define AP91_5G_GPIO_LED_LAN 17
-#define AP91_5G_GPIO_LED_SIGNAL1 12
-#define AP91_5G_GPIO_LED_SIGNAL2 8
-#define AP91_5G_GPIO_LED_SIGNAL3 6
-#define AP91_5G_GPIO_LED_SIGNAL4 7
-
-#define AP91_5G_GPIO_WDT_EN 1
-#define AP91_5G_GPIO_WDT_IN 0
-
-#define AP91_5G_GPIO_BTN_RESET 11
-
-#define AP91_5G_KEYS_POLL_INTERVAL 20
-#define AP91_5G_KEYS_DEBOUNCE_INTERVAL (3 * AP91_5G_KEYS_POLL_INTERVAL)
-
-#define AP91_5G_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led ap91_5g_leds_gpio[] __initdata = {
- {
- .name = "ap91-5g:green:lan",
- .gpio = AP91_5G_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "ap91-5g:red:signal1",
- .gpio = AP91_5G_GPIO_LED_SIGNAL1,
- .active_low = 1,
- }, {
- .name = "ap91-5g:orange:signal2",
- .gpio = AP91_5G_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }, {
- .name = "ap91-5g:green:signal3",
- .gpio = AP91_5G_GPIO_LED_SIGNAL3,
- .active_low = 1,
- }, {
- .name = "ap91-5g:green:signal4",
- .gpio = AP91_5G_GPIO_LED_SIGNAL4,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button ap91_5g_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP91_5G_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP91_5G_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init ap91_5g_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE,
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- gpio_set_value(AP91_5G_GPIO_LED_LAN, 1);
- gpio_set_value(AP91_5G_GPIO_LED_SIGNAL3, 1);
- gpio_set_value(AP91_5G_GPIO_LED_SIGNAL4, 1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap91_5g_leds_gpio),
- ap91_5g_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, AP91_5G_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap91_5g_gpio_keys),
- ap91_5g_gpio_keys);
-
- gpio_request_one(AP91_5G_GPIO_WDT_IN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT input");
-
- gpio_request_one(AP91_5G_GPIO_WDT_EN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT enable");
-
- ap91_pci_init(art + AP91_5G_WMAC_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP91_5G, "AP91-5G", "ALFA Network AP91-5G",
- ap91_5g_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap96.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap96.c
deleted file mode 100644
index 35120d3e2e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap96.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Atheros AP96 board support
- *
- * Copyright (C) 2009 Marco Porsch
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Atheros Communications
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "machtypes.h"
-
-#define AP96_GPIO_LED_12_GREEN 0
-#define AP96_GPIO_LED_3_GREEN 1
-#define AP96_GPIO_LED_2_GREEN 2
-#define AP96_GPIO_LED_WPS_GREEN 4
-#define AP96_GPIO_LED_5_GREEN 5
-#define AP96_GPIO_LED_4_ORANGE 6
-
-/* Reset button - next to the power connector */
-#define AP96_GPIO_BTN_RESET 3
-/* WPS button - next to a led on right */
-#define AP96_GPIO_BTN_WPS 8
-
-#define AP96_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AP96_KEYS_DEBOUNCE_INTERVAL (3 * AP96_KEYS_POLL_INTERVAL)
-
-#define AP96_WMAC0_MAC_OFFSET 0x120c
-#define AP96_WMAC1_MAC_OFFSET 0x520c
-#define AP96_CALDATA0_OFFSET 0x1000
-#define AP96_CALDATA1_OFFSET 0x5000
-
-/*
- * AP96 has 12 unlabeled leds in the front; these are numbered from 1 to 12
- * below (from left to right on the board). Led 1 seems to be on whenever the
- * board is powered. Led 11 shows LAN link activity actity. Led 3 is orange;
- * others are green.
- *
- * In addition, there is one led next to a button on the right side for WPS.
- */
-static struct gpio_led ap96_leds_gpio[] __initdata = {
- {
- .name = "ap96:green:led2",
- .gpio = AP96_GPIO_LED_2_GREEN,
- .active_low = 1,
- }, {
- .name = "ap96:green:led3",
- .gpio = AP96_GPIO_LED_3_GREEN,
- .active_low = 1,
- }, {
- .name = "ap96:orange:led4",
- .gpio = AP96_GPIO_LED_4_ORANGE,
- .active_low = 1,
- }, {
- .name = "ap96:green:led5",
- .gpio = AP96_GPIO_LED_5_GREEN,
- .active_low = 1,
- }, {
- .name = "ap96:green:led12",
- .gpio = AP96_GPIO_LED_12_GREEN,
- .active_low = 1,
- }, { /* next to a button on right */
- .name = "ap96:green:wps",
- .gpio = AP96_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ap96_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AP96_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP96_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AP96_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AP96_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-#define AP96_WAN_PHYMASK 0x10
-#define AP96_LAN_PHYMASK 0x0f
-
-static void __init ap96_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_mdio(0, ~(AP96_WAN_PHYMASK | AP96_LAN_PHYMASK));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = AP96_LAN_PHYMASK;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = AP96_WAN_PHYMASK;
-
- ath79_eth1_pll_data.pll_1000 = 0x1f000000;
-
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ap96_leds_gpio),
- ap96_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, AP96_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ap96_gpio_keys),
- ap96_gpio_keys);
-
- ap94_pci_init(art + AP96_CALDATA0_OFFSET,
- art + AP96_WMAC0_MAC_OFFSET,
- art + AP96_CALDATA1_OFFSET,
- art + AP96_WMAC1_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_AP96, "AP96", "Atheros AP96", ap96_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c25-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c25-v1.c
deleted file mode 100644
index c6c6463224..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c25-v1.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * TP-Link Archer C25 v1 board support
- *
- * Copyright (C) 2017 Ludwig Thomeczek <ledesrc@wxorx.net>
- * based on mach-archer-c60/C59-v1.c
- * Copyright (C) 2016 Henryk Heisig <hyniu@o2.pl>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/gpio.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.h>
-
-#define ARCHER_C25_GPIO_SHIFT_OE 21 /* OE, Output Enable */
-#define ARCHER_C25_GPIO_SHIFT_SER 14 /* DS, Data Serial Input */
-#define ARCHER_C25_GPIO_SHIFT_SRCLK 15 /* SHCP, Shift Reg Clock Input */
-#define ARCHER_C25_GPIO_SHIFT_SRCLR 19 /* MR, Master Reset */
-#define ARCHER_C25_GPIO_SHIFT_RCLK 16 /* STCP, Storage Reg Clock Input */
-
-#define ARCHER_C25_74HC_GPIO_BASE 32
-#define ARCHER_C25_74HC_GPIO_LED_WAN_AMBER (ARCHER_C25_74HC_GPIO_BASE + 4)
-#define ARCHER_C25_74HC_GPIO_LED_WAN_GREEN (ARCHER_C25_74HC_GPIO_BASE + 5)
-#define ARCHER_C25_74HC_GPIO_LED_WLAN2 (ARCHER_C25_74HC_GPIO_BASE + 6)
-#define ARCHER_C25_74HC_GPIO_LED_WLAN5 (ARCHER_C25_74HC_GPIO_BASE + 7)
-#define ARCHER_C25_74HC_GPIO_LED_LAN1 (ARCHER_C25_74HC_GPIO_BASE + 0)
-#define ARCHER_C25_74HC_GPIO_LED_LAN2 (ARCHER_C25_74HC_GPIO_BASE + 1)
-#define ARCHER_C25_74HC_GPIO_LED_LAN3 (ARCHER_C25_74HC_GPIO_BASE + 2)
-#define ARCHER_C25_74HC_GPIO_LED_LAN4 (ARCHER_C25_74HC_GPIO_BASE + 3)
-
-#define ARCHER_C25_V1_SSR_BIT_0 0
-#define ARCHER_C25_V1_SSR_BIT_1 1
-#define ARCHER_C25_V1_SSR_BIT_2 2
-#define ARCHER_C25_V1_SSR_BIT_3 3
-#define ARCHER_C25_V1_SSR_BIT_4 4
-#define ARCHER_C25_V1_SSR_BIT_5 5
-#define ARCHER_C25_V1_SSR_BIT_6 6
-#define ARCHER_C25_V1_SSR_BIT_7 7
-
-
-#define ARCHER_C25_V1_KEYS_POLL_INTERVAL 20
-#define ARCHER_C25_V1_KEYS_DEBOUNCE_INTERVAL \
- (3 * ARCHER_C25_V1_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C25_V1_GPIO_BTN_RESET 1
-#define ARCHER_C25_V1_GPIO_BTN_RFKILL 22
-
-#define ARCHER_C25_V1_GPIO_LED_POWER 17
-#define ARCHER_C25_V1_GPIO_LED_WPS 2
-
-#define ARCHER_C25_V1_WMAC_CALDATA_OFFSET 0x1000
-
-static struct spi_gpio_platform_data archer_c25_v1_spi_data = {
- .sck = ARCHER_C25_GPIO_SHIFT_SRCLK,
- .miso = SPI_GPIO_NO_MISO,
- .mosi = ARCHER_C25_GPIO_SHIFT_SER,
- .num_chipselect = 1,
-};
-
-static u8 archer_c25_v1_ssr_initdata[] = {
- BIT(ARCHER_C25_V1_SSR_BIT_7) |
- BIT(ARCHER_C25_V1_SSR_BIT_6) |
- BIT(ARCHER_C25_V1_SSR_BIT_5) |
- BIT(ARCHER_C25_V1_SSR_BIT_4) |
- BIT(ARCHER_C25_V1_SSR_BIT_3) |
- BIT(ARCHER_C25_V1_SSR_BIT_2) |
- BIT(ARCHER_C25_V1_SSR_BIT_1)
-};
-
-static struct gen_74x164_chip_platform_data archer_c25_v1_ssr_data = {
- .base = ARCHER_C25_74HC_GPIO_BASE,
- .num_registers = ARRAY_SIZE(archer_c25_v1_ssr_initdata),
- .init_data = archer_c25_v1_ssr_initdata,
-};
-
-static struct platform_device archer_c25_v1_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &archer_c25_v1_spi_data,
- },
-};
-
-static struct spi_board_info archer_c25_v1_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &archer_c25_v1_ssr_data,
- .controller_data = (void *) ARCHER_C25_GPIO_SHIFT_RCLK,
- },
-};
-
-static struct gpio_led archer_c25_v1_leds_gpio[] __initdata = {
- {
- .name = "archer-c25-v1:green:power",
- .gpio = ARCHER_C25_V1_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:wps",
- .gpio = ARCHER_C25_V1_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:wlan2g",
- .gpio = ARCHER_C25_74HC_GPIO_LED_WLAN2,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:wlan5g",
- .gpio = ARCHER_C25_74HC_GPIO_LED_WLAN5,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:lan1",
- .gpio = ARCHER_C25_74HC_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:lan2",
- .gpio = ARCHER_C25_74HC_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:lan3",
- .gpio = ARCHER_C25_74HC_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:lan4",
- .gpio = ARCHER_C25_74HC_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:green:wan",
- .gpio = ARCHER_C25_74HC_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "archer-c25-v1:amber:wan",
- .gpio = ARCHER_C25_74HC_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c25_v1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ARCHER_C25_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C25_V1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = ARCHER_C25_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C25_V1_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static void __init archer_c25_v1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f7e0008);
- u8 *art = (u8 *) KSEG1ADDR(0x1f7f0000);
-
- ath79_register_m25p80(NULL);
-
- spi_register_board_info(archer_c25_v1_spi_info,
- ARRAY_SIZE(archer_c25_v1_spi_info));
-
- platform_device_register(&archer_c25_v1_spi_device);
-
- gpio_request_one(ARCHER_C25_GPIO_SHIFT_OE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "LED control");
-
- gpio_request_one(ARCHER_C25_GPIO_SHIFT_SRCLR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LED reset");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c25_v1_leds_gpio),
- archer_c25_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C25_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c25_v1_gpio_keys),
- archer_c25_v1_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_wmac(art + ARCHER_C25_V1_WMAC_CALDATA_OFFSET, mac);
- ap91_pci_init(NULL, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C25_V1, "ARCHER-C25-V1", "TP-LINK Archer C25 v1",
- archer_c25_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c59-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c59-v1.c
deleted file mode 100644
index 6cc40e6a7b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c59-v1.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * TP-Link Archer C58/C59 v1 board support
- *
- * Copyright (C) 2017 Henryk Heisig <hyniu@o2.pl>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/gpio.h>
-#include <linux/init.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-#define ARCHER_C59_V1_KEYS_POLL_INTERVAL 20
-#define ARCHER_C59_V1_KEYS_DEBOUNCE_INTERVAL (3 * ARCHER_C59_V1_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C59_V1_GPIO_BTN_RESET 21
-#define ARCHER_C59_V1_GPIO_BTN_RFKILL 2
-#define ARCHER_C59_V1_GPIO_BTN_WPS 1
-
-#define ARCHER_C59_V1_GPIO_USB_POWER 22
-
-#define ARCHER_C59_GPIO_SHIFT_OE 16
-#define ARCHER_C59_GPIO_SHIFT_SER 17
-#define ARCHER_C59_GPIO_SHIFT_SRCLK 18
-#define ARCHER_C59_GPIO_SHIFT_SRCLR 19
-#define ARCHER_C59_GPIO_SHIFT_RCLK 20
-
-#define ARCHER_C59_74HC_GPIO_BASE 32
-#define ARCHER_C59_74HC_GPIO_LED_POWER (ARCHER_C59_74HC_GPIO_BASE + 0)
-#define ARCHER_C59_74HC_GPIO_LED_WLAN2 (ARCHER_C59_74HC_GPIO_BASE + 1)
-#define ARCHER_C59_74HC_GPIO_LED_WLAN5 (ARCHER_C59_74HC_GPIO_BASE + 2)
-#define ARCHER_C59_74HC_GPIO_LED_LAN (ARCHER_C59_74HC_GPIO_BASE + 3)
-#define ARCHER_C59_74HC_GPIO_LED_WAN_GREEN (ARCHER_C59_74HC_GPIO_BASE + 4)
-#define ARCHER_C59_74HC_GPIO_LED_WAN_AMBER (ARCHER_C59_74HC_GPIO_BASE + 5)
-#define ARCHER_C59_74HC_GPIO_LED_WPS (ARCHER_C59_74HC_GPIO_BASE + 6)
-#define ARCHER_C59_74HC_GPIO_LED_USB (ARCHER_C59_74HC_GPIO_BASE + 7)
-
-#define ARCHER_C59_V1_SSR_BIT_0 0
-#define ARCHER_C59_V1_SSR_BIT_1 1
-#define ARCHER_C59_V1_SSR_BIT_2 2
-#define ARCHER_C59_V1_SSR_BIT_3 3
-#define ARCHER_C59_V1_SSR_BIT_4 4
-#define ARCHER_C59_V1_SSR_BIT_5 5
-#define ARCHER_C59_V1_SSR_BIT_6 6
-#define ARCHER_C59_V1_SSR_BIT_7 7
-
-#define ARCHER_C59_V1_WMAC_CALDATA_OFFSET 0x1000
-#define ARCHER_C59_V1_PCI_CALDATA_OFFSET 0x5000
-
-static struct gpio_led archer_c58_v1_leds_gpio[] __initdata = {
- {
- .name = "archer-c58-v1:green:power",
- .gpio = ARCHER_C59_74HC_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:green:wlan2g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN2,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:green:wlan5g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN5,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:green:lan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:green:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:amber:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "archer-c58-v1:green:wps",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_led archer_c59_v1_leds_gpio[] __initdata = {
- {
- .name = "archer-c59-v1:green:power",
- .gpio = ARCHER_C59_74HC_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:wlan2g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN2,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:wlan5g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN5,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:lan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:amber:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:wps",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v1:green:usb",
- .gpio = ARCHER_C59_74HC_GPIO_LED_USB,
- .active_low = 1,
- },
-};
-
-static struct gpio_led archer_c59_v2_leds_gpio[] __initdata = {
- {
- .name = "archer-c59-v2:green:power",
- .gpio = ARCHER_C59_74HC_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:wlan2g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN2,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:wlan5g",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WLAN5,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:lan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:amber:wan",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:wps",
- .gpio = ARCHER_C59_74HC_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "archer-c59-v2:green:usb",
- .gpio = ARCHER_C59_74HC_GPIO_LED_USB,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c59_v1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ARCHER_C59_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C59_V1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = ARCHER_C59_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C59_V1_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C59_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C59_V1_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct spi_gpio_platform_data archer_c59_v1_spi_data = {
- .sck = ARCHER_C59_GPIO_SHIFT_SRCLK,
- .miso = SPI_GPIO_NO_MISO,
- .mosi = ARCHER_C59_GPIO_SHIFT_SER,
- .num_chipselect = 1,
-};
-
-static u8 archer_c59_v1_ssr_initdata[] = {
- BIT(ARCHER_C59_V1_SSR_BIT_7) |
- BIT(ARCHER_C59_V1_SSR_BIT_6) |
- BIT(ARCHER_C59_V1_SSR_BIT_5) |
- BIT(ARCHER_C59_V1_SSR_BIT_4) |
- BIT(ARCHER_C59_V1_SSR_BIT_3) |
- BIT(ARCHER_C59_V1_SSR_BIT_2) |
- BIT(ARCHER_C59_V1_SSR_BIT_1)
-};
-
-static struct gen_74x164_chip_platform_data archer_c59_v1_ssr_data = {
- .base = ARCHER_C59_74HC_GPIO_BASE,
- .num_registers = ARRAY_SIZE(archer_c59_v1_ssr_initdata),
- .init_data = archer_c59_v1_ssr_initdata,
-};
-
-static struct platform_device archer_c59_v1_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &archer_c59_v1_spi_data,
- },
-};
-
-static struct spi_board_info archer_c59_v1_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &archer_c59_v1_ssr_data,
- .controller_data = (void *) ARCHER_C59_GPIO_SHIFT_RCLK,
- },
-};
-
-static void __init archer_c5x_v1_setup(u32 macLocation)
-{
- u8 *mac = (u8 *) KSEG1ADDR(macLocation);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- spi_register_board_info(archer_c59_v1_spi_info,
- ARRAY_SIZE(archer_c59_v1_spi_info));
- platform_device_register(&archer_c59_v1_spi_device);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C59_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c59_v1_gpio_keys),
- archer_c59_v1_gpio_keys);
-
- ath79_setup_qca956x_eth_cfg(QCA956X_ETH_CFG_SW_PHY_SWAP |
- QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- /* WAN port */
- 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_register_eth(0);
-
- /* LAN ports */
- 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(0);
- ath79_switch_data.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_wmac(art + ARCHER_C59_V1_WMAC_CALDATA_OFFSET, mac);
- ap91_pci_init(art + ARCHER_C59_V1_PCI_CALDATA_OFFSET, NULL);
-
- ath79_register_usb();
- gpio_request_one(ARCHER_C59_V1_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- gpio_request_one(ARCHER_C59_GPIO_SHIFT_OE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "LED control");
- gpio_request_one(ARCHER_C59_GPIO_SHIFT_SRCLR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LED reset");
-}
-
-static void __init archer_c58_v1_setup(void)
-{
- archer_c5x_v1_setup(0x1f010008);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c58_v1_leds_gpio),
- archer_c58_v1_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C58_V1, "ARCHER-C58-V1",
- "TP-LINK Archer C58 v1", archer_c58_v1_setup);
-
-static void __init archer_c59_v1_setup(void)
-{
- archer_c5x_v1_setup(0x1f010008);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c59_v1_leds_gpio),
- archer_c59_v1_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C59_V1, "ARCHER-C59-V1",
- "TP-LINK Archer C59 v1", archer_c59_v1_setup);
-
-static void __init archer_c59_v2_setup(void)
-{
- archer_c5x_v1_setup(0x1f030008);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c59_v2_leds_gpio),
- archer_c59_v2_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C59_V2, "ARCHER-C59-V2",
- "TP-LINK Archer C59 v2", archer_c59_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c60-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c60-v1.c
deleted file mode 100644
index a0839e6bca..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c60-v1.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * TP-Link Archer C60 v1 board support
- *
- * Copyright (C) 2017 Henryk Heisig <hyniu@o2.pl>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/gpio.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-#define ARCHER_C60_V1_GPIO_LED_LAN 2
-#define ARCHER_C60_V1_GPIO_LED_POWER 16
-#define ARCHER_C60_V1_GPIO_LED_WLAN2 17
-#define ARCHER_C60_V1_GPIO_LED_WLAN5 18
-#define ARCHER_C60_V1_GPIO_LED_WPS 19
-#define ARCHER_C60_V1_GPIO_LED_WAN_GREEN 20
-#define ARCHER_C60_V1_GPIO_LED_WAN_AMBER 22
-
-
-#define ARCHER_C60_V1_KEYS_POLL_INTERVAL 20
-#define ARCHER_C60_V1_KEYS_DEBOUNCE_INTERVAL (3 * ARCHER_C60_V1_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C60_V1_GPIO_BTN_RESET 21
-#define ARCHER_C60_V1_GPIO_BTN_RFKILL 1
-
-
-
-#define ARCHER_C60_V1_WMAC_CALDATA_OFFSET 0x1000
-#define ARCHER_C60_V1_PCI_CALDATA_OFFSET 0x5000
-
-static struct gpio_led archer_c60_v1_leds_gpio[] __initdata = {
- {
- .name = "archer-c60-v1:green:power",
- .gpio = ARCHER_C60_V1_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:green:wlan2g",
- .gpio = ARCHER_C60_V1_GPIO_LED_WLAN2,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:green:wlan5g",
- .gpio = ARCHER_C60_V1_GPIO_LED_WLAN5,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:green:lan",
- .gpio = ARCHER_C60_V1_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:green:wan",
- .gpio = ARCHER_C60_V1_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:amber:wan",
- .gpio = ARCHER_C60_V1_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v1:green:wps",
- .gpio = ARCHER_C60_V1_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_led archer_c60_v2_leds_gpio[] __initdata = {
- {
- .name = "archer-c60-v2:green:power",
- .gpio = ARCHER_C60_V1_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:green:wlan2g",
- .gpio = ARCHER_C60_V1_GPIO_LED_WLAN2,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:green:wlan5g",
- .gpio = ARCHER_C60_V1_GPIO_LED_WLAN5,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:green:lan",
- .gpio = ARCHER_C60_V1_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:green:wan",
- .gpio = ARCHER_C60_V1_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:amber:wan",
- .gpio = ARCHER_C60_V1_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "archer-c60-v2:green:wps",
- .gpio = ARCHER_C60_V1_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c60_v1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ARCHER_C60_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C60_V1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = ARCHER_C60_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C60_V1_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static void __init archer_c60_v1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f010008);
- u8 *art = (u8 *) KSEG1ADDR(0x1f7f0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c60_v1_leds_gpio),
- archer_c60_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C60_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c60_v1_gpio_keys),
- archer_c60_v1_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_wmac(art + ARCHER_C60_V1_WMAC_CALDATA_OFFSET, mac);
- ap91_pci_init(art + ARCHER_C60_V1_PCI_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C60_V1, "ARCHER-C60-V1",
- "TP-LINK Archer C60 v1", archer_c60_v1_setup);
-
-static void __init archer_c60_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fb08);
- u8 *art = (u8 *) KSEG1ADDR(0x1f7f0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c60_v2_leds_gpio),
- archer_c60_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C60_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c60_v1_gpio_keys),
- archer_c60_v1_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_wmac(art + ARCHER_C60_V1_WMAC_CALDATA_OFFSET, mac);
- ap91_pci_init(art + ARCHER_C60_V1_PCI_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C60_V2, "ARCHER-C60-V2",
- "TP-LINK Archer C60 v2", archer_c60_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v4.c
deleted file mode 100644
index ee9ce49bcf..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v4.c
+++ /dev/null
@@ -1,260 +0,0 @@
-
-/*
- * Atheros ARCHER_C7 reference board support
- *
- * Copyright (c) 2017 Felix Fietkau <nbd@nbd.name>
- * Copyright (c) 2014 The Linux Foundation. All rights reserved.
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/proc_fs.h>
-#include <linux/gpio.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-
-#define ARCHER_C7_GPIO_SHIFT_OE 1
-#define ARCHER_C7_GPIO_SHIFT_SER 14
-#define ARCHER_C7_GPIO_SHIFT_SRCLK 15
-#define ARCHER_C7_GPIO_SHIFT_RCLK 16
-#define ARCHER_C7_GPIO_SHIFT_SRCLR 21
-
-#define ARCHER_C7_GPIO_BTN_RESET 5
-#define ARCHER_C7_GPIO_BTN_WPS_WIFI 2
-
-#define ARCHER_C7_GPIO_LED_WLAN5 9
-#define ARCHER_C7_GPIO_LED_POWER 6
-#define ARCHER_C7_GPIO_LED_USB1 7
-#define ARCHER_C7_GPIO_LED_USB2 8
-
-#define ARCHER_C7_74HC_GPIO_BASE 32
-#define ARCHER_C7_GPIO_LED_WPS (ARCHER_C7_74HC_GPIO_BASE + 0)
-#define ARCHER_C7_GPIO_LED_LAN1 (ARCHER_C7_74HC_GPIO_BASE + 1)
-#define ARCHER_C7_GPIO_LED_LAN2 (ARCHER_C7_74HC_GPIO_BASE + 2)
-#define ARCHER_C7_GPIO_LED_LAN3 (ARCHER_C7_74HC_GPIO_BASE + 3)
-#define ARCHER_C7_GPIO_LED_LAN4 (ARCHER_C7_74HC_GPIO_BASE + 4)
-#define ARCHER_C7_GPIO_LED_WAN_GREEN (ARCHER_C7_74HC_GPIO_BASE + 5)
-#define ARCHER_C7_GPIO_LED_WAN_AMBER (ARCHER_C7_74HC_GPIO_BASE + 6)
-#define ARCHER_C7_GPIO_LED_WLAN2 (ARCHER_C7_74HC_GPIO_BASE + 7)
-
-#define ARCHER_C7_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ARCHER_C7_KEYS_DEBOUNCE_INTERVAL (3 * ARCHER_C7_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C7_MAC0_OFFSET 0
-#define ARCHER_C7_MAC1_OFFSET 6
-#define ARCHER_C7_WMAC_CALDATA_OFFSET 0x1000
-
-#define ARCHER_C7_GPIO_MDC 3
-#define ARCHER_C7_GPIO_MDIO 4
-
-static struct spi_gpio_platform_data archer_c7_v4_spi_data = {
- .sck = ARCHER_C7_GPIO_SHIFT_SRCLK,
- .miso = SPI_GPIO_NO_MISO,
- .mosi = ARCHER_C7_GPIO_SHIFT_SER,
- .num_chipselect = 1,
-};
-
-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,
- .num_registers = 1,
- .init_data = &archer_c7_v4_ssr_initdata,
-};
-
-static struct platform_device archer_c7_v4_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &archer_c7_v4_spi_data,
- },
-};
-
-static struct spi_board_info archer_c7_v4_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &archer_c7_v4_ssr_data,
- .controller_data = (void *) ARCHER_C7_GPIO_SHIFT_RCLK,
- },
-};
-
-static struct gpio_led archer_c7_v4_leds_gpio[] __initdata = {
- {
- .name = "archer-c7-v4:green:power",
- .gpio = ARCHER_C7_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:wps",
- .gpio = ARCHER_C7_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:wlan2g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN2,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:wlan5g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN5,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:lan1",
- .gpio = ARCHER_C7_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:lan2",
- .gpio = ARCHER_C7_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:lan3",
- .gpio = ARCHER_C7_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:lan4",
- .gpio = ARCHER_C7_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:wan",
- .gpio = ARCHER_C7_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:amber:wan",
- .gpio = ARCHER_C7_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:usb1",
- .gpio = ARCHER_C7_GPIO_LED_USB1,
- .active_low = 1,
- }, {
- .name = "archer-c7-v4:green:usb2",
- .gpio = ARCHER_C7_GPIO_LED_USB2,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c7_v4_gpio_keys[] __initdata = {
- {
- .desc = "WPS and WIFI button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_WPS_WIFI,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg archer_c7_v4_ar8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data archer_c7_v4_ar8337_data = {
- .pad0_cfg = &archer_c7_v4_ar8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info archer_c7_v4_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &archer_c7_v4_ar8337_data,
- },
-};
-
-
-static void __init archer_c7_v4_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1ff00008);
-
- ath79_register_m25p80(NULL);
-
- spi_register_board_info(archer_c7_v4_spi_info,
- ARRAY_SIZE(archer_c7_v4_spi_info));
-
- platform_device_register(&archer_c7_v4_spi_device);
-
- gpio_request_one(ARCHER_C7_GPIO_SHIFT_OE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "LED control");
-
- gpio_request_one(ARCHER_C7_GPIO_SHIFT_SRCLR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LED reset");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_v4_leds_gpio),
- archer_c7_v4_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c7_v4_gpio_keys),
- archer_c7_v4_gpio_keys);
-
- ath79_register_usb();
-
- ath79_gpio_output_select(ARCHER_C7_GPIO_MDC, QCA956X_GPIO_OUT_MUX_GE0_MDC);
- ath79_gpio_output_select(ARCHER_C7_GPIO_MDIO, QCA956X_GPIO_OUT_MUX_GE0_MDO);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(archer_c7_v4_mdio0_info,
- ARRAY_SIZE(archer_c7_v4_mdio0_info));
-
- ath79_register_wmac(art + ARCHER_C7_WMAC_CALDATA_OFFSET, mac);
- ath79_register_pci();
-
- /* GMAC0 is connected to an AR8337 switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- 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_ARCHER_C7_V4, "ARCHER-C7-V4", "TP-LINK Archer C7 v4",
- archer_c7_v4_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v5.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v5.c
deleted file mode 100644
index 0dec008314..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7-v5.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Atheros ARCHER_C7 reference board support
- *
- * Copyright (c) 2018 Arvid E. Picciani <aep@exys.org>
- * Copyright (c) 2017 Felix Fietkau <nbd@nbd.name>
- * Copyright (c) 2014 The Linux Foundation. All rights reserved.
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/proc_fs.h>
-#include <linux/gpio.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-
-#define ARCHER_C7_GPIO_BTN_RESET 5
-#define ARCHER_C7_GPIO_BTN_WPS_WIFI 2
-
-#define ARCHER_C7_GPIO_LED_WLAN5 9
-#define ARCHER_C7_GPIO_LED_POWER 6
-#define ARCHER_C7_GPIO_LED_USB 7
-#define ARCHER_C7_GPIO_LED_WPS 1
-#define ARCHER_C7_GPIO_LED_LAN1 8
-#define ARCHER_C7_GPIO_LED_LAN2 17
-#define ARCHER_C7_GPIO_LED_LAN3 16
-#define ARCHER_C7_GPIO_LED_LAN4 15
-#define ARCHER_C7_GPIO_LED_WAN_GREEN 21
-#define ARCHER_C7_GPIO_LED_WAN_AMBER 20
-#define ARCHER_C7_GPIO_LED_WLAN2 14
-#define ARCHER_C7_GPIO_USB_PWR 19
-
-#define ARCHER_C7_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ARCHER_C7_KEYS_DEBOUNCE_INTERVAL (3 * ARCHER_C7_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C7_MAC0_OFFSET 0
-#define ARCHER_C7_MAC1_OFFSET 6
-#define ARCHER_C7_WMAC_CALDATA_OFFSET 0x1000
-
-#define ARCHER_C7_GPIO_MDC 3
-#define ARCHER_C7_GPIO_MDIO 4
-
-static struct gpio_led archer_c7_v5_leds_gpio[] __initdata = {
- {
- .name = "archer-c7-v5:green:power",
- .gpio = ARCHER_C7_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:wps",
- .gpio = ARCHER_C7_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:wlan2g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN2,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:wlan5g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN5,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:lan1",
- .gpio = ARCHER_C7_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:lan2",
- .gpio = ARCHER_C7_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:lan3",
- .gpio = ARCHER_C7_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:lan4",
- .gpio = ARCHER_C7_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:wan",
- .gpio = ARCHER_C7_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:amber:wan",
- .gpio = ARCHER_C7_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "archer-c7-v5:green:usb",
- .gpio = ARCHER_C7_GPIO_LED_USB,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c7_v5_gpio_keys[] __initdata = {
- {
- .desc = "WPS and WIFI button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_WPS_WIFI,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-
-static struct ar8327_pad_cfg archer_c7_v5_ar8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data archer_c7_v5_ar8337_data = {
- .pad0_cfg = &archer_c7_v5_ar8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info archer_c7_v5_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &archer_c7_v5_ar8337_data,
- },
-};
-
-
-static void __init archer_c7_v5_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f050000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f060008);
-
- ath79_register_m25p80(NULL);
-
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_v5_leds_gpio),
- archer_c7_v5_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c7_v5_gpio_keys),
- archer_c7_v5_gpio_keys);
-
- ath79_register_usb();
-
- ath79_gpio_output_select(ARCHER_C7_GPIO_MDC, QCA956X_GPIO_OUT_MUX_GE0_MDC);
- ath79_gpio_output_select(ARCHER_C7_GPIO_MDIO, QCA956X_GPIO_OUT_MUX_GE0_MDO);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(archer_c7_v5_mdio0_info,
- ARRAY_SIZE(archer_c7_v5_mdio0_info));
-
- gpio_request_one(ARCHER_C7_GPIO_USB_PWR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_wmac(art + ARCHER_C7_WMAC_CALDATA_OFFSET, mac);
- ath79_register_pci();
-
- /* GMAC0 is connected to an AR8337 switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- 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_ARCHER_C7_V5, "ARCHER-C7-V5", "TP-LINK Archer C7 v5",
- archer_c7_v5_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c
deleted file mode 100644
index 53c539f85a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
- * TP-LINK Archer C5/C7/TL-WDR4900 v2 board support
- *
- * Copyright (c) 2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2014 施康成 <tenninjas@tenninjas.ca>
- * Copyright (c) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- *
- * 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 <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"
-#include "pci.h"
-
-#define ARCHER_C7_GPIO_LED_WLAN2G 12
-#define ARCHER_C7_GPIO_LED_SYSTEM 14
-#define ARCHER_C7_GPIO_LED_QSS 15
-#define ARCHER_C7_GPIO_LED_WLAN5G 17
-#define ARCHER_C7_GPIO_LED_USB1 18
-#define ARCHER_C7_GPIO_LED_USB2 19
-
-#define ARCHER_C7_GPIO_BTN_RFKILL 23
-#define ARCHER_C7_V2_GPIO_BTN_RFKILL 23
-#define ARCHER_C7_GPIO_BTN_RESET 16
-
-#define ARCHER_C7_GPIO_USB1_POWER 22
-#define ARCHER_C7_GPIO_USB2_POWER 21
-
-#define ARCHER_C7_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ARCHER_C7_KEYS_DEBOUNCE_INTERVAL (3 * ARCHER_C7_KEYS_POLL_INTERVAL)
-
-#define ARCHER_C7_WMAC_CALDATA_OFFSET 0x1000
-#define ARCHER_C7_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *archer_c7_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data archer_c7_flash_data = {
- .part_probes = archer_c7_part_probes,
-};
-
-static struct gpio_led archer_c7_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:qss",
- .gpio = ARCHER_C7_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:system",
- .gpio = ARCHER_C7_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan2g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan5g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb1",
- .gpio = ARCHER_C7_GPIO_LED_USB1,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb2",
- .gpio = ARCHER_C7_GPIO_LED_USB2,
- .active_low = 1,
- },
-};
-
-static struct gpio_led wdr4900_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:qss",
- .gpio = ARCHER_C7_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:system",
- .gpio = ARCHER_C7_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wlan2g",
- .gpio = ARCHER_C7_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb1",
- .gpio = ARCHER_C7_GPIO_LED_USB1,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb2",
- .gpio = ARCHER_C7_GPIO_LED_USB2,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button archer_c7_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RFKILL,
- },
-};
-
-static struct gpio_keys_button archer_c7_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_V2_GPIO_BTN_RFKILL,
- },
-};
-
-static struct gpio_keys_button wdr4900_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ARCHER_C7_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info archer_c7_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "tp-link:green:wan"),
- AR8327_LED_INFO(PHY1_0, HW, "tp-link:green:lan1"),
- AR8327_LED_INFO(PHY2_0, HW, "tp-link:green:lan2"),
- AR8327_LED_INFO(PHY3_0, HW, "tp-link:green:lan3"),
- AR8327_LED_INFO(PHY4_0, HW, "tp-link:green:lan4"),
-};
-
-/* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg archer_c7_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg archer_c7_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg archer_c7_ar8327_led_cfg = {
- .led_ctrl0 = 0xc737c737,
- .led_ctrl1 = 0x00000000,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x0030c300,
- .open_drain = false,
-};
-
-static struct ar8327_platform_data archer_c7_ar8327_data = {
- .pad0_cfg = &archer_c7_ar8327_pad0_cfg,
- .pad6_cfg = &archer_c7_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &archer_c7_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(archer_c7_leds_ar8327),
- .leds = archer_c7_leds_ar8327,
-};
-
-static struct mdio_board_info archer_c7_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &archer_c7_ar8327_data,
- },
-};
-
-static void __init common_setup(bool pcie_slot)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
- u8 tmpmac2[ETH_ALEN];
-
- ath79_register_m25p80(&archer_c7_flash_data);
-
- if (pcie_slot) {
- ath79_register_wmac(art + ARCHER_C7_WMAC_CALDATA_OFFSET, mac);
- ath79_register_pci();
- } else {
- ath79_init_mac(tmpmac, mac, -1);
- ath79_register_wmac(art + ARCHER_C7_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_init_mac(tmpmac2, mac, -2);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- ap91_pci_init(art + ARCHER_C7_PCIE_CALDATA_OFFSET, tmpmac2);
- }
-
- mdiobus_register_board_info(archer_c7_mdio0_info,
- ARRAY_SIZE(archer_c7_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- gpio_request_one(ARCHER_C7_GPIO_USB1_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB1 power");
- gpio_request_one(ARCHER_C7_GPIO_USB2_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB2 power");
- ath79_register_usb();
-}
-
-static void __init archer_c5_setup(void)
-{
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c7_gpio_keys),
- archer_c7_gpio_keys);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_leds_gpio),
- archer_c7_leds_gpio);
- common_setup(true);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C5, "ARCHER-C5", "TP-LINK Archer C5",
- archer_c5_setup);
-
-static void __init archer_c7_setup(void)
-{
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c7_gpio_keys),
- archer_c7_gpio_keys);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_leds_gpio),
- archer_c7_leds_gpio);
- common_setup(true);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C7, "ARCHER-C7", "TP-LINK Archer C7",
- archer_c7_setup);
-
-static void __init archer_c7_v2_setup(void)
-{
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(archer_c7_v2_gpio_keys),
- archer_c7_v2_gpio_keys);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_leds_gpio),
- archer_c7_leds_gpio);
- common_setup(true);
-}
-
-MIPS_MACHINE(ATH79_MACH_ARCHER_C7_V2, "ARCHER-C7-V2", "TP-LINK Archer C7",
- archer_c7_v2_setup);
-
-static void __init tl_wdr4900_v2_setup(void)
-{
- ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wdr4900_gpio_keys),
- wdr4900_gpio_keys);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wdr4900_leds_gpio),
- wdr4900_leds_gpio);
- common_setup(false);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WDR4900_V2, "TL-WDR4900-v2", "TP-LINK TL-WDR4900 v2",
- tl_wdr4900_v2_setup)
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-arduino-yun.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-arduino-yun.c
deleted file mode 100644
index 8ab07d514b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-arduino-yun.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Arduino Yun support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2015 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * 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 "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"
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-#include <linux/gpio.h>
-#include "common.h"
-
-// Uncomment to have reset on gpio18 instead of gipo7
-#define DS2_B
-
-#define DS_GPIO_LED_WLAN 0
-#define DS_GPIO_LED_USB 1
-
-#define DS_GPIO_OE 21
-#define DS_GPIO_AVR_RESET 18
-
-// Maintained to have the console in the previous version of DS2 working
-#define DS_GPIO_AVR_RESET_DS2 7
-
-#define DS_GPIO_OE2 22
-#define DS_GPIO_UART_ENA 23
-#define DS_GPIO_CONF_BTN 20
-
-#define DS_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DS_KEYS_DEBOUNCE_INTERVAL (3 * DS_KEYS_POLL_INTERVAL)
-
-#define DS_MAC0_OFFSET 0x0000
-#define DS_MAC1_OFFSET 0x0006
-#define DS_CALDATA_OFFSET 0x1000
-#define DS_WMAC_MAC_OFFSET 0x1002
-
-
-static struct gpio_led ds_leds_gpio[] __initdata = {
- {
- .name = "arduino:white:usb",
- .gpio = DS_GPIO_LED_USB,
- .active_low = 0,
- },
- {
- .name = "arduino:blue:wlan",
- .gpio = DS_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ds_gpio_keys[] __initdata = {
- {
- .desc = "configuration button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DS_GPIO_CONF_BTN,
- .active_low = 1,
- },
-};
-
-static void __init ds_common_setup(void)
-{
- static u8 mac[6];
-
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- ath79_register_m25p80(NULL);
-
- if (ar93xx_wmac_read_mac_address(mac)) {
- ath79_register_wmac(NULL, NULL);
- } else {
- ath79_register_wmac(art + DS_CALDATA_OFFSET,
- art + DS_WMAC_MAC_OFFSET);
- memcpy(mac, art + DS_WMAC_MAC_OFFSET, sizeof(mac));
- }
-
- mac[3] |= 0x08;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- mac[3] &= 0xF7;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-}
-
-static void __init ds_setup(void)
-{
- u32 t;
-
- ds_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ds_leds_gpio),
- ds_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DS_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ds_gpio_keys),
- ds_gpio_keys);
- ath79_register_usb();
-
- /* use the swtich_led directly form sysfs */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN);
-
- //Disable the Function for some pins to have GPIO functionality active
- // GPIO6-7-8 and GPIO11
- ath79_gpio_function_setup(AR933X_GPIO_FUNC_JTAG_DISABLE | AR933X_GPIO_FUNC_I2S_MCK_EN, 0);
-
- ath79_gpio_function2_setup(AR933X_GPIO_FUNC2_JUMPSTART_DISABLE, 0);
-
- printk("Setting DogStick2 GPIO\n");
-
- t = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
- t |= AR933X_BOOTSTRAP_MDIO_GPIO_EN;
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, t);
-
- // Put the avr reset to high
- if (gpio_request_one(DS_GPIO_AVR_RESET_DS2,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED, "OE-1") != 0)
- printk("Error setting GPIO OE\n");
- gpio_unexport(DS_GPIO_AVR_RESET_DS2);
- gpio_free(DS_GPIO_AVR_RESET_DS2);
-
- // enable OE of level shifter
- if (gpio_request_one(DS_GPIO_OE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED, "OE-1") != 0)
- printk("Error setting GPIO OE\n");
-
- if (gpio_request_one(DS_GPIO_UART_ENA,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED, "UART-ENA") != 0)
- printk("Error setting GPIO Uart Enable\n");
-
- // enable OE of level shifter
- if (gpio_request_one(DS_GPIO_OE2,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED, "OE-2") != 0)
- printk("Error setting GPIO OE2\n");
-}
-
-MIPS_MACHINE(ATH79_MACH_ARDUINO_YUN, "Yun", "Arduino Yun", ds_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-aw-nr580.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-aw-nr580.c
deleted file mode 100644
index 281129b787..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-aw-nr580.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * AzureWave AW-NR580 board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define AW_NR580_GPIO_LED_READY_RED 0
-#define AW_NR580_GPIO_LED_WLAN 1
-#define AW_NR580_GPIO_LED_READY_GREEN 2
-#define AW_NR580_GPIO_LED_WPS_GREEN 4
-#define AW_NR580_GPIO_LED_WPS_AMBER 5
-
-#define AW_NR580_GPIO_BTN_WPS 3
-#define AW_NR580_GPIO_BTN_RESET 11
-
-#define AW_NR580_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AW_NR580_KEYS_DEBOUNCE_INTERVAL (3 * AW_NR580_KEYS_POLL_INTERVAL)
-
-static struct gpio_led aw_nr580_leds_gpio[] __initdata = {
- {
- .name = "aw-nr580:red:ready",
- .gpio = AW_NR580_GPIO_LED_READY_RED,
- .active_low = 0,
- }, {
- .name = "aw-nr580:green:ready",
- .gpio = AW_NR580_GPIO_LED_READY_GREEN,
- .active_low = 0,
- }, {
- .name = "aw-nr580:green:wps",
- .gpio = AW_NR580_GPIO_LED_WPS_GREEN,
- .active_low = 0,
- }, {
- .name = "aw-nr580:amber:wps",
- .gpio = AW_NR580_GPIO_LED_WPS_AMBER,
- .active_low = 0,
- }, {
- .name = "aw-nr580:green:wlan",
- .gpio = AW_NR580_GPIO_LED_WLAN,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button aw_nr580_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AW_NR580_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AW_NR580_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = AW_NR580_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AW_NR580_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static const char *aw_nr580_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data aw_nr580_flash_data = {
- .part_probes = aw_nr580_part_probes,
-};
-
-static void __init aw_nr580_setup(void)
-{
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
-
- ath79_register_pci();
-
- ath79_register_m25p80(&aw_nr580_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(aw_nr580_leds_gpio),
- aw_nr580_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, AW_NR580_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(aw_nr580_gpio_keys),
- aw_nr580_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_AW_NR580, "AW-NR580", "AzureWave AW-NR580",
- aw_nr580_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-bhr-4grv2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-bhr-4grv2.c
deleted file mode 100644
index 1630845cf8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-bhr-4grv2.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Buffalo BHR-4GRV2 board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2016 FUKAUMI Naoki <naobsd@gmail.com>
- *
- * Based on mach-ap136.c and mach-wzr-450hp2.c
- *
- * 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/platform_device.h>
-#include <linux/ar8216_platform.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 "machtypes.h"
-
-#define BHR_4GRV2_GPIO_LED_VPN_RED 3
-#define BHR_4GRV2_GPIO_LED_VPN_GREEN 18
-#define BHR_4GRV2_GPIO_LED_POWER_GREEN 19
-#define BHR_4GRV2_GPIO_LED_DIAG_RED 20
-
-#define BHR_4GRV2_GPIO_BTN_RESET 17
-#define BHR_4GRV2_GPIO_BTN_ECO 21
-
-#define BHR_4GRV2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define BHR_4GRV2_KEYS_DEBOUNCE_INTERVAL (3 * BHR_4GRV2_KEYS_POLL_INTERVAL)
-#define BHR_4GRV2_MAC0_OFFSET 0
-#define BHR_4GRV2_MAC1_OFFSET 6
-
-static struct gpio_led bhr_4grv2_leds_gpio[] __initdata = {
- {
- .name = "buffalo:red:vpn",
- .gpio = BHR_4GRV2_GPIO_LED_VPN_RED,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:vpn",
- .gpio = BHR_4GRV2_GPIO_LED_VPN_GREEN,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:power",
- .gpio = BHR_4GRV2_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "buffalo:red:diag",
- .gpio = BHR_4GRV2_GPIO_LED_DIAG_RED,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button bhr_4grv2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = BHR_4GRV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = BHR_4GRV2_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "ECO button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = BHR_4GRV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = BHR_4GRV2_GPIO_BTN_ECO,
- .active_low = 1,
- },
-};
-
-/* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
-static struct ar8327_pad_cfg bhr_4grv2_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
-static struct ar8327_pad_cfg bhr_4grv2_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data bhr_4grv2_ar8327_data = {
- .pad0_cfg = &bhr_4grv2_ar8327_pad0_cfg,
- .pad6_cfg = &bhr_4grv2_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info bhr_4grv2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &bhr_4grv2_ar8327_data,
- },
-};
-
-static void __init bhr_4grv2_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(bhr_4grv2_leds_gpio),
- bhr_4grv2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, BHR_4GRV2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(bhr_4grv2_gpio_keys),
- bhr_4grv2_gpio_keys);
-
- mdiobus_register_board_info(bhr_4grv2_mdio0_info,
- ARRAY_SIZE(bhr_4grv2_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RGMII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + BHR_4GRV2_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art + BHR_4GRV2_MAC1_OFFSET, 0);
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_BHR_4GRV2, "BHR-4GRV2",
- "Buffalo BHR-4GRV2", bhr_4grv2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-bhu-bxu2000n2-a.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-bhu-bxu2000n2-a.c
deleted file mode 100644
index 8d7c6112d7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-bhu-bxu2000n2-a.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * BHU BXU2000n-2 A1 board support
- *
- * Copyright (C) 2013 Terry Yang <yangbo@bhunetworks.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define BHU_BXU2000N2_A1_GPIO_LED_WLAN 13
-#define BHU_BXU2000N2_A1_GPIO_LED_WAN 19
-#define BHU_BXU2000N2_A1_GPIO_LED_LAN 21
-#define BHU_BXU2000N2_A1_GPIO_LED_SYSTEM 14
-
-#define BHU_BXU2000N2_A1_GPIO_BTN_RESET 17
-
-#define BHU_BXU2000N2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define BHU_BXU2000N2_KEYS_DEBOUNCE_INTERVAL \
- (3 * BHU_BXU2000N2_KEYS_POLL_INTERVAL)
-
-static const char *bhu_bxu2000n2_part_probes[] = {
- "cmdlinepart",
- NULL,
-};
-
-static struct flash_platform_data bhu_bxu2000n2_flash_data = {
- .part_probes = bhu_bxu2000n2_part_probes,
-};
-
-static struct gpio_led bhu_bxu2000n2_a1_leds_gpio[] __initdata = {
- {
- .name = "bhu:green:status",
- .gpio = BHU_BXU2000N2_A1_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "bhu:green:lan",
- .gpio = BHU_BXU2000N2_A1_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "bhu:green:wan",
- .gpio = BHU_BXU2000N2_A1_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "bhu:green:wlan",
- .gpio = BHU_BXU2000N2_A1_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button bhu_bxu2000n2_a1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = BHU_BXU2000N2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = BHU_BXU2000N2_A1_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init bhu_ap123_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&bhu_bxu2000n2_flash_data);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- 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_register_eth(0);
-
- /* GMAC1 is connected to the internal switch. Only use PHY3 */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.phy_mask = BIT(3);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, ee+2);
-}
-
-static void __init bhu_bxu2000n2_a1_setup(void)
-{
- bhu_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(bhu_bxu2000n2_a1_leds_gpio),
- bhu_bxu2000n2_a1_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, BHU_BXU2000N2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(bhu_bxu2000n2_a1_gpio_keys),
- bhu_bxu2000n2_a1_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_BHU_BXU2000N2_A1, "BXU2000n-2-A1",
- "BHU BXU2000n-2 rev. A1",
- bhu_bxu2000n2_a1_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-bsb.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-bsb.c
deleted file mode 100644
index 9f9be02eb3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-bsb.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Smart Electronics Black Swift board support
- *
- * Copyright (C) 2014 Dmitriy Zherebkov dzh@black-swift.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 <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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define BSB_GPIO_LED_SYS 27
-
-#define BSB_GPIO_BTN_RESET 11
-
-#define BSB_KEYS_POLL_INTERVAL 20 /* msecs */
-#define BSB_KEYS_DEBOUNCE_INTERVAL (3 * BSB_KEYS_POLL_INTERVAL)
-
-#define BSB_MAC_OFFSET 0x0000
-#define BSB_CALDATA_OFFSET 0x1000
-
-static struct gpio_led bsb_leds_gpio[] __initdata = {
- {
- .name = "bsb:red:sys",
- .gpio = BSB_GPIO_LED_SYS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button bsb_gpio_keys[] __initdata = {
- {
- .desc = "reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = BSB_KEYS_DEBOUNCE_INTERVAL,
- .gpio = BSB_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init bsb_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false,false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(bsb_leds_gpio),
- bsb_leds_gpio);
- ath79_register_gpio_keys_polled(-1, BSB_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(bsb_gpio_keys),
- bsb_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + BSB_MAC_OFFSET, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + BSB_MAC_OFFSET, 2);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(art + BSB_CALDATA_OFFSET,
- art + BSB_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_BSB, "BSB", "Smart Electronics Black Swift board",
- bsb_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-c55.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-c55.c
deleted file mode 100644
index 8aa5ecb6a8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-c55.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * AirTight Networks C-55 board support
- *
- * Copyright (C) 2014-2015 Chris Blake <chrisrblake93@gmail.com>
- *
- * Based on Senao CAP4200AG board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/phy.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.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 C55_GPIO_LED_PWR_GREEN 12
-#define C55_GPIO_LED_PWR_AMBER 13
-#define C55_GPIO_LED_LAN_GREEN 14
-#define C55_GPIO_LED_LAN_AMBER 15
-#define C55_GPIO_LED_WLAN_GREEN 18
-#define C55_GPIO_LED_WLAN_AMBER 19
-
-#define C55_GPIO_BTN_RESET 17
-
-#define C55_KEYS_POLL_INTERVAL 20 /* msecs */
-#define C55_KEYS_DEBOUNCE_INTERVAL (3 * C55_KEYS_POLL_INTERVAL)
-
-#define C55_MAC_OFFSET 0
-#define C55_WMAC_CALDATA_OFFSET 0x1000
-#define C55_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led c55_leds_gpio[] __initdata = {
- {
- .name = "c-55:green:pwr",
- .gpio = C55_GPIO_LED_PWR_GREEN,
- .active_low = 1,
- },
- {
- .name = "c-55:amber:pwr",
- .gpio = C55_GPIO_LED_PWR_AMBER,
- .active_low = 1,
- },
- {
- .name = "c-55:green:lan",
- .gpio = C55_GPIO_LED_LAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "c-55:amber:lan",
- .gpio = C55_GPIO_LED_LAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "c-55:green:wlan",
- .gpio = C55_GPIO_LED_WLAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "c-55:amber:wlan",
- .gpio = C55_GPIO_LED_WLAN_AMBER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button c55_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = C55_KEYS_DEBOUNCE_INTERVAL,
- .gpio = C55_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init c55_setup(void)
-{
- /* SPI Storage*/
- ath79_register_m25p80(NULL);
-
- /* MDIO Interface */
- ath79_register_mdio(0, 0x0);
-
- /* AR8035-A Ethernet */
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
- ath79_init_mac(ath79_eth0_data.mac_addr, NULL, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- /* LEDs & GPIO */
- ath79_gpio_output_select(C55_GPIO_LED_LAN_GREEN,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(C55_GPIO_LED_LAN_AMBER,
- AR934X_GPIO_OUT_GPIO);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(c55_leds_gpio),
- c55_leds_gpio);
- ath79_register_gpio_keys_polled(-1, C55_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(c55_gpio_keys),
- c55_gpio_keys);
-
- /* WiFi */
- ath79_wmac_disable_2ghz();
- ath79_register_wmac_simple();
- ap91_pci_init_simple();
-
-}
-MIPS_MACHINE(ATH79_MACH_C55, "C-55", "AirTight Networks C-55",
- c55_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-c60.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-c60.c
deleted file mode 100644
index bccf2e5873..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-c60.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * AirTight Networks C-60 board support
- *
- * Copyright (C) 2016 Christian Lamparter <chunkeey@googlemail.com>
- *
- * Based on AirTight Networks C-55 board support
- *
- * Copyright (C) 2014-2015 Chris Blake <chrisrblake93@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/version.h>
-#include <linux/pci.h>
-#include <linux/phy.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/platform_device.h>
-#include <linux/platform/ar934x_nfc.h>
-#include <linux/ar8216_platform.h>
-#include <linux/ath9k_platform.h>
-#include <linux/version.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.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 "dev-usb.h"
-#include "dev-nfc.h"
-#include "machtypes.h"
-
-#define C60_GPIO_LED_PWR_AMBER 11
-#define C60_GPIO_LED_WLAN2_GREEN 12
-#define C60_GPIO_LED_WLAN2_AMBER 13
-#define C60_GPIO_LED_PWR_GREEN 16
-
-#define C60_GPIO_BTN_RESET 17
-
-/* GPIOs of the AR9300 PCIe chip */
-#define C60_GPIO_WMAC_LED_WLAN1_AMBER 0
-#define C60_GPIO_WMAC_LED_WLAN1_GREEN 3
-
-#define C60_KEYS_POLL_INTERVAL 20 /* msecs */
-#define C60_KEYS_DEBOUNCE_INTERVAL (3 * C60_KEYS_POLL_INTERVAL)
-
-#define C60_ART_ADDR 0x1f7f0000
-#define C60_ART_SIZE 0xffff
-#define C60_MAC_OFFSET 0
-#define C60_WMAC_CALDATA_OFFSET 0x1000
-#define C60_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led c60_leds_gpio[] __initdata = {
- {
- .name = "c-60:amber:pwr",
- .gpio = C60_GPIO_LED_PWR_AMBER,
- .active_low = 1,
- },
- {
- .name = "c-60:green:pwr",
- .gpio = C60_GPIO_LED_PWR_GREEN,
- .active_low = 1,
- },
- {
- .name = "c-60:green:wlan2",
- .gpio = C60_GPIO_LED_WLAN2_GREEN,
- .active_low = 1,
- },
- {
- .name = "c-60:amber:wlan2",
- .gpio = C60_GPIO_LED_WLAN2_AMBER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button c60_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = C60_KEYS_DEBOUNCE_INTERVAL,
- .gpio = C60_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg c60_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data c60_ar8327_data = {
- .pad0_cfg = &c60_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- }
-};
-
-static struct mdio_board_info c60_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &c60_ar8327_data,
- },
-};
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
-static struct nand_ecclayout c60_nand_ecclayout = {
- .eccbytes = 7,
- .eccpos = { 4, 8, 9, 10, 13, 14, 15 },
- .oobavail = 9,
- .oobfree = { { 0, 3 }, { 6, 2 }, { 11, 2 }, }
-};
-
-#else
-
-static int c60_ooblayout_ecc(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 4;
- oobregion->length = 1;
- return 0;
- case 1:
- oobregion->offset = 8;
- oobregion->length = 3;
- return 0;
- case 2:
- oobregion->offset = 13;
- oobregion->length = 3;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static int c60_ooblayout_free(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 0;
- oobregion->length = 3;
- return 0;
- case 1:
- oobregion->offset = 6;
- oobregion->length = 2;
- return 0;
- case 2:
- oobregion->offset = 11;
- oobregion->length = 2;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static const struct mtd_ooblayout_ops c60_nand_ecclayout_ops = {
- .ecc = c60_ooblayout_ecc,
- .free = c60_ooblayout_free,
-};
-#endif /* < 4.6 */
-
-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;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- chip->ecc.layout = &c60_nand_ecclayout;
-#else
- mtd_set_ooblayout(mtd, &c60_nand_ecclayout_ops);
-#endif
- return 0;
-}
-
-static struct gpio_led c60_wmac0_leds_gpio[] = {
- {
- .name = "c-60:amber:wlan1",
- .gpio = C60_GPIO_WMAC_LED_WLAN1_AMBER,
- .active_low = 1,
- },
- {
- .name = "c-60:green:wlan1",
- .gpio = C60_GPIO_WMAC_LED_WLAN1_GREEN,
- .active_low = 1,
- },
-};
-
-static void __init c60_setup(void)
-{
- u8 tmpmac[6];
- u8 *art = (u8 *) KSEG1ADDR(C60_ART_ADDR);
-
- /* NAND */
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_SOFT_BCH);
- ath79_nfc_set_scan_fixup(c60_nand_scan_fixup);
- ath79_register_nfc();
-
- /* SPI Storage*/
- ath79_register_m25p80(NULL);
-
- /* AR8327 Switch Ethernet */
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(c60_mdio0_info,
- ARRAY_SIZE(c60_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, art + C60_MAC_OFFSET, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- /* LEDs & GPIO */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(c60_leds_gpio),
- c60_leds_gpio);
- ath79_register_gpio_keys_polled(-1, C60_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(c60_gpio_keys),
- c60_gpio_keys);
- ap9x_pci_setup_wmac_leds(0, c60_wmac0_leds_gpio,
- ARRAY_SIZE(c60_wmac0_leds_gpio));
- /* USB */
- ath79_register_usb();
-
- /* WiFi */
- ath79_init_mac(tmpmac, art + C60_MAC_OFFSET, 1);
- ap91_pci_init(art + C60_PCIE_CALDATA_OFFSET, tmpmac);
- ath79_init_mac(tmpmac, art + C60_MAC_OFFSET, 2);
- ath79_register_wmac(art + C60_WMAC_CALDATA_OFFSET, tmpmac);
-}
-MIPS_MACHINE(ATH79_MACH_C60, "C-60", "AirTight Networks C-60",
- c60_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cap324.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cap324.c
deleted file mode 100644
index dffbb81bd4..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cap324.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * PowerCloud Systems CAP324 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2012-2013 PowerCloud Systems
- * Copyright (C) 2015 Daniel Dickinson
- *
- * 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/phy.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define CAP324_GPIO_LED_POWER_GREEN 12
-#define CAP324_GPIO_LED_POWER_AMBER 13
-#define CAP324_GPIO_LED_LAN_GREEN 14
-#define CAP324_GPIO_LED_LAN_AMBER 15
-#define CAP324_GPIO_LED_WLAN_GREEN 18
-#define CAP324_GPIO_LED_WLAN_AMBER 19
-
-#define CAP324_GPIO_BTN_RESET 17
-
-#define CAP324_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CAP324_KEYS_DEBOUNCE_INTERVAL (3 * CAP324_KEYS_POLL_INTERVAL)
-
-#define CAP324_MAC_OFFSET 0
-#define CAP324_WMAC_CALDATA_OFFSET 0x1000
-#define CAP324_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led cap324_leds_gpio[] __initdata = {
- {
- .name = "pcs:green:power",
- .gpio = CAP324_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "pcs:amber:power",
- .gpio = CAP324_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "pcs:green:lan",
- .gpio = CAP324_GPIO_LED_LAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "pcs:amber:lan",
- .gpio = CAP324_GPIO_LED_LAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "pcs:green:wlan",
- .gpio = CAP324_GPIO_LED_WLAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "pcs:amber:wlan",
- .gpio = CAP324_GPIO_LED_WLAN_AMBER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cap324_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CAP324_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CAP324_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init cap324_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_gpio_output_select(CAP324_GPIO_LED_LAN_GREEN,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(CAP324_GPIO_LED_LAN_AMBER,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cap324_leds_gpio),
- cap324_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CAP324_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cap324_gpio_keys),
- cap324_gpio_keys);
-
- ath79_init_mac(mac, art + CAP324_MAC_OFFSET, -2);
- ath79_wmac_disable_2ghz();
- ath79_register_wmac(art + CAP324_WMAC_CALDATA_OFFSET, mac);
-
- ath79_init_mac(mac, art + CAP324_MAC_OFFSET, -1);
- ap91_pci_init(art + CAP324_PCIE_CALDATA_OFFSET, mac);
-
- 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 + CAP324_MAC_OFFSET, 0);
-
- /* GMAC0 is connected to an external PHY */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_CAP324, "CAP324", "PowerCloud Systems CAP324",
- cap324_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cap4200ag.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cap4200ag.c
deleted file mode 100644
index 18944c40fa..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cap4200ag.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Senao CAP4200AG board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/phy.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define CAP4200AG_GPIO_LED_PWR_GREEN 12
-#define CAP4200AG_GPIO_LED_PWR_AMBER 13
-#define CAP4200AG_GPIO_LED_LAN_GREEN 14
-#define CAP4200AG_GPIO_LED_LAN_AMBER 15
-#define CAP4200AG_GPIO_LED_WLAN_GREEN 18
-#define CAP4200AG_GPIO_LED_WLAN_AMBER 19
-
-#define CAP4200AG_GPIO_BTN_RESET 17
-
-#define CAP4200AG_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CAP4200AG_KEYS_DEBOUNCE_INTERVAL (3 * CAP4200AG_KEYS_POLL_INTERVAL)
-
-#define CAP4200AG_MAC_OFFSET 0
-#define CAP4200AG_WMAC_CALDATA_OFFSET 0x1000
-#define CAP4200AG_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led cap4200ag_leds_gpio[] __initdata = {
- {
- .name = "senao:green:pwr",
- .gpio = CAP4200AG_GPIO_LED_PWR_GREEN,
- .active_low = 1,
- },
- {
- .name = "senao:amber:pwr",
- .gpio = CAP4200AG_GPIO_LED_PWR_AMBER,
- .active_low = 1,
- },
- {
- .name = "senao:green:lan",
- .gpio = CAP4200AG_GPIO_LED_LAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "senao:amber:lan",
- .gpio = CAP4200AG_GPIO_LED_LAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "senao:green:wlan",
- .gpio = CAP4200AG_GPIO_LED_WLAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "senao:amber:wlan",
- .gpio = CAP4200AG_GPIO_LED_WLAN_AMBER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cap4200ag_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CAP4200AG_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CAP4200AG_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init cap4200ag_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_gpio_output_select(CAP4200AG_GPIO_LED_LAN_GREEN,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(CAP4200AG_GPIO_LED_LAN_AMBER,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cap4200ag_leds_gpio),
- cap4200ag_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CAP4200AG_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cap4200ag_gpio_keys),
- cap4200ag_gpio_keys);
-
- ath79_init_mac(mac, art + CAP4200AG_MAC_OFFSET, -1);
- ath79_wmac_disable_2ghz();
- ath79_register_wmac(art + CAP4200AG_WMAC_CALDATA_OFFSET, mac);
-
- ath79_init_mac(mac, art + CAP4200AG_MAC_OFFSET, -2);
- ap91_pci_init(art + CAP4200AG_PCIE_CALDATA_OFFSET, mac);
-
- 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 + CAP4200AG_MAC_OFFSET, -2);
-
- /* GMAC0 is connected to an external PHY */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_CAP4200AG, "CAP4200AG", "Senao CAP4200AG",
- cap4200ag_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-carambola2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-carambola2.c
deleted file mode 100644
index babe101141..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-carambola2.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 8devices Carambola2 board support
- *
- * Copyright (C) 2013 Darius Augulis <darius@8devices.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 <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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define CARAMBOLA2_GPIO_LED_WLAN 0
-#define CARAMBOLA2_GPIO_LED_ETH0 14
-#define CARAMBOLA2_GPIO_LED_ETH1 13
-
-#define CARAMBOLA2_GPIO_BTN_JUMPSTART 11
-
-#define CARAMBOLA2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CARAMBOLA2_KEYS_DEBOUNCE_INTERVAL (3 * CARAMBOLA2_KEYS_POLL_INTERVAL)
-
-#define CARAMBOLA2_MAC0_OFFSET 0x0000
-#define CARAMBOLA2_MAC1_OFFSET 0x0006
-#define CARAMBOLA2_CALDATA_OFFSET 0x1000
-#define CARAMBOLA2_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led carambola2_leds_gpio[] __initdata = {
- {
- .name = "carambola2:green:wlan",
- .gpio = CARAMBOLA2_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "carambola2:orange:eth0",
- .gpio = CARAMBOLA2_GPIO_LED_ETH0,
- .active_low = 0,
- }, {
- .name = "carambola2:orange:eth1",
- .gpio = CARAMBOLA2_GPIO_LED_ETH1,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button carambola2_gpio_keys[] __initdata = {
- {
- .desc = "jumpstart button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = CARAMBOLA2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CARAMBOLA2_GPIO_BTN_JUMPSTART,
- .active_low = 1,
- },
-};
-
-static void __init carambola2_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_wmac(art + CARAMBOLA2_CALDATA_OFFSET,
- art + CARAMBOLA2_WMAC_MAC_OFFSET);
-
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + CARAMBOLA2_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + CARAMBOLA2_MAC1_OFFSET, 0);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-}
-
-static void __init carambola2_setup(void)
-{
- carambola2_common_setup();
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(carambola2_leds_gpio),
- carambola2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CARAMBOLA2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(carambola2_gpio_keys),
- carambola2_gpio_keys);
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_CARAMBOLA2, "CARAMBOLA2", "8devices Carambola2 board",
- carambola2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c
deleted file mode 100644
index 82174ba935..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c
+++ /dev/null
@@ -1,765 +0,0 @@
-/*
- * Support for COMFAST boards:
- * - CF-E316N v2 (AR9341)
- * - CF-E320N v2 (QCA9531)
- * - CF-E355AC v1 (QCA9531 + QCA9882)
- * - CF-E355AC v2 (QCA9531 + QCA9886)
- * - CF-E375AC (QCA9563 + QCA9886 + QCA8337)
- * - CF-E380AC v1/v2 (QCA9558)
- * - CF-E385AC (QCA9558 + QCA9984 + QCA8337)
- * - CF-E520N/CF-E530N (QCA9531)
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@gmail.com>
- * Copyright (C) 2016 Gareth Parker <gareth41@orcon.net.nz>
- * Copyright (C) 2015 Paul Fertser <fercerpav@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/ar8216_platform.h>
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/platform_device.h>
-#include <linux/timer.h>
-
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define CF_EXXXN_KEYS_POLL_INTERVAL 20
-#define CF_EXXXN_KEYS_DEBOUNCE_INTERVAL (3 * CF_EXXXN_KEYS_POLL_INTERVAL)
-
-/* CF-E316N v2 */
-#define CF_E316N_V2_GPIO_LED_DIAG_B 0
-#define CF_E316N_V2_GPIO_LED_DIAG_R 2
-#define CF_E316N_V2_GPIO_LED_DIAG_G 3
-#define CF_E316N_V2_GPIO_LED_WLAN 12
-#define CF_E316N_V2_GPIO_LED_WAN 17
-#define CF_E316N_V2_GPIO_LED_LAN 19
-
-#define CF_E316N_V2_GPIO_EXT_WDT 16
-
-#define CF_E316N_V2_GPIO_EXTERNAL_PA0 13
-#define CF_E316N_V2_GPIO_EXTERNAL_PA1 14
-
-#define CF_E316N_V2_GPIO_BTN_RESET 20
-
-static struct gpio_led cf_e316n_v2_leds_gpio[] __initdata = {
- {
- .name = "cf-e316n-v2:blue:diag",
- .gpio = CF_E316N_V2_GPIO_LED_DIAG_B,
- .active_low = 0,
- }, {
- .name = "cf-e316n-v2:red:diag",
- .gpio = CF_E316N_V2_GPIO_LED_DIAG_R,
- .active_low = 0,
- }, {
- .name = "cf-e316n-v2:green:diag",
- .gpio = CF_E316N_V2_GPIO_LED_DIAG_G,
- .active_low = 0,
- }, {
- .name = "cf-e316n-v2:blue:wlan",
- .gpio = CF_E316N_V2_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "cf-e316n-v2:blue:wan",
- .gpio = CF_E316N_V2_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "cf-e316n-v2:blue:lan",
- .gpio = CF_E316N_V2_GPIO_LED_LAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cf_e316n_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CF_EXXXN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CF_E316N_V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* CF-E320N v2 */
-#define CF_E320N_V2_GPIO_LED_WLAN 0
-#define CF_E320N_V2_GPIO_LED_WAN 2
-#define CF_E320N_V2_GPIO_LED_LAN 3
-
-#define CF_E320N_V2_GPIO_HEADER_J9_1 14
-#define CF_E320N_V2_GPIO_HEADER_J9_2 12
-#define CF_E320N_V2_GPIO_HEADER_J9_3 11
-#define CF_E320N_V2_GPIO_HEADER_J9_4 16
-
-#define CF_E320N_V2_GPIO_EXT_WDT 13
-
-#define CF_E320N_V2_GPIO_BTN_RESET 17
-
-static struct gpio_led cf_e320n_v2_leds_gpio[] __initdata = {
- {
- .name = "cf-e320n-v2:green:lan",
- .gpio = CF_E320N_V2_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e320n-v2:red:wan",
- .gpio = CF_E320N_V2_GPIO_LED_WAN,
- .active_low = 0,
- }, {
- .name = "cf-e320n-v2:blue:wlan",
- .gpio = CF_E320N_V2_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button cf_e320n_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CF_EXXXN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CF_E320N_V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* CF-E355AC v1/v2 */
-#define CF_E355AC_GPIO_LED_LAN 3
-#define CF_E355AC_GPIO_LED_WLAN2G 0
-#define CF_E355AC_GPIO_LED_WLAN5G 2
-
-#define CF_E355AC_GPIO_EXT_WDT 13
-
-#define CF_E355AC_GPIO_BTN_RESET 17
-
-static struct gpio_led cf_e355ac_v1_leds_gpio[] __initdata = {
- {
- .name = "cf-e355ac-v1:green:lan",
- .gpio = CF_E355AC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e355ac-v1:blue:wlan2g",
- .gpio = CF_E355AC_GPIO_LED_WLAN2G,
- .active_low = 0,
- }, {
- .name = "cf-e355ac-v1:red:wlan5g",
- .gpio = CF_E355AC_GPIO_LED_WLAN5G,
- .active_low = 0,
- },
-};
-
-static struct gpio_led cf_e355ac_v2_leds_gpio[] __initdata = {
- {
- .name = "cf-e355ac-v2:green:lan",
- .gpio = CF_E355AC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e355ac-v2:blue:wlan2g",
- .gpio = CF_E355AC_GPIO_LED_WLAN2G,
- .active_low = 0,
- }, {
- .name = "cf-e355ac-v2:red:wlan5g",
- .gpio = CF_E355AC_GPIO_LED_WLAN5G,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button cf_e355ac_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CF_EXXXN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CF_E355AC_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* CF-E375AC */
-#define CF_E375AC_GPIO_LED_LAN 17
-#define CF_E375AC_GPIO_LED_WLAN2G 16
-#define CF_E375AC_GPIO_LED_WLAN5G 15
-
-#define CF_E375AC_GPIO_EXT_WDT 6
-
-#define CF_E375AC_GPIO_BTN_RESET 2
-
-static struct gpio_led cf_e375ac_leds_gpio[] __initdata = {
- {
- .name = "cf-e375ac:green:lan",
- .gpio = CF_E375AC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e375ac:red:wlan5g",
- .gpio = CF_E375AC_GPIO_LED_WLAN5G,
- .active_low = 0,
- }, {
- .name = "cf-e375ac:blue:wlan2g",
- .gpio = CF_E375AC_GPIO_LED_WLAN2G,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button cf_e375ac_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CF_EXXXN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CF_E375AC_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg cf_e375ac_ar8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data cf_e375ac_ar8337_data = {
- .pad0_cfg = &cf_e375ac_ar8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info cf_e375ac_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &cf_e375ac_ar8337_data,
- },
-};
-
-/* CF-E380AC v1/v2, CF-E385AC */
-#define CF_E38XAC_GPIO_LED_LAN 0
-#define CF_E38XAC_GPIO_LED_WLAN2G 2
-#define CF_E38XAC_GPIO_LED_WLAN5G 3
-
-#define CF_E38XAC_GPIO_EXT_WDT 17
-
-#define CF_E38XAC_GPIO_BTN_RESET 19
-
-static struct gpio_led cf_e380ac_v1_leds_gpio[] __initdata = {
- {
- .name = "cf-e380ac-v1:green:lan",
- .gpio = CF_E38XAC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e380ac-v1:blue:wlan2g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN2G,
- .active_low = 0,
- }, {
- .name = "cf-e380ac-v1:red:wlan5g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN5G,
- .active_low = 0,
- },
-};
-
-static struct gpio_led cf_e380ac_v2_leds_gpio[] __initdata = {
- {
- .name = "cf-e380ac-v2:green:lan",
- .gpio = CF_E38XAC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e380ac-v2:blue:wlan2g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN2G,
- .active_low = 0,
- }, {
- .name = "cf-e380ac-v2:red:wlan5g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN5G,
- .active_low = 0,
- },
-};
-
-static struct gpio_led cf_e385ac_leds_gpio[] __initdata = {
- {
- .name = "cf-e385ac:green:lan",
- .gpio = CF_E38XAC_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "cf-e385ac:blue:wlan2g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN2G,
- .active_low = 0,
- }, {
- .name = "cf-e385ac:red:wlan5g",
- .gpio = CF_E38XAC_GPIO_LED_WLAN5G,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button cf_e38xac_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CF_EXXXN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CF_E38XAC_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data cf_e380ac_v1v2_at803x_data = {
- .disable_smarteee = 1,
-};
-
-static struct mdio_board_info cf_e380ac_v1v2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &cf_e380ac_v1v2_at803x_data,
- },
-};
-
-/* CF-E520N/CF-E530N */
-#define CF_E5X0N_GPIO_LED_WAN 11
-#define CF_E5X0N_GPIO_BTN_RESET 17
-
-static struct gpio_led cf_e520n_leds_gpio[] __initdata = {
- {
- .name = "cf-e520n:blue:wan",
- .gpio = CF_E5X0N_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led cf_e530n_leds_gpio[] __initdata = {
- {
- .name = "cf-e530n:blue:wan",
- .gpio = CF_E5X0N_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-/*
- * Some COMFAST devices include external hardware watchdog chip,
- * Pericon Technology PT7A7514, connected to a selected GPIO
- * and WiSoC RESET_L input. Watchdog time-out is ~1.6 s.
- */
-#define CF_EXXXN_EXT_WDT_TIMEOUT_MS 500
-
-static struct timer_list gpio_wdt_timer;
-
-static void gpio_wdt_toggle(unsigned long gpio)
-{
- static int state;
-
- state = !state;
- gpio_set_value(gpio, state);
-
- mod_timer(&gpio_wdt_timer,
- jiffies + msecs_to_jiffies(CF_EXXXN_EXT_WDT_TIMEOUT_MS));
-}
-
-static void __init cf_exxxn_common_setup(unsigned long art_ofs, int gpio_wdt)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f001000 + art_ofs);
-
- if (gpio_wdt > -1) {
- gpio_request_one(gpio_wdt, GPIOF_OUT_INIT_HIGH,
- "PT7A7514 watchdog");
-
- setup_timer(&gpio_wdt_timer, gpio_wdt_toggle, gpio_wdt);
- gpio_wdt_toggle(gpio_wdt);
- }
-
- ath79_register_m25p80(NULL);
-
- ath79_register_wmac(art, NULL);
-
- ath79_register_usb();
-}
-
-static void __init cf_e316n_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f010000);
-
- cf_exxxn_common_setup(0x10000, CF_E316N_V2_GPIO_EXT_WDT);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 2);
- ath79_register_eth(1);
-
- /* Enable 2x Skyworks SE2576L WLAN power amplifiers */
- gpio_request_one(CF_E316N_V2_GPIO_EXTERNAL_PA0, GPIOF_OUT_INIT_HIGH,
- "WLAN PA0");
- gpio_request_one(CF_E316N_V2_GPIO_EXTERNAL_PA1, GPIOF_OUT_INIT_HIGH,
- "WLAN PA1");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e316n_v2_leds_gpio),
- cf_e316n_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e316n_v2_gpio_keys),
- cf_e316n_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E316N_V2, "CF-E316N-V2", "COMFAST CF-E316N v2",
- cf_e316n_v2_setup);
-
-static void __init cf_exxxn_qca953x_eth_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f010000);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(4);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 2);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- 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);
-}
-
-static void __init cf_e320n_v2_setup(void)
-{
- cf_exxxn_common_setup(0x10000, CF_E320N_V2_GPIO_EXT_WDT);
-
- cf_exxxn_qca953x_eth_setup();
-
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_direction_select(CF_E320N_V2_GPIO_LED_LAN, true);
- ath79_gpio_direction_select(CF_E320N_V2_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(CF_E320N_V2_GPIO_LED_WLAN, true);
-
- ath79_gpio_output_select(CF_E320N_V2_GPIO_LED_LAN, 0);
- ath79_gpio_output_select(CF_E320N_V2_GPIO_LED_WAN, 0);
- ath79_gpio_output_select(CF_E320N_V2_GPIO_LED_WLAN, 0);
-
- /* Enable GPIO function for GPIOs in J9 header */
- ath79_gpio_output_select(CF_E320N_V2_GPIO_HEADER_J9_1, 0);
- ath79_gpio_output_select(CF_E320N_V2_GPIO_HEADER_J9_2, 0);
- ath79_gpio_output_select(CF_E320N_V2_GPIO_HEADER_J9_3, 0);
- ath79_gpio_output_select(CF_E320N_V2_GPIO_HEADER_J9_4, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e320n_v2_leds_gpio),
- cf_e320n_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e320n_v2_gpio_keys),
- cf_e320n_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E320N_V2, "CF-E320N-V2", "COMFAST CF-E320N v2",
- cf_e320n_v2_setup);
-
-static void __init cf_e355ac_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f010000);
-
- /* Disable JTAG, enabling GPIOs 0-3 */
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, 0);
-
- cf_exxxn_common_setup(0x10000, CF_E355AC_GPIO_EXT_WDT);
-
- cf_exxxn_qca953x_eth_setup();
-
- ath79_gpio_output_select(CF_E355AC_GPIO_LED_LAN, 0);
- ath79_gpio_output_select(CF_E355AC_GPIO_LED_WLAN2G, 0);
- ath79_gpio_output_select(CF_E355AC_GPIO_LED_WLAN5G, 0);
-
- ap91_pci_init(art + 0x5000, NULL);
-
- ath79_register_gpio_keys_polled(1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e355ac_gpio_keys),
- cf_e355ac_gpio_keys);
-}
-
-static void __init cf_e355ac_v1_setup(void)
-{
- cf_e355ac_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e355ac_v1_leds_gpio),
- cf_e355ac_v1_leds_gpio);
-}
-
-static void __init cf_e355ac_v2_setup(void)
-{
- cf_e355ac_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e355ac_v2_leds_gpio),
- cf_e355ac_v2_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E355AC, "CF-E355AC-V1", "COMFAST CF-E355AC v1",
- cf_e355ac_v1_setup);
-
-MIPS_MACHINE(ATH79_MACH_CF_E355AC_V2, "CF-E355AC-V2", "COMFAST CF-E355AC v2",
- cf_e355ac_v2_setup);
-
-static void __init cf_e375ac_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f040000);
-
- /* Disable JTAG, enabling GPIOs 0-3 */
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, 0);
-
- cf_exxxn_common_setup(0x40000, CF_E375AC_GPIO_EXT_WDT);
-
- ath79_gpio_output_select(CF_E375AC_GPIO_LED_LAN, 0);
- ath79_gpio_output_select(CF_E375AC_GPIO_LED_WLAN2G, 0);
- ath79_gpio_output_select(CF_E375AC_GPIO_LED_WLAN5G, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e375ac_leds_gpio),
- cf_e375ac_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e375ac_gpio_keys),
- cf_e375ac_gpio_keys);
-
- platform_device_register(&ath79_mdio0_device);
-
- mdiobus_register_board_info(cf_e375ac_mdio0_info,
- ARRAY_SIZE(cf_e375ac_mdio0_info));
-
- /* 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_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E375AC, "CF-E375AC", "COMFAST CF-E375AC",
- cf_e375ac_setup);
-
-static void __init cf_e38xac_common_setup(unsigned long art_ofs)
-{
- cf_exxxn_common_setup(art_ofs, CF_E38XAC_GPIO_EXT_WDT);
-
- ath79_register_pci();
-
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_direction_select(CF_E38XAC_GPIO_LED_LAN, true);
- ath79_gpio_direction_select(CF_E38XAC_GPIO_LED_WLAN2G, true);
- ath79_gpio_direction_select(CF_E38XAC_GPIO_LED_WLAN5G, true);
-
- ath79_gpio_output_select(CF_E38XAC_GPIO_LED_LAN, 0);
- ath79_gpio_output_select(CF_E38XAC_GPIO_LED_WLAN2G, 0);
- ath79_gpio_output_select(CF_E38XAC_GPIO_LED_WLAN5G, 0);
-
- /* For J7-4 */
- ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_gpio_keys_polled(-1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e38xac_gpio_keys),
- cf_e38xac_gpio_keys);
-}
-
-static void __init cf_e380ac_v1v2_common_setup(unsigned long art_ofs)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f000000 + art_ofs);
-
- cf_e38xac_common_setup(art_ofs);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(cf_e380ac_v1v2_mdio0_info,
- ARRAY_SIZE(cf_e380ac_v1v2_mdio0_info));
-
- /* LAN */
- 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(0);
- ath79_eth0_pll_data.pll_1000 = 0xbe000000;
- ath79_eth0_pll_data.pll_100 = 0xb0000101;
- ath79_eth0_pll_data.pll_10 = 0xb0001313;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-}
-
-static void __init cf_e380ac_v1_setup(void)
-{
- cf_e380ac_v1v2_common_setup(0x20000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e380ac_v1_leds_gpio),
- cf_e380ac_v1_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E380AC_V1, "CF-E380AC-V1", "COMFAST CF-E380AC v1",
- cf_e380ac_v1_setup);
-
-static void __init cf_e380ac_v2_setup(void)
-{
- cf_e380ac_v1v2_common_setup(0x40000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e380ac_v2_leds_gpio),
- cf_e380ac_v2_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E380AC_V2, "CF-E380AC-V2", "COMFAST CF-E380AC v2",
- cf_e380ac_v2_setup);
-
-/* QCA8337 GMAC0 is connected with QCA9558 over RGMII */
-static struct ar8327_pad_cfg cf_e385ac_qca8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL1,
-};
-
-/* QCA8337 GMAC6 is connected with QCA9558 over SGMII */
-static struct ar8327_pad_cfg cf_e385ac_qca8337_pad6_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_platform_data cf_e385ac_qca8337_data = {
- .pad0_cfg = &cf_e385ac_qca8337_pad0_cfg,
- .pad6_cfg = &cf_e385ac_qca8337_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info cf_e385ac_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &cf_e385ac_qca8337_data,
- },
-};
-
-static void __init cf_e385ac_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f040000);
-
- cf_e38xac_common_setup(0x40000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e385ac_leds_gpio),
- cf_e385ac_leds_gpio);
-
- mdiobus_register_board_info(cf_e385ac_mdio0_info,
- ARRAY_SIZE(cf_e385ac_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* QCA9558 GMAC0 is connected to RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x96000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- /* QCA9558 GMAC1 is connected to SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E385AC, "CF-E385AC", "COMFAST CF-E385AC",
- cf_e385ac_setup);
-
-static void __init cf_e5x0n_gpio_setup(void)
-{
- ath79_gpio_direction_select(CF_E5X0N_GPIO_LED_WAN, true);
-
- ath79_gpio_output_select(CF_E5X0N_GPIO_LED_WAN, 0);
-
- ath79_register_gpio_keys_polled(-1, CF_EXXXN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cf_e320n_v2_gpio_keys),
- cf_e320n_v2_gpio_keys);
-}
-
-static void __init cf_e520n_setup(void)
-{
- cf_exxxn_common_setup(0x10000, -1);
-
- cf_exxxn_qca953x_eth_setup();
-
- cf_e5x0n_gpio_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e520n_leds_gpio),
- cf_e520n_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E520N, "CF-E520N", "COMFAST CF-E520N",
- cf_e520n_setup);
-
-static void __init cf_e530n_setup(void)
-{
- cf_exxxn_common_setup(0x10000, -1);
-
- cf_exxxn_qca953x_eth_setup();
-
- cf_e5x0n_gpio_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e530n_leds_gpio),
- cf_e530n_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_CF_E530N, "CF-E530N", "COMFAST CF-E530N",
- cf_e530n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c
deleted file mode 100644
index 49d9cf9bb5..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * TP-LINK CPE210/210 v2/220/510/520 board support
- *
- * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
- * Copyright (C) 2017 Robert Marko <robimarko@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 CPE510_GPIO_LED_LAN0 11
-#define CPE510_GPIO_LED_LAN1 12
-#define CPE510_GPIO_LED_L1 13
-#define CPE510_GPIO_LED_L2 14
-#define CPE510_GPIO_LED_L3 15
-#define CPE510_GPIO_LED_L4 16
-
-/* All LEDs/button except for link4 are the same for CPE and WBS series */
-#define WBS510_GPIO_LED_L4 2
-
-#define CPE510_GPIO_EXTERNAL_LNA0 18
-#define CPE510_GPIO_EXTERNAL_LNA1 19
-
-#define CPE510_GPIO_BTN_RESET 4
-
-#define CPE510_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CPE510_KEYS_DEBOUNCE_INTERVAL (3 * CPE510_KEYS_POLL_INTERVAL)
-
-/* CPE210 v2 reset GPIO */
-#define CPE210_V2_GPIO_BTN_RESET 17
-
-static struct gpio_led cpe510_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan0",
- .gpio = CPE510_GPIO_LED_LAN0,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan1",
- .gpio = CPE510_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link1",
- .gpio = CPE510_GPIO_LED_L1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link2",
- .gpio = CPE510_GPIO_LED_L2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link3",
- .gpio = CPE510_GPIO_LED_L3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link4",
- .gpio = CPE510_GPIO_LED_L4,
- .active_low = 1,
- },
-};
-
-static struct gpio_led wbs510_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan0",
- .gpio = CPE510_GPIO_LED_LAN0,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan1",
- .gpio = CPE510_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link1",
- .gpio = CPE510_GPIO_LED_L1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link2",
- .gpio = CPE510_GPIO_LED_L2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link3",
- .gpio = CPE510_GPIO_LED_L3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link4",
- .gpio = WBS510_GPIO_LED_L4,
- .active_low = 1,
- },
-};
-
-static struct gpio_led cpe210_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan0",
- .gpio = CPE510_GPIO_LED_LAN0,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link1",
- .gpio = CPE510_GPIO_LED_L1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link2",
- .gpio = CPE510_GPIO_LED_L2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link3",
- .gpio = CPE510_GPIO_LED_L3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:link4",
- .gpio = CPE510_GPIO_LED_L4,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cpe510_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CPE510_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CPE510_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button cpe210_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CPE510_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CPE210_V2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init cpe_setup(u8 *mac)
-{
- /* Disable JTAG, enabling GPIOs 0-3 */
- /* Configure OBS4 line, for GPIO 4*/
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_gpio_keys_polled(1, CPE510_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cpe510_gpio_keys),
- cpe510_gpio_keys);
-
- ath79_wmac_set_ext_lna_gpio(0, CPE510_GPIO_EXTERNAL_LNA0);
- ath79_wmac_set_ext_lna_gpio(1, CPE510_GPIO_EXTERNAL_LNA1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-}
-
-
-static void __init cpe210_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
- cpe510_leds_gpio);
-
- cpe_setup(mac);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init cpe510_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
- cpe510_leds_gpio);
-
- cpe_setup(mac);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init wbs_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wbs510_leds_gpio),
- wbs510_leds_gpio);
-
- cpe_setup(mac);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init cpe210_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe210_v2_leds_gpio),
- cpe210_v2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CPE510_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cpe210_v2_gpio_keys),
- cpe210_v2_gpio_keys);
- ath79_register_m25p80(NULL);
- ath79_register_mdio(0, 0x0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_register_eth(0);
- ath79_register_wmac(ee, mac);
-}
-
-static void __init cpe510_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe210_v2_leds_gpio),
- cpe210_v2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CPE510_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cpe510_gpio_keys),
- cpe510_gpio_keys);
-
- ath79_register_m25p80(NULL);
- ath79_register_mdio(1, 0x0);
-
- /* LAN port */
- 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, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_CPE210, "CPE210", "TP-LINK CPE210/220",
- cpe210_setup);
-
-MIPS_MACHINE(ATH79_MACH_CPE210_V2, "CPE210V2", "TP-LINK CPE210 v2",
- cpe210_v2_setup);
-
-MIPS_MACHINE(ATH79_MACH_CPE210_V3, "CPE210V3", "TP-LINK CPE210 v3",
- cpe210_v2_setup);
-
-MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE510/520",
- cpe510_setup);
-
-MIPS_MACHINE(ATH79_MACH_CPE510_V2, "CPE510V2", "TP-LINK CPE510 v2",
- cpe510_v2_setup);
-
-MIPS_MACHINE(ATH79_MACH_WBS210, "WBS210", "TP-LINK WBS210",
- wbs_setup);
-
-MIPS_MACHINE(ATH79_MACH_WBS510, "WBS510", "TP-LINK WBS510",
- wbs_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe870.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe870.c
deleted file mode 100644
index 284cdc71c2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe870.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * YunCore CPE870 board support
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define CPE870_GPIO_LED_LINK1 0
-#define CPE870_GPIO_LED_LINK2 1
-#define CPE870_GPIO_LED_LINK3 2
-#define CPE870_GPIO_LED_LINK4 3
-#define CPE870_GPIO_LED_WLAN 13
-#define CPE870_GPIO_LED_WAN 19
-#define CPE870_GPIO_LED_LAN 20
-
-#define CPE870_GPIO_BTN_RESET 16
-
-#define CPE870_KEYS_POLL_INTERVAL 20
-#define CPE870_KEYS_DEBOUNCE_INTERVAL (3 * CPE870_KEYS_POLL_INTERVAL)
-
-static struct gpio_led cpe870_leds_gpio[] __initdata = {
- {
- .name = "cpe870:green:lan",
- .gpio = CPE870_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:wan",
- .gpio = CPE870_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:wlan",
- .gpio = CPE870_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:link1",
- .gpio = CPE870_GPIO_LED_LINK1,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:link2",
- .gpio = CPE870_GPIO_LED_LINK2,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:link3",
- .gpio = CPE870_GPIO_LED_LINK3,
- .active_low = 1,
- },
- {
- .name = "cpe870:green:link4",
- .gpio = CPE870_GPIO_LED_LINK4,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cpe870_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CPE870_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CPE870_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init cpe870_gpio_setup(void)
-{
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_direction_select(CPE870_GPIO_LED_LINK1, true);
- ath79_gpio_direction_select(CPE870_GPIO_LED_LINK2, true);
- ath79_gpio_direction_select(CPE870_GPIO_LED_LINK3, true);
- ath79_gpio_direction_select(CPE870_GPIO_LED_LINK4, true);
-
- /* Mute LEDs on boot */
- gpio_set_value(CPE870_GPIO_LED_LAN, 1);
- gpio_set_value(CPE870_GPIO_LED_WAN, 1);
- gpio_set_value(CPE870_GPIO_LED_LINK1, 1);
- gpio_set_value(CPE870_GPIO_LED_LINK2, 1);
- gpio_set_value(CPE870_GPIO_LED_LINK3, 1);
- gpio_set_value(CPE870_GPIO_LED_LINK4, 1);
-
- ath79_gpio_output_select(CPE870_GPIO_LED_LINK1, 0);
- ath79_gpio_output_select(CPE870_GPIO_LED_LINK2, 0);
- ath79_gpio_output_select(CPE870_GPIO_LED_LINK3, 0);
- ath79_gpio_output_select(CPE870_GPIO_LED_LINK4, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe870_leds_gpio),
- cpe870_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, CPE870_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cpe870_gpio_keys),
- cpe870_gpio_keys);
-}
-
-static void __init cpe870_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- cpe870_gpio_setup();
-
- ath79_register_mdio(1, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(4);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- 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, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_CPE870, "CPE870", "YunCore CPE870", cpe870_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cr3000.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cr3000.c
deleted file mode 100644
index 235b0ec769..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cr3000.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * PowerCloud Systems CR3000 support
- *
- * Copyright (c) 2011 Qualcomm Atheros
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2012-2013 PowerCloud Systems
- * Copyright (c) 2015 Daniel Dickinson <openwrt@daniel.thecshore.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/gpio.h>
-#include <linux/phy.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "machtypes.h"
-
-#define CR3000_GPIO_LED_WLAN_2G 13
-#define CR3000_GPIO_LED_POWER_AMBER 15
-#define CR3000_GPIO_LED_WAN 18
-#define CR3000_GPIO_LED_LAN1 19
-#define CR3000_GPIO_LED_LAN2 20
-#define CR3000_GPIO_LED_LAN3 21
-#define CR3000_GPIO_LED_LAN4 22
-
-#define CR3000_GPIO_BTN_WPS 16
-#define CR3000_GPIO_BTN_RESET 17
-
-#define CR3000_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CR3000_KEYS_DEBOUNCE_INTERVAL (3 * CR3000_KEYS_POLL_INTERVAL)
-
-#define CR3000_MAC0_OFFSET 0
-#define CR3000_MAC1_OFFSET 6
-#define CR3000_WMAC_CALDATA_OFFSET 0x1000
-#define CR3000_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led cr3000_leds_gpio[] __initdata = {
- {
- .name = "pcs:amber:power",
- .gpio = CR3000_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:wlan",
- .gpio = CR3000_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:wan",
- .gpio = CR3000_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:lan1",
- .gpio = CR3000_GPIO_LED_LAN1,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:lan2",
- .gpio = CR3000_GPIO_LED_LAN2,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:lan3",
- .gpio = CR3000_GPIO_LED_LAN3,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:lan4",
- .gpio = CR3000_GPIO_LED_LAN4,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cr3000_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = CR3000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CR3000_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = CR3000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CR3000_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init cr3000_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cr3000_leds_gpio),
- cr3000_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, CR3000_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cr3000_gpio_keys),
- cr3000_gpio_keys);
-
- /* WLAN 2GHz onboard */
- ath79_register_wmac(art + CR3000_WMAC_CALDATA_OFFSET, art + CR3000_WMAC_MAC_OFFSET);
-
- /* FE Lan on first 4-ports of internal switch and attached to GMAC1
- * WAN Fast Ethernet interface attached to GMAC0
- * Could be configured as a 5-port switch, but we use
- * the SoC capabilities to attach port 5 to a separate PHY/MAC
- * theoretically this leaves future possibility of using SoC
- * acceleration/offloading.
- */
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- /* GMAC0 attached to PHY4 (port 5 of the internal switch) */
- ath79_switch_data.phy4_mii_en = 1;
- /* For switch carrier ignore port 5 (wan) */
- ath79_switch_data.phy_poll_mask = 0x1;
-
- /* Register MII bus */
- ath79_register_mdio(1, 0x0);
-
- /* GMAC0 attached to PHY4 (port 5 of the internal switch) */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0x1;
-
- /* LAN */
- ath79_init_mac(ath79_eth1_data.mac_addr, art + CR3000_MAC0_OFFSET, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- /* Wan */
- ath79_init_mac(ath79_eth0_data.mac_addr, art + CR3000_MAC0_OFFSET, 1);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_CR3000, "CR3000", "PowerCloud Systems CR3000",
- cr3000_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cr5000.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cr5000.c
deleted file mode 100644
index 7c41e7fbc0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cr5000.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * PowerCloud Systems CR5000 support
- *
- * Copyright (c) 2011 Qualcomm Atheros
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2012-2013 PowerCloud Systems
- * Copyright (c) 2015 Daniel Dickinson <openwrt@daniel.thecshore.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/gpio.h>
-#include <linux/pci.h>
-#include <linux/phy.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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 CR5000_GPIO_LED_WLAN_2G 14
-#define CR5000_GPIO_LED_WPS 12
-#define CR5000_GPIO_LED_POWER_AMBER 4
-/* GPIO2 has to have JTAG disabled as it is also to
- * power led
- */
-#define CR5000_GPIO_LED_POWER_ENABLE 2
-#define CR5000_GPIO_BTN_WPS 16
-#define CR5000_GPIO_BTN_RESET 17
-
-#define CR5000_KEYS_POLL_INTERVAL 20 /* msecs */
-#define CR5000_KEYS_DEBOUNCE_INTERVAL (3 * CR5000_KEYS_POLL_INTERVAL)
-
-#define CR5000_MAC0_OFFSET 0
-#define CR5000_WMAC_CALDATA_OFFSET 0x1000
-#define CR5000_WMAC_MAC_OFFSET 0x1002
-#define CR5000_PCIE_CALDATA_OFFSET 0x5000
-#define CR5000_PCIE_WMAC_OFFSET 0x5002
-
-static struct gpio_led cr5000_leds_gpio[] __initdata = {
- {
- .name = "pcs:amber:power",
- .gpio = CR5000_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "pcs:white:wps",
- .gpio = CR5000_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "pcs:blue:wlan",
- .gpio = CR5000_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button cr5000_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = CR5000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CR5000_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = CR5000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = CR5000_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg cr5000_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg cr5000_ar8327_led_cfg = {
- .led_ctrl0 = 0xcc35cc35,
- .led_ctrl1 = 0xca35ca35,
- .led_ctrl2 = 0xc935c935,
- .led_ctrl3 = 0x03ffff00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data cr5000_ar8327_data = {
- .pad0_cfg = &cr5000_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &cr5000_ar8327_led_cfg,
-};
-
-static struct mdio_board_info cr5000_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &cr5000_ar8327_data,
- },
-};
-
-static void __init cr5000_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- struct ath9k_platform_data *pdata;
-
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
- gpio_request_one(CR5000_GPIO_LED_POWER_ENABLE,
- GPIOF_OUT_INIT_LOW, "Power LED enable");
- ath79_gpio_output_select(CR5000_GPIO_LED_POWER_AMBER, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(CR5000_GPIO_LED_WLAN_2G, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(CR5000_GPIO_LED_WPS, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cr5000_leds_gpio),
- cr5000_leds_gpio);
- ath79_register_gpio_keys_polled(-1, CR5000_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(cr5000_gpio_keys),
- cr5000_gpio_keys);
- ath79_register_usb();
- ath79_register_wmac(art + CR5000_WMAC_CALDATA_OFFSET, art + CR5000_WMAC_MAC_OFFSET);
- ap91_pci_init(NULL, art + CR5000_PCIE_WMAC_OFFSET);
- pdata = ap9x_pci_get_wmac_data(0);
- if (pdata)
- pdata->use_eeprom = true;
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + CR5000_MAC0_OFFSET, 0);
-
- mdiobus_register_board_info(cr5000_mdio0_info,
- ARRAY_SIZE(cr5000_mdio0_info));
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_CR5000, "CR5000", "PowerCloud Systems CR5000",
- cr5000_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-1330-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-1330-a1.c
deleted file mode 100644
index 9c50bc7e9b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-1330-a1.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * D-Link DAP-1330
- *
- * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
- * Copyright (c) 2017 Nicolò Veronese <nicveronese@gmail.com>
- * Copyright (c) 2017 Federico Cappon <dududede371@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/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"
-#include "nvram.h"
-
-#include <linux/kernel.h>
-#include <linux/vmalloc.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/string.h>
-
-#define DAP_1330_GPIO_LED_GREEN_POWER 13
-#define DAP_1330_GPIO_LED_RED_POWER 3
-#define DAP_1330_GPIO_LED_GREEN_WIFI 14
-#define DAP_1330_GPIO_LED_RED_WIFI 11
-#define DAP_1330_GPIO_LED_SIGNAL1 15
-#define DAP_1330_GPIO_LED_SIGNAL2 16
-
-#define DAP_1330_GPIO_BTN_WPS 2
-#define DAP_1330_GPIO_BTN_RESET 17
-
-#define DAP_1330_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DAP_1330_KEYS_DEBOUNCE_INTERVAL (3 * DAP_1330_KEYS_POLL_INTERVAL)
-
-#define DAP1330_MAC_ADDR 0x1f020001
-
-#define DAP1330_WMAC_CALDATA_ADDR 0x1f010000
-#define DAP_1330_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led dap_1330_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DAP_1330_GPIO_LED_GREEN_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:red:power",
- .gpio = DAP_1330_GPIO_LED_RED_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:green:wifi",
- .gpio = DAP_1330_GPIO_LED_GREEN_WIFI,
- .active_low = 1,
- },
- {
- .name = "d-link:red:wifi",
- .gpio = DAP_1330_GPIO_LED_RED_WIFI,
- .active_low = 1,
- },
- {
- .name = "d-link:green:signal1",
- .gpio = DAP_1330_GPIO_LED_SIGNAL1,
- .active_low = 1,
- },
- {
- .name = "d-link:green:signal2",
- .gpio = DAP_1330_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dap_1330_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DAP_1330_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DAP_1330_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DAP_1330_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DAP_1330_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init dap_1330_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(DAP1330_WMAC_CALDATA_ADDR);
- u8 *mac_ptr = (u8 *) KSEG1ADDR(DAP1330_MAC_ADDR);
- u8 mac[ETH_ALEN];
-
- ath79_parse_ascii_mac((char *) mac_ptr, mac);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dap_1330_leds_gpio),
- dap_1330_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DAP_1330_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dap_1330_gpio_keys),
- dap_1330_gpio_keys);
-
- ath79_register_wmac(art + DAP_1330_WMAC_CALDATA_OFFSET, mac);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_DAP_1330_A1, "DAP-1330-A1",
- "D-Link DAP-1330 Rev. A1", dap_1330_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-2695-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-2695-a1.c
deleted file mode 100644
index 2577dbffae..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dap-2695-a1.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * D-Link DAP-2695 rev. A1 support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2016 Stijn Tintel <stijn@linux-ipv6.be>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define DAP2695_GPIO_LED_GREEN_POWER 23
-#define DAP2695_GPIO_LED_RED_POWER 14
-#define DAP2695_GPIO_LED_WLAN_2G 13
-
-#define DAP2695_GPIO_BTN_RESET 17
-
-#define DAP2695_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DAP2695_KEYS_DEBOUNCE_INTERVAL (3 * DAP2695_KEYS_POLL_INTERVAL)
-
-#define DAP2695_NVRAM_ADDR 0x1f040000
-#define DAP2695_NVRAM_SIZE 0x10000
-
-#define DAP2695_MAC0_OFFSET 1
-#define DAP2695_MAC1_OFFSET 2
-#define DAP2695_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led dap2695_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DAP2695_GPIO_LED_GREEN_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:red:power",
- .gpio = DAP2695_GPIO_LED_RED_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:green:wlan2g",
- .gpio = DAP2695_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dap2695_gpio_keys[] __initdata = {
- {
- .desc = "Soft reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DAP2695_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DAP2695_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg dap2695_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .mac06_exchange_dis = true,
-};
-
-static struct ar8327_pad_cfg dap2695_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data dap2695_ar8327_data = {
- .pad0_cfg = &dap2695_ar8327_pad0_cfg,
- .pad6_cfg = &dap2695_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info dap2695_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dap2695_ar8327_data,
- },
-};
-
-static struct flash_platform_data dap2695_flash_data = {
- .type = "mx25l12805d",
-};
-
-static void dap2695_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(DAP2695_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, DAP2695_NVRAM_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init dap2695_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac0[ETH_ALEN], mac1[ETH_ALEN], wmac0[ETH_ALEN];
-
- dap2695_get_mac("lanmac=", mac0);
- dap2695_get_mac("wanmac=", mac1);
- dap2695_get_mac("wlanmac=", wmac0);
-
- ath79_register_m25p80(&dap2695_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dap2695_leds_gpio),
- dap2695_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DAP2695_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dap2695_gpio_keys),
- dap2695_gpio_keys);
-
- ath79_register_wmac(art + DAP2695_WMAC_CALDATA_OFFSET, wmac0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(dap2695_mdio0_info,
- ARRAY_SIZE(dap2695_mdio0_info));
-
- /* GMAC0 is connected to the RGMII interface */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, DAP2695_MAC0_OFFSET);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac1, DAP2695_MAC1_OFFSET);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_DAP_2695_A1, "DAP-2695-A1",
- "D-Link DAP-2695 rev. A1",
- dap2695_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dgl-5500-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dgl-5500-a1.c
deleted file mode 100644
index f9f3f9e60d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dgl-5500-a1.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * D-Link DGL-5500 board support
- *
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define DGL_5500_A1_GPIO_LED_POWER_ORANGE 14
-#define DGL_5500_A1_GPIO_LED_POWER_GREEN 19
-#define DGL_5500_A1_GPIO_LED_PLANET_GREEN 22
-#define DGL_5500_A1_GPIO_LED_PLANET_ORANGE 23
-
-#define DGL_5500_A1_GPIO_BTN_WPS 16
-#define DGL_5500_A1_GPIO_BTN_RESET 17
-
-#define DGL_5500_A1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DGL_5500_A1_KEYS_DEBOUNCE_INTERVAL \
- (3 * DGL_5500_A1_KEYS_POLL_INTERVAL)
-
-#define DGL_5500_A1_WMAC_CALDATA_OFFSET 0x1000
-
-#define DGL_5500_A1_LAN_MAC_OFFSET 0x04
-#define DGL_5500_A1_WAN_MAC_OFFSET 0x16
-
-static struct gpio_led dgl_5500_a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DGL_5500_A1_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "d-link:orange:power",
- .gpio = DGL_5500_A1_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- },
- {
- .name = "d-link:green:planet",
- .gpio = DGL_5500_A1_GPIO_LED_PLANET_GREEN,
- .active_low = 1,
- },
- {
- .name = "d-link:orange:planet",
- .gpio = DGL_5500_A1_GPIO_LED_PLANET_ORANGE,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dgl_5500_a1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DGL_5500_A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DGL_5500_A1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DGL_5500_A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DGL_5500_A1_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg dgl_5500_a1_ar8327_pad0_cfg = {
- /* Use the SGMII interface for the GMAC0 of the AR8327 switch */
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data dgl_5500_a1_ar8327_data = {
- .pad0_cfg = &dgl_5500_a1_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info dgl_5500_a1_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dgl_5500_a1_ar8327_data,
- },
-};
-
-static void __init dgl_5500_a1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1ffe0000);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 lan_mac[ETH_ALEN];
-
- ath79_parse_ascii_mac(mac + DGL_5500_A1_LAN_MAC_OFFSET, lan_mac);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dgl_5500_a1_leds_gpio),
- dgl_5500_a1_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DGL_5500_A1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dgl_5500_a1_gpio_keys),
- dgl_5500_a1_gpio_keys);
-
- ath79_register_wmac(art + DGL_5500_A1_WMAC_CALDATA_OFFSET, lan_mac);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(dgl_5500_a1_mdio0_info,
- ARRAY_SIZE(dgl_5500_a1_mdio0_info));
-
- ath79_init_mac(ath79_eth1_data.mac_addr, lan_mac, 0);
-
- /* GMAC1 is connected to an AR8327N switch via the SMGII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.phy_mask = BIT(0);
- ath79_eth1_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_register_eth(1);
-
- ath79_register_usb();
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_DGL_5500_A1, "DGL-5500-A1", "D-Link DGL-5500 rev. A1",
- dgl_5500_a1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dhp-1565-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dhp-1565-a1.c
deleted file mode 100644
index 275d2a29a0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dhp-1565-a1.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * D-Link DHP-1565 rev. A1 board support
- *
- * Copyright (C) 2014 Jacek Kikiewicz
- *
- * 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/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 DHP1565A1_GPIO_LED_BLUE_USB 11
-#define DHP1565A1_GPIO_LED_AMBER_POWER 14
-#define DHP1565A1_GPIO_LED_BLUE_POWER 22
-#define DHP1565A1_GPIO_LED_BLUE_WPS 15
-#define DHP1565A1_GPIO_LED_AMBER_PLANET 19
-#define DHP1565A1_GPIO_LED_BLUE_PLANET 18
-#define DHP1565A1_GPIO_LED_WLAN_2G 13
-
-#define DHP1565A1_GPIO_WAN_LED_ENABLE 20
-
-#define DHP1565A1_GPIO_BTN_RESET 17
-#define DHP1565A1_GPIO_BTN_WPS 16
-
-#define DHP1565A1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DHP1565A1_KEYS_DEBOUNCE_INTERVAL (3 * DHP1565A1_KEYS_POLL_INTERVAL)
-
-#define DHP1565A1_MAC0_OFFSET 0xFFA0
-#define DHP1565A1_MAC1_OFFSET 0xFFB4
-#define DHP1565A1_WMAC0_OFFSET 0x5
-#define DHP1565A1_WMAC_CALDATA_OFFSET 0x1000
-#define DHP1565A1_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led dhp1565a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:amber:power",
- .gpio = DHP1565A1_GPIO_LED_AMBER_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:green:power",
- .gpio = DHP1565A1_GPIO_LED_BLUE_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:amber:planet",
- .gpio = DHP1565A1_GPIO_LED_AMBER_PLANET,
- .active_low = 1,
- },
- {
- .name = "d-link:green:planet",
- .gpio = DHP1565A1_GPIO_LED_BLUE_PLANET,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dhp1565a1_gpio_keys[] __initdata = {
- {
- .desc = "Soft reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DHP1565A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DHP1565A1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DHP1565A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DHP1565A1_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg dhp1565a1_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data dhp1565a1_ar8327_data = {
- .pad0_cfg = &dhp1565a1_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info dhp1565a1_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dhp1565a1_ar8327_data,
- },
-};
-
-static void __init dhp1565a1_generic_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1ffe0000);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac0[ETH_ALEN], mac1[ETH_ALEN];
- u8 wmac0[ETH_ALEN];
-
- ath79_parse_ascii_mac(mac + DHP1565A1_MAC0_OFFSET, mac0);
- ath79_parse_ascii_mac(mac + DHP1565A1_MAC1_OFFSET, mac1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_gpio_keys_polled(-1, DHP1565A1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dhp1565a1_gpio_keys),
- dhp1565a1_gpio_keys);
-
- ath79_init_mac(wmac0, mac0, 0);
- ath79_register_wmac(art + DHP1565A1_WMAC_CALDATA_OFFSET, wmac0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(dhp1565a1_mdio0_info,
- ARRAY_SIZE(dhp1565a1_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 1);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- ath79_register_usb();
-}
-
-static void __init dhp1565a1_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dhp1565a1_leds_gpio),
- dhp1565a1_leds_gpio);
-
- dhp1565a1_generic_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_DHP_1565_A1, "DHP-1565-A1",
- "D-Link DHP-1565 rev. A1",
- dhp1565a1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-505-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-505-a1.c
deleted file mode 100644
index 1367b64a8f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-505-a1.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * DLink DIR-505 A1 board support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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 DIR_505A1_GPIO_BTN_WPS 11 /* verify */
-#define DIR_505A1_GPIO_BTN_RESET 12 /* verify */
-
-#define DIR_505A1_GPIO_LED_RED 26 /* unused, fyi */
-#define DIR_505A1_GPIO_LED_GREEN 27
-
-#define DIR_505A1_GPIO_WAN_LED_ENABLE 1
-
-#define DIR_505A1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR_505A1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_505A1_KEYS_POLL_INTERVAL)
-
-#define DIR_505A1_ART_ADDRESS 0x1f010000
-#define DIR_505A1_CALDATA_OFFSET 0x1000
-
-#define DIR_505A1_MAC_PART_ADDRESS 0x1f020000
-#define DIR_505A1_LAN_MAC_OFFSET 0x04
-#define DIR_505A1_WAN_MAC_OFFSET 0x16
-
-static struct gpio_led dir_505_a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DIR_505A1_GPIO_LED_GREEN,
- .active_low = 1,
- }, {
- .name = "d-link:red:status",
- .gpio = DIR_505A1_GPIO_LED_RED,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dir_505_a1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR_505A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_505A1_GPIO_BTN_RESET,
- .active_low = 0,
- }, {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR_505A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_505A1_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init dir_505_a1_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(DIR_505A1_ART_ADDRESS);
- u8 *mac = (u8 *) KSEG1ADDR(DIR_505A1_MAC_PART_ADDRESS);
- u8 lan_mac[ETH_ALEN];
- u8 wan_mac[ETH_ALEN];
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- gpio_request_one(DIR_505A1_GPIO_WAN_LED_ENABLE,
- GPIOF_OUT_INIT_LOW, "WAN LED enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_505_a1_leds_gpio),
- dir_505_a1_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, DIR_505A1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir_505_a1_gpio_keys),
- dir_505_a1_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_usb();
-
- ath79_parse_ascii_mac(mac + DIR_505A1_LAN_MAC_OFFSET, lan_mac);
- ath79_parse_ascii_mac(mac + DIR_505A1_WAN_MAC_OFFSET, wan_mac);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, wan_mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, lan_mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + DIR_505A1_CALDATA_OFFSET, lan_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_505_A1, "DIR-505-A1",
- "D-Link DIR-505 rev. A1", dir_505_a1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
deleted file mode 100644
index 5e6134de7a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * D-Link DIR-600 rev. A1 board support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2012 Vadim Girlin <vadimgirlin@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 <asm/mach-ath79/ath79.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 "machtypes.h"
-#include "nvram.h"
-
-#define DIR_600_A1_GPIO_LED_WPS 0
-#define DIR_600_A1_GPIO_LED_POWER_AMBER 1
-#define DIR_600_A1_GPIO_LED_POWER_GREEN 6
-#define DIR_600_A1_GPIO_LED_LAN1 13
-#define DIR_600_A1_GPIO_LED_LAN2 14
-#define DIR_600_A1_GPIO_LED_LAN3 15
-#define DIR_600_A1_GPIO_LED_LAN4 16
-#define DIR_600_A1_GPIO_LED_WAN_AMBER 7
-#define DIR_600_A1_GPIO_LED_WAN_GREEN 17
-
-#define DIR_600_A1_GPIO_BTN_RESET 8
-#define DIR_600_A1_GPIO_BTN_WPS 12
-
-#define DIR_600_A1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR_600_A1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_600_A1_KEYS_POLL_INTERVAL)
-
-#define DIR_600_A1_NVRAM_ADDR 0x1f030000
-#define DIR_600_A1_NVRAM_SIZE 0x10000
-
-static struct gpio_led dir_600_a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DIR_600_A1_GPIO_LED_POWER_GREEN,
- }, {
- .name = "d-link:amber:power",
- .gpio = DIR_600_A1_GPIO_LED_POWER_AMBER,
- }, {
- .name = "d-link:amber:wan",
- .gpio = DIR_600_A1_GPIO_LED_WAN_AMBER,
- }, {
- .name = "d-link:green:wan",
- .gpio = DIR_600_A1_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "d-link:green:lan1",
- .gpio = DIR_600_A1_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "d-link:green:lan2",
- .gpio = DIR_600_A1_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "d-link:green:lan3",
- .gpio = DIR_600_A1_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "d-link:green:lan4",
- .gpio = DIR_600_A1_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "d-link:blue:wps",
- .gpio = DIR_600_A1_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dir_600_a1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR_600_A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_600_A1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR_600_A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_600_A1_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init dir_600_a1_setup(void)
-{
- const char *nvram = (char *) KSEG1ADDR(DIR_600_A1_NVRAM_ADDR);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac_buff[6];
- u8 *mac = NULL;
-
- if (ath79_nvram_parse_mac_addr(nvram, DIR_600_A1_NVRAM_SIZE,
- "lan_mac=", mac_buff) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac_buff, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac_buff, 1);
- mac = mac_buff;
- }
-
- ath79_register_m25p80(NULL);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_600_a1_leds_gpio),
- dir_600_a1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DIR_600_A1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir_600_a1_gpio_keys),
- dir_600_a1_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- ap91_pci_init(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_600_A1, "DIR-600-A1", "D-Link DIR-600 rev. A1",
- dir_600_a1_setup);
-
-MIPS_MACHINE(ATH79_MACH_EBR_2310_C1, "EBR-2310-C1", "D-Link EBR-2310 rev. C1",
- dir_600_a1_setup);
-
-static void __init dir_615_e1_setup(void)
-{
- dir_600_a1_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_615_E1, "DIR-615-E1", "D-Link DIR-615 rev. E1",
- dir_615_e1_setup);
-
-static void __init dir_615_e4_setup(void)
-{
- dir_600_a1_setup();
- ap9x_pci_setup_wmac_led_pin(0, 1);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_615_E4, "DIR-615-E4", "D-Link DIR-615 rev. E4",
- dir_615_e4_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-c1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-c1.c
deleted file mode 100644
index e55a43f9c7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-c1.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * D-Link DIR-615 rev C1 board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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"
-#include "nvram.h"
-
-#define DIR_615C1_GPIO_LED_ORANGE_STATUS 1 /* ORANGE:STATUS:TRICOLOR */
-#define DIR_615C1_GPIO_LED_BLUE_WPS 3 /* BLUE:WPS */
-#define DIR_615C1_GPIO_LED_GREEN_WAN 4 /* GREEN:WAN:TRICOLOR */
-#define DIR_615C1_GPIO_LED_GREEN_WANCPU 5 /* GREEN:WAN:CPU:TRICOLOR */
-#define DIR_615C1_GPIO_LED_GREEN_WLAN 6 /* GREEN:WLAN */
-#define DIR_615C1_GPIO_LED_GREEN_STATUS 14 /* GREEN:STATUS:TRICOLOR */
-#define DIR_615C1_GPIO_LED_ORANGE_WAN 15 /* ORANGE:WAN:TRICOLOR */
-
-/* buttons may need refinement */
-
-#define DIR_615C1_GPIO_BTN_WPS 12
-#define DIR_615C1_GPIO_BTN_RESET 21
-
-#define DIR_615C1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR_615C1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_615C1_KEYS_POLL_INTERVAL)
-
-#define DIR_615C1_CONFIG_ADDR 0x1f020000
-#define DIR_615C1_CONFIG_SIZE 0x10000
-
-#define DIR_615C1_WLAN_MAC_ADDR 0x1f3fffb4
-
-static struct gpio_led dir_615c1_leds_gpio[] __initdata = {
- {
- .name = "d-link:orange:status",
- .gpio = DIR_615C1_GPIO_LED_ORANGE_STATUS,
- .active_low = 1,
- }, {
- .name = "d-link:blue:wps",
- .gpio = DIR_615C1_GPIO_LED_BLUE_WPS,
- .active_low = 1,
- }, {
- .name = "d-link:green:wan",
- .gpio = DIR_615C1_GPIO_LED_GREEN_WAN,
- .active_low = 1,
- }, {
- .name = "d-link:green:wancpu",
- .gpio = DIR_615C1_GPIO_LED_GREEN_WANCPU,
- .active_low = 1,
- }, {
- .name = "d-link:green:wlan",
- .gpio = DIR_615C1_GPIO_LED_GREEN_WLAN,
- .active_low = 1,
- }, {
- .name = "d-link:green:status",
- .gpio = DIR_615C1_GPIO_LED_GREEN_STATUS,
- .active_low = 1,
- }, {
- .name = "d-link:orange:wan",
- .gpio = DIR_615C1_GPIO_LED_ORANGE_WAN,
- .active_low = 1,
- }
-
-};
-
-static struct gpio_keys_button dir_615c1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR_615C1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_615C1_GPIO_BTN_RESET,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR_615C1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_615C1_GPIO_BTN_WPS,
- }
-};
-
-#define DIR_615C1_LAN_PHYMASK BIT(0)
-#define DIR_615C1_WAN_PHYMASK BIT(4)
-#define DIR_615C1_MDIO_MASK (~(DIR_615C1_LAN_PHYMASK | \
- DIR_615C1_WAN_PHYMASK))
-
-static void __init dir_615c1_setup(void)
-{
- const char *config = (char *) KSEG1ADDR(DIR_615C1_CONFIG_ADDR);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[ETH_ALEN], wlan_mac[ETH_ALEN];
-
- if (ath79_nvram_parse_mac_addr(config, DIR_615C1_CONFIG_SIZE,
- "lan_mac=", mac) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- }
-
- ath79_parse_ascii_mac((char *) KSEG1ADDR(DIR_615C1_WLAN_MAC_ADDR), wlan_mac);
-
- ath79_register_mdio(0, DIR_615C1_MDIO_MASK);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.phy_mask = DIR_615C1_LAN_PHYMASK;
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = DIR_615C1_WAN_PHYMASK;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615c1_leds_gpio),
- dir_615c1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DIR_615C1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir_615c1_gpio_keys),
- dir_615c1_gpio_keys);
-
- ath79_register_wmac(eeprom, wlan_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_615_C1, "DIR-615-C1", "D-Link DIR-615 rev. C1",
- dir_615c1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c
deleted file mode 100644
index 64fe438dcb..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * D-Link DIR-615 rev. I1 board support
- * Copyright (C) 2013-2015 Jaehoon You <teslamint@gmail.com>
- *
- * based on the DIR-600 rev. A1 board support code
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2012 Vadim Girlin <vadimgirlin@gmail.com>
- *
- * based on the TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support code
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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 DIR_615_I1_GPIO_LED_WPS 15
-#define DIR_615_I1_GPIO_LED_POWER_AMBER 14
-#define DIR_615_I1_GPIO_LED_POWER_GREEN 4
-#define DIR_615_I1_GPIO_LED_WAN_AMBER 22
-#define DIR_615_I1_GPIO_LED_WAN_GREEN 12
-#define DIR_615_I1_GPIO_LED_WLAN_GREEN 13
-
-#define DIR_615_I1_GPIO_BTN_WPS 16
-#define DIR_615_I1_GPIO_BTN_RESET 17
-
-#define DIR_615_I1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR_615_I1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_615_I1_KEYS_POLL_INTERVAL)
-
-#define DIR_615_I1_LAN_PHYMASK BIT(0)
-#define DIR_615_I1_WAN_PHYMASK BIT(4)
-#define DIR_615_I1_WLAN_MAC_ADDR 0x1fffffb4
-
-static struct gpio_led dir_615_i1_leds_gpio[] __initdata = {
- {
- .name = "d-link:green:power",
- .gpio = DIR_615_I1_GPIO_LED_POWER_GREEN,
- }, {
- .name = "d-link:amber:power",
- .gpio = DIR_615_I1_GPIO_LED_POWER_AMBER,
- }, {
- .name = "d-link:amber:wan",
- .gpio = DIR_615_I1_GPIO_LED_WAN_AMBER,
- }, {
- .name = "d-link:green:wan",
- .gpio = DIR_615_I1_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "d-link:green:wlan",
- .gpio = DIR_615_I1_GPIO_LED_WLAN_GREEN,
- .active_low = 1,
- }, {
- .name = "d-link:blue:wps",
- .gpio = DIR_615_I1_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dir_615_i1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_615_I1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR_615_I1_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init dir_615_i1_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[ETH_ALEN];
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, ~(DIR_615_I1_WAN_PHYMASK));
-
- ath79_parse_ascii_mac((char *) KSEG1ADDR(DIR_615_I1_WLAN_MAC_ADDR), mac);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = DIR_615_I1_WAN_PHYMASK;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_mask = DIR_615_I1_LAN_PHYMASK;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- /* Disable JTAG, enabling GPIOs 0-3 */
- /* Configure OBS4 line, for GPIO 4*/
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615_i1_leds_gpio),
- dir_615_i1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DIR_615_I1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir_615_i1_gpio_keys),
- dir_615_i1_gpio_keys);
-
- ath79_register_wmac(eeprom, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_615_I1, "DIR-615-I1", "D-Link DIR-615 rev. I1",
- dir_615_i1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-b1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-b1.c
deleted file mode 100644
index 9b82990b13..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-b1.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * D-Link DIR-825 rev. B1 board support
- *
- * Copyright (C) 2009-2011 Lukas Kuna, Evkanet, s.r.o.
- *
- * based on mach-wndr3700.c
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-#include <linux/rtl8366.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define DIR825B1_GPIO_LED_BLUE_USB 0
-#define DIR825B1_GPIO_LED_ORANGE_POWER 1
-#define DIR825B1_GPIO_LED_BLUE_POWER 2
-#define DIR825B1_GPIO_LED_BLUE_WPS 4
-#define DIR825B1_GPIO_LED_ORANGE_PLANET 6
-#define DIR825B1_GPIO_LED_BLUE_PLANET 11
-
-#define DIR825B1_GPIO_BTN_RESET 3
-#define DIR825B1_GPIO_BTN_WPS 8
-
-#define DIR825B1_GPIO_RTL8366_SDA 5
-#define DIR825B1_GPIO_RTL8366_SCK 7
-
-#define DIR825B1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR825B1_KEYS_DEBOUNCE_INTERVAL (3 * DIR825B1_KEYS_POLL_INTERVAL)
-
-#define DIR825B1_CAL0_OFFSET 0x1000
-#define DIR825B1_CAL1_OFFSET 0x5000
-#define DIR825B1_MAC0_OFFSET 0xffa0
-#define DIR825B1_MAC1_OFFSET 0xffb4
-
-#define DIR825B1_CAL_LOCATION_0 0x1f660000
-#define DIR825B1_CAL_LOCATION_1 0x1f7f0000
-
-static struct gpio_led dir825b1_leds_gpio[] __initdata = {
- {
- .name = "d-link:blue:usb",
- .gpio = DIR825B1_GPIO_LED_BLUE_USB,
- .active_low = 1,
- }, {
- .name = "d-link:orange:power",
- .gpio = DIR825B1_GPIO_LED_ORANGE_POWER,
- .active_low = 1,
- }, {
- .name = "d-link:blue:power",
- .gpio = DIR825B1_GPIO_LED_BLUE_POWER,
- .active_low = 1,
- }, {
- .name = "d-link:blue:wps",
- .gpio = DIR825B1_GPIO_LED_BLUE_WPS,
- .active_low = 1,
- }, {
- .name = "d-link:orange:planet",
- .gpio = DIR825B1_GPIO_LED_ORANGE_PLANET,
- .active_low = 1,
- }, {
- .name = "d-link:blue:planet",
- .gpio = DIR825B1_GPIO_LED_BLUE_PLANET,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dir825b1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR825B1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR825B1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR825B1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR825B1_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct rtl8366_initval dir825b1_rtl8366s_initvals[] = {
- { .reg = 0x06, .val = 0x0108 },
-};
-
-static struct rtl8366_platform_data dir825b1_rtl8366s_data = {
- .gpio_sda = DIR825B1_GPIO_RTL8366_SDA,
- .gpio_sck = DIR825B1_GPIO_RTL8366_SCK,
- .num_initvals = ARRAY_SIZE(dir825b1_rtl8366s_initvals),
- .initvals = dir825b1_rtl8366s_initvals,
-};
-
-static struct platform_device dir825b1_rtl8366s_device = {
- .name = RTL8366S_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &dir825b1_rtl8366s_data,
- }
-};
-
-static bool __init dir825b1_is_caldata_valid(u8 *p)
-{
- u16 *magic0, *magic1;
-
- magic0 = (u16 *)(p + DIR825B1_CAL0_OFFSET);
- magic1 = (u16 *)(p + DIR825B1_CAL1_OFFSET);
-
- return (*magic0 == 0xa55a && *magic1 == 0xa55a);
-}
-
-static void __init dir825b1_wlan_init(void)
-{
- u8 *caldata;
- u8 mac0[ETH_ALEN], mac1[ETH_ALEN];
- u8 wmac0[ETH_ALEN], wmac1[ETH_ALEN];
-
- caldata = (u8 *) KSEG1ADDR(DIR825B1_CAL_LOCATION_0);
- if (!dir825b1_is_caldata_valid(caldata)) {
- caldata = (u8 *)KSEG1ADDR(DIR825B1_CAL_LOCATION_1);
- if (!dir825b1_is_caldata_valid(caldata)) {
- pr_err("no calibration data found\n");
- return;
- }
- }
-
- ath79_parse_ascii_mac(caldata + DIR825B1_MAC0_OFFSET, mac0);
- ath79_parse_ascii_mac(caldata + DIR825B1_MAC1_OFFSET, mac1);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac1, 0);
- ath79_init_mac(wmac0, mac0, 0);
- ath79_init_mac(wmac1, mac1, 1);
-
- ap9x_pci_setup_wmac_led_pin(0, 5);
- ap9x_pci_setup_wmac_led_pin(1, 5);
-
- ap94_pci_init(caldata + DIR825B1_CAL0_OFFSET, wmac0,
- caldata + DIR825B1_CAL1_OFFSET, wmac1);
-}
-
-static void __init dir825b1_setup(void)
-{
- dir825b1_wlan_init();
-
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.mii_bus_dev = &dir825b1_rtl8366s_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_pll_data.pll_1000 = 0x11110000;
-
- ath79_eth1_data.mii_bus_dev = &dir825b1_rtl8366s_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = 0x10;
- ath79_eth1_pll_data.pll_1000 = 0x11110000;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir825b1_leds_gpio),
- dir825b1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DIR825B1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir825b1_gpio_keys),
- dir825b1_gpio_keys);
-
- ath79_register_usb();
-
- platform_device_register(&dir825b1_rtl8366s_device);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_825_B1, "DIR-825-B1", "D-Link DIR-825 rev. B1",
- dir825b1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-c1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-c1.c
deleted file mode 100644
index 0d586c27e4..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-c1.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * D-Link DIR-825 rev. C1 board support
- *
- * Copyright (C) 2013 Alexander Stadler
- *
- * 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/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 DIR825C1_GPIO_LED_BLUE_USB 11
-#define DIR825C1_GPIO_LED_AMBER_POWER 14
-#define DIR825C1_GPIO_LED_BLUE_POWER 22
-#define DIR825C1_GPIO_LED_BLUE_WPS 15
-#define DIR825C1_GPIO_LED_AMBER_PLANET 19
-#define DIR825C1_GPIO_LED_BLUE_PLANET 18
-#define DIR825C1_GPIO_LED_WLAN_2G 13
-
-#define DIR825C1_GPIO_WAN_LED_ENABLE 20
-
-#define DIR825C1_GPIO_BTN_RESET 17
-#define DIR825C1_GPIO_BTN_WPS 16
-
-#define DIR825C1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DIR825C1_KEYS_DEBOUNCE_INTERVAL (3 * DIR825C1_KEYS_POLL_INTERVAL)
-
-#define DIR825C1_MAC0_OFFSET 0x4
-#define DIR825C1_MAC1_OFFSET 0x18
-#define DIR825C1_WMAC_CALDATA_OFFSET 0x1000
-#define DIR825C1_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led dir825c1_leds_gpio[] __initdata = {
- {
- .name = "d-link:blue:usb",
- .gpio = DIR825C1_GPIO_LED_BLUE_USB,
- .active_low = 1,
- },
- {
- .name = "d-link:amber:power",
- .gpio = DIR825C1_GPIO_LED_AMBER_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:blue:power",
- .gpio = DIR825C1_GPIO_LED_BLUE_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:blue:wps",
- .gpio = DIR825C1_GPIO_LED_BLUE_WPS,
- .active_low = 1,
- },
- {
- .name = "d-link:amber:planet",
- .gpio = DIR825C1_GPIO_LED_AMBER_PLANET,
- .active_low = 1,
- },
- {
- .name = "d-link:blue:wlan2g",
- .gpio = DIR825C1_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_led dir835a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:amber:power",
- .gpio = DIR825C1_GPIO_LED_AMBER_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:green:power",
- .gpio = DIR825C1_GPIO_LED_BLUE_POWER,
- .active_low = 1,
- },
- {
- .name = "d-link:blue:wps",
- .gpio = DIR825C1_GPIO_LED_BLUE_WPS,
- .active_low = 1,
- },
- {
- .name = "d-link:amber:planet",
- .gpio = DIR825C1_GPIO_LED_AMBER_PLANET,
- .active_low = 1,
- },
- {
- .name = "d-link:green:planet",
- .gpio = DIR825C1_GPIO_LED_BLUE_PLANET,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dir825c1_gpio_keys[] __initdata = {
- {
- .desc = "Soft reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR825C1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR825C1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR825C1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR825C1_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg dir825c1_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg dir825c1_ar8327_led_cfg = {
- .led_ctrl0 = 0x00000000,
- .led_ctrl1 = 0xc737c737,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00c30c00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data dir825c1_ar8327_data = {
- .pad0_cfg = &dir825c1_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &dir825c1_ar8327_led_cfg,
-};
-
-static struct mdio_board_info dir825c1_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dir825c1_ar8327_data,
- },
-};
-
-static void __init dir825c1_generic_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1ffe0000);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 mac0[ETH_ALEN], mac1[ETH_ALEN];
- u8 wmac0[ETH_ALEN], wmac1[ETH_ALEN];
-
- ath79_parse_ascii_mac(mac + DIR825C1_MAC0_OFFSET, mac0);
- ath79_parse_ascii_mac(mac + DIR825C1_MAC1_OFFSET, mac1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_gpio_keys_polled(-1, DIR825C1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir825c1_gpio_keys),
- dir825c1_gpio_keys);
-
- ath79_init_mac(wmac0, mac0, 0);
- ath79_register_wmac(art + DIR825C1_WMAC_CALDATA_OFFSET, wmac0);
-
- ath79_init_mac(wmac1, mac1, 1);
- ap91_pci_init(art + DIR825C1_PCIE_CALDATA_OFFSET, wmac1);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(dir825c1_mdio0_info,
- ARRAY_SIZE(dir825c1_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- ath79_register_usb();
-}
-
-static void __init dir825c1_setup(void)
-{
- ath79_gpio_output_select(DIR825C1_GPIO_LED_BLUE_USB,
- AR934X_GPIO_OUT_GPIO);
-
- gpio_request_one(DIR825C1_GPIO_WAN_LED_ENABLE,
- GPIOF_OUT_INIT_LOW, "WAN LED enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir825c1_leds_gpio),
- dir825c1_leds_gpio);
-
- ap9x_pci_setup_wmac_led_pin(0, 0);
-
- dir825c1_generic_setup();
-}
-
-static void __init dir835a1_setup(void)
-{
- dir825c1_ar8327_data.led_cfg = NULL;
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir835a1_leds_gpio),
- dir835a1_leds_gpio);
-
- dir825c1_generic_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_825_C1, "DIR-825-C1",
- "D-Link DIR-825 rev. C1",
- dir825c1_setup);
-
-MIPS_MACHINE(ATH79_MACH_DIR_835_A1, "DIR-835-A1",
- "D-Link DIR-835 rev. A1",
- dir835a1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-869-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-869-a1.c
deleted file mode 100644
index 3841c3d5d5..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-869-a1.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * D-Link DIR-869 A1 support
- *
- * Copyright (C) 2015-2016 P. Wassi <p.wassi at gmx.at>
- * Copyright (C) 2016 Matthias Schiffer <mschiffer@universe-factory.net>
- *
- * Derived from: mach-ubnt-unifiac.c
- *
- * 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/init.h>
-#include <linux/pci.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/ar8216_platform.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-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-
-#define DIR869A1_GPIO_BTN_RESET 1
-#define DIR869A1_GPIO_BTN_WPS 2
-#define DIR869A1_GPIO_SWITCH_MODE 8
-
-#define DIR869A1_GPIO_ENABLE_SWITCH 11
-
-#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)
-
-
-#define DIR869A1_DEVDATA_ADDR 0x1f050000
-#define DIR869A1_DEVDATA_SIZE 0x10000
-
-#define DIR869A1_EEPROM_ADDR 0x1fff0000
-#define DIR869A1_WMAC_CALDATA_OFFSET 0x1000
-#define DIR869A1_PCI_CALDATA_OFFSET 0x5000
-
-
-static struct gpio_led dir869a1_leds_gpio[] __initdata = {
- {
- .name = "d-link:white:status",
- .gpio = DIR869A1_GPIO_LED_WHITE,
- .active_low = 1,
- },
- {
- .name = "d-link:orange:status",
- .gpio = DIR869A1_GPIO_LED_ORANGE,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dir869a1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DIR869A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR869A1_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DIR869A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR869A1_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "mode",
- .type = EV_SW,
- .code = BTN_0,
- .debounce_interval = DIR869A1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DIR869A1_GPIO_SWITCH_MODE,
- .active_low = 0,
- },
-};
-
-
-static struct ar8327_pad_cfg dir869a1_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data dir869a1_ar8327_data = {
- .pad0_cfg = &dir869a1_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-
-static struct mdio_board_info dir869a1_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dir869a1_ar8327_data,
- },
-};
-
-
-static void dir869a1_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(DIR869A1_DEVDATA_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, DIR869A1_DEVDATA_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init dir869a1_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(DIR869A1_EEPROM_ADDR);
- u8 wlan24mac[ETH_ALEN] = {}, wlan5mac[ETH_ALEN] = {};
-
- ath79_register_m25p80(NULL);
-
- gpio_request_one(DIR869A1_GPIO_ENABLE_SWITCH,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "Switch power");
-
- dir869a1_get_mac("lanmac=", ath79_eth0_data.mac_addr);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(0);
-
- mdiobus_register_board_info(dir869a1_mdio0_info,
- ARRAY_SIZE(dir869a1_mdio0_info));
-
- ath79_register_mdio(0, 0);
- ath79_register_eth(0);
-
- dir869a1_get_mac("wlan24mac=", wlan24mac);
- ath79_register_wmac(eeprom + DIR869A1_WMAC_CALDATA_OFFSET, wlan24mac);
-
- dir869a1_get_mac("wlan5mac=", wlan5mac);
- ap91_pci_init(eeprom + DIR869A1_PCI_CALDATA_OFFSET, wlan5mac);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dir869a1_leds_gpio),
- dir869a1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DIR869A1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dir869a1_gpio_keys),
- dir869a1_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_DIR_869_A1, "DIR-869-A1", "D-Link DIR-869 rev. A1",
- dir869a1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-hotspot.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-hotspot.c
deleted file mode 100644
index 3ae46514fc..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-hotspot.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * devolo dLAN Hotspot board support
- *
- * Copyright (C) 2015 Torsten Schnuis <torsten.schnuis@gik.de>
- * Copyright (C) 2015 devolo AG
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define DLAN_HOTSPOT_GPIO_LED_WIFI 0
-
-#define DLAN_HOTSPOT_GPIO_BTN_RESET 11
-#define DLAN_HOTSPOT_GPIO_BTN_PLC_PAIRING 12
-#define DLAN_HOTSPOT_GPIO_BTN_WIFI 21
-
-#define DLAN_HOTSPOT_GPIO_PLC_POWER 22
-#define DLAN_HOTSPOT_GPIO_PLC_RESET 20
-#define DLAN_HOTSPOT_GPIO_PLC_DISABLE_LEDS 18
-
-#define DLAN_HOTSPOT_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DLAN_HOTSPOT_KEYS_DEBOUNCE_INTERVAL (3 * DLAN_HOTSPOT_KEYS_POLL_INTERVAL)
-
-#define DLAN_HOTSPOT_ART_ADDRESS 0x1fff0000
-#define DLAN_HOTSPOT_CALDATA_OFFSET 0x00001000
-#define DLAN_HOTSPOT_MAC_ADDRESS_OFFSET 0x00001002
-
-static struct gpio_led dlan_hotspot_leds_gpio[] __initdata = {
- {
- .name = "devolo:green:wifi",
- .gpio = DLAN_HOTSPOT_GPIO_LED_WIFI,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button dlan_hotspot_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DLAN_HOTSPOT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_HOTSPOT_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "Pairing button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = DLAN_HOTSPOT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_HOTSPOT_GPIO_BTN_PLC_PAIRING,
- .active_low = 0,
- },
- {
- .desc = "WLAN button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DLAN_HOTSPOT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_HOTSPOT_GPIO_BTN_WIFI,
- .active_low = 0,
- }
-};
-
-static void __init dlan_hotspot_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(DLAN_HOTSPOT_ART_ADDRESS);
- u8 *cal = art + DLAN_HOTSPOT_CALDATA_OFFSET;
- u8 *wifi_mac = art + DLAN_HOTSPOT_MAC_ADDRESS_OFFSET;
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dlan_hotspot_leds_gpio),
- dlan_hotspot_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DLAN_HOTSPOT_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dlan_hotspot_gpio_keys),
- dlan_hotspot_gpio_keys);
-
- gpio_request_one(DLAN_HOTSPOT_GPIO_PLC_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "PLC power");
- gpio_request_one(DLAN_HOTSPOT_GPIO_PLC_RESET,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "PLC reset");
- gpio_request_one(DLAN_HOTSPOT_GPIO_PLC_DISABLE_LEDS,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "PLC LEDs");
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, wifi_mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, wifi_mac, 2);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(cal, wifi_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_DLAN_HOTSPOT, "dLAN-Hotspot",
- "dLAN Hotspot", dlan_hotspot_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-1200-ac.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-1200-ac.c
deleted file mode 100644
index 2100a9608d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-1200-ac.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * devolo dLAN pro 500 Wireless+ support
- *
- * Copyright (c) 2013-2015 devolo AG
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/ar8216_platform.h>
-#include <linux/gpio.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-wmac.h"
-#include "machtypes.h"
-
-#define DLAN_PRO_1200_AC_GPIO_DLAN_POWER_ENABLE 13
-#define DLAN_PRO_1200_AC_GPIO_WLAN_POWER_ENABLE 21
-#define DLAN_PRO_1200_AC_GPIO_LED_WLAN 12
-#define DLAN_PRO_1200_AC_GPIO_LED_DLAN 14
-#define DLAN_PRO_1200_AC_GPIO_LED_DLAN_ERR 15
-
-#define DLAN_PRO_1200_AC_GPIO_BTN_WLAN 20
-#define DLAN_PRO_1200_AC_GPIO_BTN_DLAN 22
-#define DLAN_PRO_1200_AC_GPIO_BTN_RESET 4
-#define DLAN_PRO_1200_AC_GPIO_DLAN_IND 17
-#define DLAN_PRO_1200_AC_GPIO_DLAN_ERR_IND 16
-
-#define DLAN_PRO_1200_AC_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DLAN_PRO_1200_AC_KEYS_DEBOUNCE_INTERVAL (3 * DLAN_PRO_1200_AC_KEYS_POLL_INTERVAL)
-
-#define DLAN_PRO_1200_AC_ART_ADDRESS 0x1fff0000
-#define DLAN_PRO_1200_AC_CALDATA_OFFSET 0x1000
-#define DLAN_PRO_1200_AC_WIFIMAC_OFFSET 0x1002
-#define DLAN_PRO_1200_AC_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led dlan_pro_1200_ac_leds_gpio[] __initdata = {
- {
- .name = "devolo:status:wlan",
- .gpio = DLAN_PRO_1200_AC_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "devolo:status:dlan",
- .gpio = DLAN_PRO_1200_AC_GPIO_LED_DLAN,
- .active_low = 1,
- },
- {
- .name = "devolo:error:dlan",
- .gpio = DLAN_PRO_1200_AC_GPIO_LED_DLAN_ERR,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button dlan_pro_1200_ac_gpio_keys[] __initdata = {
- {
- .desc = "dLAN button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = DLAN_PRO_1200_AC_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_1200_AC_GPIO_BTN_DLAN,
- .active_low = 1,
- },
- {
- .desc = "WLAN button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DLAN_PRO_1200_AC_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_1200_AC_GPIO_BTN_WLAN,
- .active_low = 0,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DLAN_PRO_1200_AC_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_1200_AC_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct ar8327_pad_cfg dlan_pro_1200_ac_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = false,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
- .mac06_exchange_dis = true,
-};
-
-static struct ar8327_pad_cfg dlan_pro_1200_ac_ar8327_pad5_cfg = {
- .mode = 0,
- .txclk_delay_en = 0,
- .rxclk_delay_en = 0,
- .txclk_delay_sel = 0,
- .rxclk_delay_sel = 0,
-};
-
-static struct ar8327_platform_data dlan_pro_1200_ac_ar8327_data = {
- .pad0_cfg = &dlan_pro_1200_ac_ar8327_pad0_cfg,
- .pad5_cfg = &dlan_pro_1200_ac_ar8327_pad5_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info dlan_pro_1200_ac_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dlan_pro_1200_ac_ar8327_data,
- },
-};
-
-static void __init dlan_pro_1200_ac_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(DLAN_PRO_1200_AC_ART_ADDRESS);
- u8 *cal = art + DLAN_PRO_1200_AC_CALDATA_OFFSET;
- u8 *wifi_mac = art + DLAN_PRO_1200_AC_WIFIMAC_OFFSET;
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dlan_pro_1200_ac_leds_gpio),
- dlan_pro_1200_ac_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DLAN_PRO_1200_AC_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dlan_pro_1200_ac_gpio_keys),
- dlan_pro_1200_ac_gpio_keys);
-
- /* dLAN power must be enabled from user-space as soon as the boot-from-host daemon is running */
- gpio_request_one(DLAN_PRO_1200_AC_GPIO_DLAN_POWER_ENABLE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "dLAN power");
-
- /* WLAN power is turned on initially to allow the PCI bus scan to succeed */
- gpio_request_one(DLAN_PRO_1200_AC_GPIO_WLAN_POWER_ENABLE,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "WLAN power");
-
- ath79_register_wmac(cal, wifi_mac);
- ap91_pci_init(art + DLAN_PRO_1200_AC_PCIE_CALDATA_OFFSET, NULL);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, wifi_mac, 2);
-
- mdiobus_register_board_info(dlan_pro_1200_ac_mdio0_info,
- ARRAY_SIZE(dlan_pro_1200_ac_mdio0_info));
-
- /* GMAC0 is connected to an AR8337 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x02000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_DLAN_PRO_1200_AC, "dLAN-pro-1200-ac", "devolo dLAN pro 1200+ WiFi ac",
- dlan_pro_1200_ac_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-500-wp.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-500-wp.c
deleted file mode 100644
index 931eafffcb..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-500-wp.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * devolo dLAN pro 500 Wireless+ support
- *
- * Copyright (c) 2013-2015 devolo AG
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/ar8216_platform.h>
-#include <linux/gpio.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 DLAN_PRO_500_WP_GPIO_DLAN_POWER_ENABLE 13
-#define DLAN_PRO_500_WP_GPIO_DLAN_LED_ENABLE 17
-#define DLAN_PRO_500_WP_GPIO_LED_WLAN_5G 11
-#define DLAN_PRO_500_WP_GPIO_LED_WLAN_2G 12
-#define DLAN_PRO_500_WP_GPIO_LED_STATUS 16
-#define DLAN_PRO_500_WP_GPIO_LED_ETH 14
-
-#define DLAN_PRO_500_WP_GPIO_BTN_WPS 20
-#define DLAN_PRO_500_WP_GPIO_BTN_WLAN 22
-#define DLAN_PRO_500_WP_GPIO_BTN_DLAN 21
-#define DLAN_PRO_500_WP_GPIO_BTN_RESET 4
-
-#define DLAN_PRO_500_WP_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DLAN_PRO_500_WP_KEYS_DEBOUNCE_INTERVAL (3 * DLAN_PRO_500_WP_KEYS_POLL_INTERVAL)
-
-#define DLAN_PRO_500_WP_ART_ADDRESS 0x1fff0000
-#define DLAN_PRO_500_WP_CALDATA_OFFSET 0x1000
-#define DLAN_PRO_500_WP_MAC_ADDRESS_OFFSET 0x1002
-#define DLAN_PRO_500_WP_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led dlan_pro_500_wp_leds_gpio[] __initdata = {
- {
- .name = "devolo:green:status",
- .gpio = DLAN_PRO_500_WP_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "devolo:green:eth",
- .gpio = DLAN_PRO_500_WP_GPIO_LED_ETH,
- .active_low = 1,
- },
- {
- .name = "devolo:blue:wlan-5g",
- .gpio = DLAN_PRO_500_WP_GPIO_LED_WLAN_5G,
- .active_low = 1,
- },
- {
- .name = "devolo:green:wlan-2g",
- .gpio = DLAN_PRO_500_WP_GPIO_LED_WLAN_2G,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dlan_pro_500_wp_gpio_keys[] __initdata = {
- {
- .desc = "dLAN button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = DLAN_PRO_500_WP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_500_WP_GPIO_BTN_DLAN,
- .active_low = 0,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DLAN_PRO_500_WP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_500_WP_GPIO_BTN_WPS,
- .active_low = 0,
- },
- {
- .desc = "WLAN button",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = DLAN_PRO_500_WP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_500_WP_GPIO_BTN_WLAN,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DLAN_PRO_500_WP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DLAN_PRO_500_WP_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct ar8327_pad_cfg dlan_pro_500_wp_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_PHY_RGMII,
- .txclk_delay_en = false,
- .rxclk_delay_en = false,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL0,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_led_cfg dlan_pro_500_wp_ar8327_led_cfg = {
- .led_ctrl0 = 0x00000000,
- .led_ctrl1 = 0xc737c737,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00c30c00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data dlan_pro_500_wp_ar8327_data = {
- .pad0_cfg = &dlan_pro_500_wp_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 0,
- .rxpause = 0,
- },
- .led_cfg = &dlan_pro_500_wp_ar8327_led_cfg,
-};
-
-static struct mdio_board_info dlan_pro_500_wp_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dlan_pro_500_wp_ar8327_data,
- },
-};
-
-static void __init dlan_pro_500_wp_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(DLAN_PRO_500_WP_ART_ADDRESS);
- u8 *cal = art + DLAN_PRO_500_WP_CALDATA_OFFSET;
- u8 *wifi_mac = art + DLAN_PRO_500_WP_MAC_ADDRESS_OFFSET;
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dlan_pro_500_wp_leds_gpio),
- dlan_pro_500_wp_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DLAN_PRO_500_WP_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dlan_pro_500_wp_gpio_keys),
- dlan_pro_500_wp_gpio_keys);
-
- gpio_request_one(DLAN_PRO_500_WP_GPIO_DLAN_POWER_ENABLE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "PLC power");
- gpio_request_one(DLAN_PRO_500_WP_GPIO_DLAN_LED_ENABLE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "PLC LEDs");
-
- ath79_register_wmac(cal, wifi_mac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(dlan_pro_500_wp_mdio0_info,
- ARRAY_SIZE(dlan_pro_500_wp_mdio0_info));
-
- /* GMAC0 is connected to a AR7400 PLC in PHY mode */
- ath79_init_mac(ath79_eth0_data.mac_addr, wifi_mac, 2);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_pll_data.pll_1000 = 0x0e000000;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, wifi_mac, 1);
- 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(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_DLAN_PRO_500_WP, "dLAN-pro-500-wp", "devolo dLAN pro 500 Wireless+",
- dlan_pro_500_wp_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-domywifi-dw33d.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-domywifi-dw33d.c
deleted file mode 100644
index ac4aa8eadf..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-domywifi-dw33d.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * DomyWifi DW33D support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/version.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/platform/ar934x_nfc.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define DW33D_GPIO_LED_MMC 4
-#define DW33D_GPIO_LED_WLAN_2G 13
-#define DW33D_GPIO_LED_STATUS 14
-#define DW33D_GPIO_LED_USB 15
-#define DW33D_GPIO_LED_INTERNET 22
-
-#define DW33D_GPIO_BTN_RESET 17
-
-#define DW33D_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DW33D_KEYS_DEBOUNCE_INTERVAL (3 * DW33D_KEYS_POLL_INTERVAL)
-
-#define DW33D_MAC0_OFFSET 0
-#define DW33D_MAC1_OFFSET 6
-#define DW33D_WMAC_OFFSET 12
-#define DW33D_WMAC_CALDATA_OFFSET 0x1000
-#define DW33D_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led dw33d_leds_gpio[] __initdata = {
- {
- .name = "dw33d:blue:status",
- .gpio = DW33D_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "dw33d:blue:mmc",
- .gpio = DW33D_GPIO_LED_MMC,
- .active_low = 1,
- },
- {
- .name = "dw33d:blue:usb",
- .gpio = DW33D_GPIO_LED_USB,
- .active_low = 1,
- },
- {
- .name = "dw33d:blue:wlan-2g",
- .gpio = DW33D_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "dw33d:blue:internet",
- .gpio = DW33D_GPIO_LED_INTERNET,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dw33d_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DW33D_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DW33D_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-/* GMAC6 of the QCA8337 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg dw33d_qca8337_pad6_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC0 of the QCA8337 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg dw33d_qca8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data dw33d_qca8337_data = {
- .pad0_cfg = &dw33d_qca8337_pad0_cfg,
- .pad6_cfg = &dw33d_qca8337_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info dw33d_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dw33d_qca8337_data,
- },
-};
-
-static void __init dw33d_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dw33d_leds_gpio),
- dw33d_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DW33D_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dw33d_gpio_keys),
- dw33d_gpio_keys);
-
- ath79_register_usb();
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
- ath79_register_pci();
-
- ath79_register_wmac(art + DW33D_WMAC_CALDATA_OFFSET, art + DW33D_WMAC_OFFSET);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + DW33D_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + DW33D_MAC1_OFFSET, 0);
-
- mdiobus_register_board_info(dw33d_mdio0_info,
- ARRAY_SIZE(dw33d_mdio0_info));
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected tot eh SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_DOMYWIFI_DW33D, "DW33D",
- "DomyWifi DW33D",
- dw33d_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c
deleted file mode 100644
index 888c9c949f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * 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
- * 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/gpio.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 "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-usb.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#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 DR34X_GPIO_BTN_RESET 16
-
-#define DR344_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DR344_KEYS_DEBOUNCE_INTERVAL (3 * DR344_KEYS_POLL_INTERVAL)
-
-#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 = {
- {
- .name = "dr344:green:lan",
- .gpio = DR344_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "dr344:green:status",
- .gpio = DR34X_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "dr344:green:sig1",
- .gpio = DR34X_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "dr344:green:sig2",
- .gpio = DR34X_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "dr344:green:sig3",
- .gpio = DR34X_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "dr344:green:sig4",
- .gpio = DR34X_GPIO_LED_SIG4,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button dr34x_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DR344_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DR34X_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-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 dr34x_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &dr34x_at803x_data,
- },
-};
-
-static void __init dr34x_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f03f810);
-
- ath79_register_m25p80(NULL);
-
- 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_register_gpio_keys_polled(-1, DR344_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dr34x_gpio_keys),
- dr34x_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + DR34X_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- mdiobus_register_board_info(dr34x_mdio0_info,
- ARRAY_SIZE(dr34x_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* GMAC0 is connected to an AR8035 Gbps PHY */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x02000000;
- 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_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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dr531.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dr531.c
deleted file mode 100644
index b638a9001c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dr531.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Wallys DR531 board support
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@gmail.com>
- *
- * Based on mach-wpj531.c
- *
- * 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-ap9x-pci.h"
-#include "dev-eth.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 DR531_GPIO_BUZZER 4
-#define DR531_GPIO_LED_WAN 11
-#define DR531_GPIO_LED_LAN 14
-#define DR531_GPIO_LED_SIG1 12
-#define DR531_GPIO_LED_SIG2 16
-#define DR531_GPIO_LED_SIG3 15
-#define DR531_GPIO_LED_SIG4 13
-
-#define DR531_GPIO_BTN_RESET 17
-
-#define DR531_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DR531_KEYS_DEBOUNCE_INTERVAL (3 * DR531_KEYS_POLL_INTERVAL)
-
-#define DR531_MAC0_OFFSET 0x0
-#define DR531_MAC1_OFFSET 0x8
-#define DR531_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led dr531_leds_gpio[] __initdata = {
- {
- .name = "dr531:green:wan",
- .gpio = DR531_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "dr531:green:lan",
- .gpio = DR531_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "dr531:green:sig1",
- .gpio = DR531_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "dr531:green:sig2",
- .gpio = DR531_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "dr531:green:sig3",
- .gpio = DR531_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "dr531:green:sig4",
- .gpio = DR531_GPIO_LED_SIG4,
- .active_low = 1,
- },
- {
- .name = "dr531:buzzer",
- .gpio = DR531_GPIO_BUZZER,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button dr531_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DR531_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DR531_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init dr531_gpio_setup(void)
-{
- ath79_gpio_direction_select(DR531_GPIO_BUZZER, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_LAN, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_SIG1, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_SIG2, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_SIG3, true);
- ath79_gpio_direction_select(DR531_GPIO_LED_SIG4, true);
-
- ath79_gpio_output_select(DR531_GPIO_BUZZER, 0);
- ath79_gpio_output_select(DR531_GPIO_LED_WAN, 0);
- ath79_gpio_output_select(DR531_GPIO_LED_LAN, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dr531_leds_gpio),
- dr531_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, DR531_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dr531_gpio_keys),
- dr531_gpio_keys);
-}
-
-static void __init dr531_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f03f810);
-
- ath79_register_m25p80(NULL);
-
- dr531_gpio_setup();
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + DR531_MAC1_OFFSET, 0);
- ath79_register_eth(0);
-
- /* WAN */
- 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.speed = SPEED_1000;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac + DR531_MAC0_OFFSET, 0);
- ath79_register_eth(1);
-
- ath79_register_wmac(art + DR531_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_DR531, "DR531", "Wallys DR531", dr531_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c
deleted file mode 100644
index 95bd6f41a3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * DRAGINO V2 board support, based on Atheros AP121 board support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2012 Elektra Wagenrad <elektra@villagetelco.org>
- * Copyright (C) 2014 Vittorio Gambaletta <openwrt@vittgam.net>
- *
- * 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 <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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define DRAGINO2_GPIO_LED_WLAN 0
-#define DRAGINO2_GPIO_LED_LAN 13
-#define DRAGINO2_GPIO_LED_WAN 17
-
-/*
- * The following GPIO is named "SYS" on newer revisions of the the board.
- * It was previously used to indicate USB activity, even though it was
- * named "Router".
- */
-
-#define DRAGINO2_GPIO_LED_SYS 28
-#define DRAGINO2_GPIO_BTN_JUMPSTART 11
-#define DRAGINO2_GPIO_BTN_RESET 12
-
-#define DRAGINO2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DRAGINO2_KEYS_DEBOUNCE_INTERVAL (3 * DRAGINO2_KEYS_POLL_INTERVAL)
-
-#define DRAGINO2_MAC0_OFFSET 0x0000
-#define DRAGINO2_MAC1_OFFSET 0x0006
-#define DRAGINO2_CALDATA_OFFSET 0x1000
-#define DRAGINO2_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led dragino2_leds_gpio[] __initdata = {
- {
- .name = "dragino2:red:wlan",
- .gpio = DRAGINO2_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "dragino2:red:wan",
- .gpio = DRAGINO2_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "dragino2:red:lan",
- .gpio = DRAGINO2_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "dragino2:red:system",
- .gpio = DRAGINO2_GPIO_LED_SYS,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button dragino2_gpio_keys[] __initdata = {
- {
- .desc = "jumpstart button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DRAGINO2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DRAGINO2_GPIO_BTN_JUMPSTART,
- .active_low = 1,
- },
- {
- .desc = "reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DRAGINO2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DRAGINO2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init dragino2_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_wmac(art + DRAGINO2_CALDATA_OFFSET,
- art + DRAGINO2_WMAC_MAC_OFFSET);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + DRAGINO2_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + DRAGINO2_MAC1_OFFSET, 0);
-
- ath79_register_mdio(0, 0x0);
-
- /* Enable GPIO13, GPIO14, GPIO15, GPIO16 and GPIO17 */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- /* LAN port */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- /* Enable GPIO26 and GPIO27 */
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP,
- ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP) |
- AR933X_BOOTSTRAP_MDIO_GPIO_EN);
-}
-
-static void __init dragino2_setup(void)
-{
- dragino2_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dragino2_leds_gpio),
- dragino2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DRAGINO2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dragino2_gpio_keys),
- dragino2_gpio_keys);
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_DRAGINO2, "DRAGINO2", "Dragino Dragino v2",
- dragino2_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e1700ac-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e1700ac-v2.c
deleted file mode 100644
index 1ba47a4255..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e1700ac-v2.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Qxwlan E1700AC v2 board support
- *
- * Copyright (C) 2017 Peng Zhang <sd20@qxwlan.com>
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include "common.h"
-#include "dev-eth.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 E1700AC_V2_GPIO_LED_SYS 1
-#define E1700AC_V2_GPIO_LED_USB 7
-#define E1700AC_V2_GPIO_LED_WLAN2G 19
-
-#define E1700AC_V2_GPIO_BTN_SW1 2
-#define E1700AC_V2_GPIO_BTN_RESET 11
-
-#define E1700AC_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E1700AC_V2_KEYS_DEBOUNCE_INTERVAL \
- (3 * E1700AC_V2_KEYS_POLL_INTERVAL)
-
-static struct gpio_led e1700ac_v2_leds_gpio[] __initdata = {
- {
- .name = "e1700ac-v2:green:system",
- .gpio = E1700AC_V2_GPIO_LED_SYS,
- .active_low = 1,
- }, {
- .name = "e1700ac-v2:green:usb",
- .gpio = E1700AC_V2_GPIO_LED_USB,
- .active_low = 1,
- }, {
- .name = "e1700ac-v2:green:wlan2g",
- .gpio = E1700AC_V2_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e1700ac_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E1700AC_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E1700AC_V2_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = E1700AC_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E1700AC_V2_GPIO_BTN_SW1,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info e1700ac_v2_leds_qca8334[] = {
- AR8327_LED_INFO(PHY1_0, HW, "e1700ac-v2:green:lan"),
- AR8327_LED_INFO(PHY2_0, HW, "e1700ac-v2:green:wan"),
-};
-
-/* Blink rate: 1 Gbps -> 8 hz, 100 Mbs -> 4 Hz, 10 Mbps -> 2 Hz */
-static struct ar8327_led_cfg e1700ac_v2_qca8334_led_cfg = {
- .led_ctrl0 = 0xcf37cf37,
- .led_ctrl1 = 0xcf37cf37,
- .led_ctrl2 = 0xcf37cf37,
- .led_ctrl3 = 0x0,
- .open_drain = true,
-};
-
-static struct ar8327_pad_cfg e1700ac_v2_qca8334_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data e1700ac_v2_qca8334_data = {
- .pad0_cfg = &e1700ac_v2_qca8334_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &e1700ac_v2_qca8334_led_cfg,
- .leds = e1700ac_v2_leds_qca8334,
- .num_leds = ARRAY_SIZE(e1700ac_v2_leds_qca8334),
-};
-
-static struct mdio_board_info e1700ac_v2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &e1700ac_v2_qca8334_data,
- },
-};
-
-static void __init e1700ac_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f050400);
- u8 *art = (u8 *) KSEG1ADDR(0x1f061000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e1700ac_v2_leds_gpio),
- e1700ac_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, E1700AC_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e1700ac_v2_gpio_keys),
- e1700ac_v2_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(e1700ac_v2_mdio0_info,
- ARRAY_SIZE(e1700ac_v2_mdio0_info));
-
- /* GMAC0 is connected to QCA8334 switch */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_pll_data.pll_1000 = 0x03000101;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_E1700AC_V2, "E1700AC-V2", "Qxwlan E1700AC v2",
- e1700ac_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e2100l.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e2100l.c
deleted file mode 100644
index c09083460e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e2100l.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Linksys E2100L board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "nvram.h"
-#include "machtypes.h"
-
-#define E2100L_GPIO_LED_POWER 14
-#define E2100L_GPIO_LED_WPS_AMBER 9
-#define E2100L_GPIO_LED_WPS_BLUE 8
-#define E2100L_GPIO_LED_WLAN 6
-
-#define E2100L_GPIO_BTN_WPS 7
-#define E2100L_GPIO_BTN_RESET 21
-
-#define E2100L_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E2100L_KEYS_DEBOUNCE_INTERVAL (3 * E2100L_KEYS_POLL_INTERVAL)
-
-#define E2100L_NVRAM_ADDR 0x1f7e0000
-#define E2100L_NVRAM_SIZE 0x10000
-
-static const char *e2100l_part_probes[] = {
- "cybertan",
- NULL,
-};
-
-static struct flash_platform_data e2100l_flash_data = {
- .part_probes = e2100l_part_probes,
-};
-
-static struct gpio_led e2100l_leds_gpio[] __initdata = {
- {
- .name = "e2100l:blue:power",
- .gpio = E2100L_GPIO_LED_POWER,
- .active_low = 1,
- .default_trigger = "default-on",
- }, {
- .name = "e2100l:amber:wps",
- .gpio = E2100L_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- }, {
- .name = "e2100l:blue:wps",
- .gpio = E2100L_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- }, {
- .name = "e2100l:blue:wlan",
- .gpio = E2100L_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button e2100l_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E2100L_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E2100L_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = E2100L_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E2100L_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init e2100l_setup(void)
-{
- const char *nvram = (char *) KSEG1ADDR(E2100L_NVRAM_ADDR);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[6];
-
- if (ath79_nvram_parse_mac_addr(nvram, E2100L_NVRAM_SIZE,
- "lan_hwaddr=", mac) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- }
-
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.phy_mask = 0x01;
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(&e2100l_flash_data);
-
- ath79_register_usb();
-
- if (ath79_nvram_parse_mac_addr(nvram, E2100L_NVRAM_SIZE,
- "wl0_hwaddr=", mac) == 0)
- ath79_register_wmac(eeprom, mac);
- else
- ath79_register_wmac(eeprom, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e2100l_leds_gpio),
- e2100l_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, E2100L_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e2100l_gpio_keys),
- e2100l_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_E2100L, "E2100L", "Linksys E2100L",
- e2100l_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e558-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e558-v2.c
deleted file mode 100644
index cc08147209..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e558-v2.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Qxwlan E558 v2 board support
- *
- * Copyright (C) 2017 Peng Zhang <sd20@qxwlan.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/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"
-#include "pci.h"
-
-#define E558_V2_GPIO_LED_WLAN 13
-#define E558_V2_GPIO_LED_SYSTEM 14
-#define E558_V2_GPIO_LED_QSS 15
-
-#define E558_V2_GPIO_BTN_RESET 16
-
-#define E558_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E558_V2_KEYS_DEBOUNCE_INTERVAL (3 * E558_V2_KEYS_POLL_INTERVAL)
-
-static struct gpio_led e558_v2_leds_gpio[] __initdata = {
- {
- .name = "e558-v2:green:qss",
- .gpio = E558_V2_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "e558-v2:green:system",
- .gpio = E558_V2_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "e558-v2:green:wlan",
- .gpio = E558_V2_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e558_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E558_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E558_V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg e558_v2_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg e558_v2_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static const struct ar8327_led_info e558_v2_leds_qca8334[] = {
- AR8327_LED_INFO(PHY2_0, HW, "e558-v2:green:wan"),
- AR8327_LED_INFO(PHY3_0, HW, "e558-v2:green:lan1"),
- AR8327_LED_INFO(PHY4_0, HW, "e558-v2:green:lan2"),
-};
-
-static struct ar8327_led_cfg e558_v2_ar8327_led_cfg = {
- .led_ctrl0 = 0xc737c737,
- .led_ctrl1 = 0x00000000,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x0030c300,
- .open_drain = false,
-};
-
-static struct ar8327_platform_data e558_v2_ar8327_data = {
- .pad0_cfg = &e558_v2_ar8327_pad0_cfg,
- .pad6_cfg = &e558_v2_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &e558_v2_ar8327_led_cfg,
- .leds = e558_v2_leds_qca8334,
- .num_leds = ARRAY_SIZE(e558_v2_leds_qca8334),
-};
-
-static struct mdio_board_info e558_v2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &e558_v2_ar8327_data,
- },
-};
-
-static void __init e558_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f050400);
- u8 *art = (u8 *) KSEG1ADDR(0x1f061000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e558_v2_leds_gpio),
- e558_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, E558_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e558_v2_gpio_keys),
- e558_v2_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(e558_v2_mdio0_info,
- ARRAY_SIZE(e558_v2_mdio0_info));
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_E558_V2, "E558-V2", "Qxwlan E558 v2",
- e558_v2_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e600g-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e600g-v2.c
deleted file mode 100644
index 29411dea86..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e600g-v2.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Qxwlan E600G/E600GAC v2 board support
- *
- * Copyright (C) 2017 Peng Zhang <sd20@qxwlan.com>
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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 "common.h"
-#include "dev-eth.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 E600G_V2_GPIO_LED_LAN 16
-#define E600G_V2_GPIO_LED_SYS 13
-#define E600G_V2_GPIO_LED_WAN_B 4
-#define E600G_V2_GPIO_LED_WAN_G 15
-
-#define E600GAC_V2_GPIO_LED_CTRL_B 14
-#define E600GAC_V2_GPIO_LED_CTRL_G 11
-#define E600GAC_V2_GPIO_LED_CTRL_R 12
-#define E600GAC_V2_GPIO_LED_LAN 16
-#define E600GAC_V2_GPIO_LED_SYS 13
-#define E600GAC_V2_GPIO_LED_WAN_G 15
-#define E600GAC_V2_GPIO_LED_WAN_O 4
-
-#define E600G_V2_GPIO_BTN_RESET 17
-#define E600GAC_V2_GPIO_BTN_WPS 1
-
-#define E600G_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E600G_V2_KEYS_DEBOUNCE_INTERVAL (3 * E600G_V2_KEYS_POLL_INTERVAL)
-
-static struct gpio_led e600g_v2_leds_gpio[] __initdata = {
- {
- .name = "e600g-v2:blue:system",
- .gpio = E600G_V2_GPIO_LED_SYS,
- .active_low = 1,
- }, {
- .name = "e600g-v2:blue:wan",
- .gpio = E600G_V2_GPIO_LED_WAN_B,
- .active_low = 1,
- }, {
- .name = "e600g-v2:green:lan",
- .gpio = E600G_V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "e600g-v2:green:wan",
- .gpio = E600G_V2_GPIO_LED_WAN_G,
- .active_low = 1,
- },
-};
-
-static struct gpio_led e600gac_v2_leds_gpio[] __initdata = {
- {
- .name = "e600gac-v2:blue:control",
- .gpio = E600GAC_V2_GPIO_LED_CTRL_B,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:green:control",
- .gpio = E600GAC_V2_GPIO_LED_CTRL_G,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:red:control",
- .gpio = E600GAC_V2_GPIO_LED_CTRL_R,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:green:system",
- .gpio = E600GAC_V2_GPIO_LED_SYS,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:orange:wan",
- .gpio = E600GAC_V2_GPIO_LED_WAN_O,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:green:lan",
- .gpio = E600GAC_V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "e600gac-v2:green:wan",
- .gpio = E600GAC_V2_GPIO_LED_WAN_G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e600g_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E600G_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E600G_V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e600gac_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E600G_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E600G_V2_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = E600G_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E600GAC_V2_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void __init e600g_v2_common_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f050400);
- u8 *art = (u8 *) KSEG1ADDR(0x1f061000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xfe;
-
- /* LAN */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- /* WAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.phy_mask = BIT(0);
- ath79_eth1_data.speed = SPEED_1000;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-static void __init e600g_v2_setup(void)
-{
- e600g_v2_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e600g_v2_leds_gpio),
- e600g_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, E600G_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e600g_v2_gpio_keys),
- e600g_v2_gpio_keys);
-}
-
-static void __init e600gac_v2_setup(void)
-{
- e600g_v2_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e600gac_v2_leds_gpio),
- e600gac_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, E600G_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e600gac_v2_gpio_keys),
- e600gac_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_E600G_V2, "E600G-V2", "Qxwlan E600G v2",
- e600g_v2_setup);
-
-MIPS_MACHINE(ATH79_MACH_E600GAC_V2, "E600GAC-V2", "Qxwlan E600GAC v2",
- e600gac_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e750a-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e750a-v4.c
deleted file mode 100644
index 7cf3292c68..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e750a-v4.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Qxwlan E750A v4 board support
- *
- * Copyright (C) 2017 Peng Zhang <sd20@qxwlan.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/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-eth.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 E750A_V4_GPIO_LED_SYS 14
-#define E750A_V4_GPIO_LED_LAN 19
-#define E750A_V4_GPIO_LED_WAN 18
-#define E750A_V4_GPIO_LED_DS10 15
-#define E750A_V4_GPIO_LED_DS20 20
-#define E750A_V4_GPIO_LED_WLAN 21
-
-#define E750A_V4_GPIO_BTN_RESET 12
-
-#define E750A_V4_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E750A_V4_KEYS_DEBOUNCE_INTERVAL (3 * E750A_V4_KEYS_POLL_INTERVAL)
-
-static struct gpio_led e750a_v4_leds_gpio[] __initdata = {
- {
- .name = "e750a-v4:green:system",
- .gpio = E750A_V4_GPIO_LED_SYS,
- .active_low = 1,
- },
- {
- .name = "e750a-v4:green:lan",
- .gpio = E750A_V4_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "e750a-v4:green:wan",
- .gpio = E750A_V4_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "e750a-v4:green:wlan",
- .gpio = E750A_V4_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "e750a-v4:green:ds10",
- .gpio = E750A_V4_GPIO_LED_DS10,
- .active_low = 1,
- },
- {
- .name = "e750a-v4:green:ds20",
- .gpio = E750A_V4_GPIO_LED_DS20,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e750a_v4_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E750A_V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E750A_V4_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-
-static void __init e750a_v4_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f050400);
- u8 *art = (u8 *) KSEG1ADDR(0x1f061000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e750a_v4_leds_gpio),
- e750a_v4_leds_gpio);
- ath79_register_gpio_keys_polled(-1, E750A_V4_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e750a_v4_gpio_keys),
- e750a_v4_gpio_keys);
-
- ath79_register_mdio(1, 0x0);
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- 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);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_E750A_V4, "E750A-V4", "Qxlan E750A v4",
- e750a_v4_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-e750g-v8.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-e750g-v8.c
deleted file mode 100644
index 9252d1d5ad..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-e750g-v8.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Qxwlan E750G v8 board support
- *
- * Copyright (C) 2017 Peng Zhang <sd20@qxwlan.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/phy.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 "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-usb.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define E750G_V8_GPIO_LED_SYS 14
-#define E750G_V8_GPIO_LED_DS20 15
-#define E750G_V8_GPIO_LED_DS10 20
-#define E750G_V8_GPIO_LED_WLAN 21
-
-#define E750G_V8_GPIO_BTN_RESET 12
-
-#define E750G_V8_KEYS_POLL_INTERVAL 20 /* msecs */
-#define E750G_V8_KEYS_DEBOUNCE_INTERVAL (3 * E750G_V8_KEYS_POLL_INTERVAL)
-
-static struct gpio_led e750g_v8_leds_gpio[] __initdata = {
- {
- .name = "e750g-v8:green:system",
- .gpio = E750G_V8_GPIO_LED_SYS,
- .active_low = 1,
- },
- {
- .name = "e750g-v8:green:ds10",
- .gpio = E750G_V8_GPIO_LED_DS10,
- .active_low = 1,
- },
- {
- .name = "e750g-v8:green:ds20",
- .gpio = E750G_V8_GPIO_LED_DS20,
- .active_low = 1,
- },
- {
- .name = "e750g-v8:green:wlan",
- .gpio = E750G_V8_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button e750g_v8_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = E750G_V8_KEYS_DEBOUNCE_INTERVAL,
- .gpio = E750G_V8_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info e750g_v8_leds_qca8334[] = {
- AR8327_LED_INFO(PHY1_0, HW, "e750g-v8:green:lan"),
- AR8327_LED_INFO(PHY2_0, HW, "e750g-v8:green:wan"),
-};
-
-static struct ar8327_pad_cfg e750g_v8_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .mac06_exchange_dis = true,
-};
-
-static struct ar8327_led_cfg e750g_v8_ar8327_led_cfg = {
- .led_ctrl0 = 0x00000000,
- .led_ctrl1 = 0xc737c737,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00c30c00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data e750g_v8_ar8327_data = {
- .pad0_cfg = &e750g_v8_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &e750g_v8_ar8327_led_cfg,
- .leds = e750g_v8_leds_qca8334,
- .num_leds = ARRAY_SIZE(e750g_v8_leds_qca8334),
-};
-
-static struct mdio_board_info e750g_v8_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &e750g_v8_ar8327_data,
- },
-};
-
-static void __init e750g_v8_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f050400);
- u8 *art = (u8 *) KSEG1ADDR(0x1f061000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(e750g_v8_leds_gpio),
- e750g_v8_leds_gpio);
- ath79_register_gpio_keys_polled(-1, E750G_V8_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(e750g_v8_gpio_keys),
- e750g_v8_gpio_keys);
-
- mdiobus_register_board_info(e750g_v8_mdio0_info,
- ARRAY_SIZE(e750g_v8_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_E750G_V8, "E750G-V8", "Qxwlan E750G v8",
- e750g_v8_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap120.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-eap120.c
deleted file mode 100644
index 130c7706a6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap120.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * TP-LINK EAP120 board support
- *
- * Copyright (C) 2016 Henryk Heisig <hyniu@o2.pl>
- *
- * 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 <linux/platform_data/mdio-gpio.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/platform_data/phy-at803x.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 EAP120_GPIO_LED_RED 12
-#define EAP120_GPIO_LED_YEL 13
-#define EAP120_GPIO_LED_GRN 15
-#define EAP120_GPIO_BTN_RESET 4
-
-#define EAP120_KEYS_POLL_INTERVAL 20 /* msecs */
-#define EAP120_KEYS_DEBOUNCE_INTERVAL (3 * EAP120_KEYS_POLL_INTERVAL)
-
-#define EAP120_GPIO_SMI_MDIO 16
-#define EAP120_GPIO_SMI_MDC 17
-
-#define EAP120_LAN_PHYADDR 4
-
-static struct gpio_led eap120_leds_gpio[] __initdata = {
- {
- .name = "eap120:red:system",
- .gpio = EAP120_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "eap120:yellow:system",
- .gpio = EAP120_GPIO_LED_YEL,
- .active_low = 1,
- }, {
- .name = "eap120:green:system",
- .gpio = EAP120_GPIO_LED_GRN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button eap120_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = EAP120_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EAP120_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct mdio_gpio_platform_data eap120_mdio = {
- .mdc = EAP120_GPIO_SMI_MDC,
- .mdio = EAP120_GPIO_SMI_MDIO,
- .phy_mask = ~BIT(EAP120_LAN_PHYADDR),
-};
-
-static struct at803x_platform_data eap120_ar8035_data = {
- .disable_smarteee = 0,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 0,
- .fixup_rgmii_tx_delay = 1,
-};
-
-static struct platform_device eap120_phy_device = {
- .name = "mdio-gpio",
- .id = 0,
- .dev = {
- .platform_data = &eap120_mdio, &eap120_ar8035_data
- },
-};
-
-static void __init eap_setup(u8 *mac)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(eap120_leds_gpio),
- eap120_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, EAP120_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(eap120_gpio_keys),
- eap120_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- /* MDIO Interface */
- platform_device_register(&eap120_phy_device);
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- /* GMAC0 is connected to the RGMII interface to an Atheros AR8035-A */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.mii_bus_dev = &eap120_phy_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(EAP120_LAN_PHYADDR);
- ath79_eth0_pll_data.pll_1000 = 0x0e000000;
- ath79_eth0_pll_data.pll_100 = 0x00000101;
- ath79_eth0_pll_data.pll_10 = 0x00001313;
- ath79_register_eth(0);
-}
-
-static void __init eap120_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f030008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- eap_setup(mac);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_EAP120, "EAP120", "TP-LINK EAP120",
- eap120_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap300v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-eap300v2.c
deleted file mode 100644
index ba577e2517..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap300v2.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * EnGenius EAP300 v2 board support
- *
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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 EAP300V2_GPIO_LED_POWER 0
-#define EAP300V2_GPIO_LED_LAN 16
-#define EAP300V2_GPIO_LED_WLAN 17
-
-#define EAP300V2_GPIO_BTN_RESET 1
-
-#define EAP300V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define EAP300V2_KEYS_DEBOUNCE_INTERVAL (3 * EAP300V2_KEYS_POLL_INTERVAL)
-
-static struct gpio_led eap300v2_leds_gpio[] __initdata = {
- {
- .name = "engenius:blue:power",
- .gpio = EAP300V2_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "engenius:blue:lan",
- .gpio = EAP300V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "engenius:blue:wlan",
- .gpio = EAP300V2_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button eap300v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = EAP300V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EAP300V2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-#define EAP300V2_ART_MAC_OFFSET 2
-
-#define EAP300V2_LAN_PHYMASK BIT(0)
-
-static void __init eap300v2_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff1000);
-
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_output_select(EAP300V2_GPIO_LED_POWER, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(EAP300V2_GPIO_LED_LAN, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(EAP300V2_GPIO_LED_WLAN, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(eap300v2_leds_gpio),
- eap300v2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, EAP300V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(eap300v2_gpio_keys),
- eap300v2_gpio_keys);
-
- ath79_register_m25p80(NULL);
- ath79_register_wmac(art, NULL);
- ath79_register_mdio(1, 0x0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + EAP300V2_ART_MAC_OFFSET, 0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = EAP300V2_LAN_PHYMASK;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = EAP300V2_LAN_PHYMASK;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_EAP300V2, "EAP300V2", "EnGenius EAP300 v2",
- eap300v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap7660d.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-eap7660d.c
deleted file mode 100644
index 787e6275d6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-eap7660d.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Senao EAP7660D board support
- *
- * Copyright (C) 2010 Daniel Golle <daniel.golle@gmail.com>
- * Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/ath5k_platform.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define EAP7660D_KEYS_POLL_INTERVAL 20 /* msecs */
-#define EAP7660D_KEYS_DEBOUNCE_INTERVAL (3 * EAP7660D_KEYS_POLL_INTERVAL)
-
-#define EAP7660D_GPIO_DS4 7
-#define EAP7660D_GPIO_DS5 2
-#define EAP7660D_GPIO_DS7 0
-#define EAP7660D_GPIO_DS8 4
-#define EAP7660D_GPIO_SW1 3
-#define EAP7660D_GPIO_SW3 8
-#define EAP7660D_PHYMASK BIT(20)
-#define EAP7660D_BOARDCONFIG 0x1F7F0000
-#define EAP7660D_GBIC_MAC_OFFSET 0x1000
-#define EAP7660D_WMAC0_MAC_OFFSET 0x1010
-#define EAP7660D_WMAC1_MAC_OFFSET 0x1016
-#define EAP7660D_WMAC0_CALDATA_OFFSET 0x2000
-#define EAP7660D_WMAC1_CALDATA_OFFSET 0x3000
-
-#ifdef CONFIG_PCI
-static struct ath5k_platform_data eap7660d_wmac0_data;
-static struct ath5k_platform_data eap7660d_wmac1_data;
-static char eap7660d_wmac0_mac[6];
-static char eap7660d_wmac1_mac[6];
-static u16 eap7660d_wmac0_eeprom[ATH5K_PLAT_EEP_MAX_WORDS];
-static u16 eap7660d_wmac1_eeprom[ATH5K_PLAT_EEP_MAX_WORDS];
-
-static int eap7660d_pci_plat_dev_init(struct pci_dev *dev)
-{
- switch (PCI_SLOT(dev->devfn)) {
- case 17:
- dev->dev.platform_data = &eap7660d_wmac0_data;
- break;
-
- case 18:
- dev->dev.platform_data = &eap7660d_wmac1_data;
- break;
- }
-
- return 0;
-}
-
-void __init eap7660d_pci_init(u8 *cal_data0, u8 *mac_addr0,
- u8 *cal_data1, u8 *mac_addr1)
-{
- if (cal_data0 && *cal_data0 == 0xa55a) {
- memcpy(eap7660d_wmac0_eeprom, cal_data0,
- ATH5K_PLAT_EEP_MAX_WORDS);
- eap7660d_wmac0_data.eeprom_data = eap7660d_wmac0_eeprom;
- }
-
- if (cal_data1 && *cal_data1 == 0xa55a) {
- memcpy(eap7660d_wmac1_eeprom, cal_data1,
- ATH5K_PLAT_EEP_MAX_WORDS);
- eap7660d_wmac1_data.eeprom_data = eap7660d_wmac1_eeprom;
- }
-
- if (mac_addr0) {
- memcpy(eap7660d_wmac0_mac, mac_addr0,
- sizeof(eap7660d_wmac0_mac));
- eap7660d_wmac0_data.macaddr = eap7660d_wmac0_mac;
- }
-
- if (mac_addr1) {
- memcpy(eap7660d_wmac1_mac, mac_addr1,
- sizeof(eap7660d_wmac1_mac));
- eap7660d_wmac1_data.macaddr = eap7660d_wmac1_mac;
- }
-
- ath79_pci_set_plat_dev_init(eap7660d_pci_plat_dev_init);
- ath79_register_pci();
-}
-#else
-static inline void eap7660d_pci_init(u8 *cal_data0, u8 *mac_addr0,
- u8 *cal_data1, u8 *mac_addr1)
-{
-}
-#endif /* CONFIG_PCI */
-
-static struct gpio_led eap7660d_leds_gpio[] __initdata = {
- {
- .name = "eap7660d:green:ds8",
- .gpio = EAP7660D_GPIO_DS8,
- .active_low = 0,
- },
- {
- .name = "eap7660d:green:ds5",
- .gpio = EAP7660D_GPIO_DS5,
- .active_low = 0,
- },
- {
- .name = "eap7660d:green:ds7",
- .gpio = EAP7660D_GPIO_DS7,
- .active_low = 0,
- },
- {
- .name = "eap7660d:green:ds4",
- .gpio = EAP7660D_GPIO_DS4,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button eap7660d_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = EAP7660D_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EAP7660D_GPIO_SW1,
- .active_low = 1,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = EAP7660D_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EAP7660D_GPIO_SW3,
- .active_low = 1,
- }
-};
-
-static const char *eap7660d_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data eap7660d_flash_data = {
- .part_probes = eap7660d_part_probes,
-};
-
-static void __init eap7660d_setup(void)
-{
- u8 *boardconfig = (u8 *) KSEG1ADDR(EAP7660D_BOARDCONFIG);
-
- ath79_register_mdio(0, ~EAP7660D_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- boardconfig + EAP7660D_GBIC_MAC_OFFSET, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = EAP7660D_PHYMASK;
- ath79_register_eth(0);
- ath79_register_m25p80(&eap7660d_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(eap7660d_leds_gpio),
- eap7660d_leds_gpio);
- ath79_register_gpio_keys_polled(-1, EAP7660D_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(eap7660d_gpio_keys),
- eap7660d_gpio_keys);
- eap7660d_pci_init(boardconfig + EAP7660D_WMAC0_CALDATA_OFFSET,
- boardconfig + EAP7660D_WMAC0_MAC_OFFSET,
- boardconfig + EAP7660D_WMAC1_CALDATA_OFFSET,
- boardconfig + EAP7660D_WMAC1_MAC_OFFSET);
-};
-
-MIPS_MACHINE(ATH79_MACH_EAP7660D, "EAP7660D", "Senao EAP7660D",
- eap7660d_setup);
-
-MIPS_MACHINE(ATH79_MACH_ALL0305, "ALL0305", "Allnet ALL0305",
- eap7660d_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c
deleted file mode 100644
index b95d6c2f68..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Easy-Link EL-M150 board support
- *
- * Copyright (C) 2012 huangfc <huangfangcheng@163.com>
- * Copyright (C) 2012 HYS <550663898@qq.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 <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"
-#include "dev-usb.h"
-
-#define EL_M150_GPIO_BTN6 6
-#define EL_M150_GPIO_BTN7 7
-#define EL_M150_GPIO_BTN_RESET 11
-
-#define EL_M150_GPIO_LED_SYSTEM 27
-#define EL_M150_GPIO_USB_POWER 8
-
-#define EL_M150_KEYS_POLL_INTERVAL 20 /* msecs */
-#define EL_M150_KEYS_DEBOUNCE_INTERVAL (3 * EL_M150_KEYS_POLL_INTERVAL)
-
-static const char *EL_M150_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data EL_M150_flash_data = {
- .part_probes = EL_M150_part_probes,
-};
-
-static struct gpio_led EL_M150_leds_gpio[] __initdata = {
- {
- .name = "easylink:green:system",
- .gpio = EL_M150_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button EL_M150_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EL_M150_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "BTN_6",
- .type = EV_KEY,
- .code = BTN_6,
- .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EL_M150_GPIO_BTN6,
- .active_low = 1,
- },
- {
- .desc = "BTN_7",
- .type = EV_KEY,
- .code = BTN_7,
- .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EL_M150_GPIO_BTN7,
- .active_low = 1,
- },
-};
-
-static void __init el_m150_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(EL_M150_leds_gpio),
- EL_M150_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, EL_M150_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(EL_M150_gpio_keys),
- EL_M150_gpio_keys);
-
- gpio_request_one(EL_M150_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_m25p80(&EL_M150_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_EL_M150, "EL-M150",
- "EasyLink EL-M150", el_m150_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c
deleted file mode 100644
index 9879b18f7c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Easy-Link EL-MINI board support
- *
- * Copyright (C) 2012 huangfc <huangfangcheng@163.com>
- * Copyright (C) 2011 hys <550663898@qq.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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define MINI_GPIO_LED_SYSTEM 27
-#define MINI_GPIO_BTN_RESET 11
-
-#define MINI_GPIO_USB_POWER 8
-
-#define MINI_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MINI_KEYS_DEBOUNCE_INTERVAL (3 * MINI_KEYS_POLL_INTERVAL)
-
-static const char *mini_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data mini_flash_data = {
- .part_probes = mini_part_probes,
-};
-
-static struct gpio_led mini_leds_gpio[] __initdata = {
- {
- .name = "easylink:green:system",
- .gpio = MINI_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mini_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MINI_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MINI_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init el_mini_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&mini_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mini_leds_gpio),
- mini_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MINI_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mini_gpio_keys),
- mini_gpio_keys);
-
- gpio_request_one(MINI_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_EL_MINI, "EL-MINI", "EasyLink EL-MINI",
- el_mini_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ens202ext.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ens202ext.c
deleted file mode 100644
index 07dbc2e69d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ens202ext.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * EnGenius ENS202EXT board support
- *
- * Copyright (C) 2017 Marty Plummer <netz.kernel@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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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"
-#include "nvram.h"
-
-#define ENS202_GPIO_LED_WLAN4 0
-#define ENS202_GPIO_LED_POWER 14
-#define ENS202_GPIO_LED_WLAN2 16
-#define ENS202_GPIO_LED_WLAN3 17
-#define ENS202_GPIO_LED_WLAN1 18
-
-#define ENS202_GPIO_BTN_RESET 1
-
-#define ENS202_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ENS202_KEYS_DEBOUNCE_INTERVAL (3 * ENS202_KEYS_POLL_INTERVAL)
-
-static struct gpio_led ens202_leds_gpio[] __initdata = {
- {
- .name = "engenius:amber:wlan1",
- .gpio = ENS202_GPIO_LED_WLAN1,
- .active_low = 1,
- }, {
- .name = "engenius:red:wlan2",
- .gpio = ENS202_GPIO_LED_WLAN2,
- .active_low = 1,
- }, {
- .name = "engenius:amber:wlan3",
- .gpio = ENS202_GPIO_LED_WLAN3,
- .active_low = 1,
- }, {
- .name = "engenius:green:wlan4",
- .gpio = ENS202_GPIO_LED_WLAN4,
- .active_low = 1,
- }, {
- .name = "engenius:amber:power",
- .gpio = ENS202_GPIO_LED_POWER,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ens202_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ENS202_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ENS202_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init ens202_setup(void)
-{
- const char *nvram = (char *) KSEG1ADDR(0x1f040000);
- u8 mac_buff[6];
- u8 *mac = NULL;
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- if (ath79_nvram_parse_mac_addr(nvram, 0x10000,
- "ethaddr=", mac_buff) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac_buff, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac_buff, 1);
- mac = mac_buff;
- }
-
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_output_select(ENS202_GPIO_LED_POWER, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(ENS202_GPIO_LED_WLAN1, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(ENS202_GPIO_LED_WLAN2, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(ENS202_GPIO_LED_WLAN3, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(ENS202_GPIO_LED_WLAN4, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ens202_leds_gpio),
- ens202_leds_gpio);
- ath79_register_gpio_keys_polled(-1, ENS202_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ens202_gpio_keys),
- ens202_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_wmac(art + 0x1000, NULL);
-
- ath79_register_mdio(1, 0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
-
- 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_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_ENS202EXT, "ENS202EXT", "EnGenius ENS202EXT",
- ens202_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-epg5000.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-epg5000.c
deleted file mode 100644
index 89d6ec6fe3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-epg5000.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * EnGenius EPG5000 board support
- *
- * Copyright (c) 2014 Jon Suphammer <jon@suphammer.net>
- * Copyright (c) 2015 Christian Beier <cb@shoutrlabs.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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define EPG5000_GPIO_LED_WLAN_5G 23
-#define EPG5000_GPIO_LED_WLAN_2G 13
-#define EPG5000_GPIO_LED_POWER_AMBER 2
-#define EPG5000_GPIO_LED_WPS_AMBER 22
-#define EPG5000_GPIO_LED_WPS_BLUE 19
-
-#define EPG5000_GPIO_BTN_WPS 16
-#define EPG5000_GPIO_BTN_RESET 17
-
-#define EPG5000_KEYS_POLL_INTERVAL 20 /* msecs */
-#define EPG5000_KEYS_DEBOUNCE_INTERVAL (3 * EPG5000_KEYS_POLL_INTERVAL)
-
-#define EPG5000_CALDATA_ADDR 0x1fff0000
-#define EPG5000_WMAC_CALDATA_OFFSET 0x1000
-#define EPG5000_PCIE_CALDATA_OFFSET 0x5000
-
-#define EPG5000_NVRAM_ADDR 0x1f030000
-#define EPG5000_NVRAM_SIZE 0x10000
-
-static struct gpio_led epg5000_leds_gpio[] __initdata = {
- {
- .name = "epg5000:amber:power",
- .gpio = EPG5000_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "epg5000:blue:wps",
- .gpio = EPG5000_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- },
- {
- .name = "epg5000:amber:wps",
- .gpio = EPG5000_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- },
- {
- .name = "epg5000:blue:wlan-2g",
- .gpio = EPG5000_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "epg5000:blue:wlan-5g",
- .gpio = EPG5000_GPIO_LED_WLAN_5G,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button epg5000_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = EPG5000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EPG5000_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = EPG5000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = EPG5000_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg epg5000_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data epg5000_ar8327_data = {
- .pad0_cfg = &epg5000_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info epg5000_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &epg5000_ar8327_data,
- },
-};
-
-static int epg5000_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(EPG5000_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, EPG5000_NVRAM_SIZE,
- name, mac);
- if (err) {
- pr_err("no MAC address found for %s\n", name);
- return false;
- }
-
- return true;
-}
-
-static void __init epg5000_setup(void)
-{
- u8 *caldata = (u8 *) KSEG1ADDR(EPG5000_CALDATA_ADDR);
- u8 mac1[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(epg5000_leds_gpio),
- epg5000_leds_gpio);
- ath79_register_gpio_keys_polled(-1, EPG5000_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(epg5000_gpio_keys),
- epg5000_gpio_keys);
-
- ath79_register_usb();
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(epg5000_mdio0_info,
- ARRAY_SIZE(epg5000_mdio0_info));
-
- /* GMAC0 is connected to an QCA8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- if (epg5000_get_mac("ethaddr=", mac1))
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_register_eth(0);
-
- ath79_register_wmac(caldata + EPG5000_WMAC_CALDATA_OFFSET, mac1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_EPG5000, "EPG5000",
- "EnGenius EPG5000",
- epg5000_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-esr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-esr1750.c
deleted file mode 100644
index c275ef6f1b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-esr1750.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * EnGenius ESR1750 board support
- *
- * Copyright (c) 2014 Jon Suphammer <jon@suphammer.net>
- *
- * 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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define ESR1750_GPIO_LED_WLAN_5G 23
-#define ESR1750_GPIO_LED_WLAN_2G 13
-#define ESR1750_GPIO_LED_POWER_AMBER 2
-#define ESR1750_GPIO_LED_WPS_AMBER 22
-#define ESR1750_GPIO_LED_WPS_BLUE 19
-
-#define ESR1750_GPIO_BTN_WPS 16
-#define ESR1750_GPIO_BTN_RESET 17
-
-#define ESR1750_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ESR1750_KEYS_DEBOUNCE_INTERVAL (3 * ESR1750_KEYS_POLL_INTERVAL)
-
-#define ESR1750_CALDATA_ADDR 0x1fff0000
-#define ESR1750_WMAC_CALDATA_OFFSET 0x1000
-#define ESR1750_PCIE_CALDATA_OFFSET 0x5000
-
-#define ESR1750_NVRAM_ADDR 0x1f030000
-#define ESR1750_NVRAM_SIZE 0x10000
-
-static struct gpio_led esr1750_leds_gpio[] __initdata = {
- {
- .name = "esr1750:amber:power",
- .gpio = ESR1750_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "esr1750:blue:wps",
- .gpio = ESR1750_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- },
- {
- .name = "esr1750:amber:wps",
- .gpio = ESR1750_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- },
- {
- .name = "esr1750:blue:wlan-2g",
- .gpio = ESR1750_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "esr1750:blue:wlan-5g",
- .gpio = ESR1750_GPIO_LED_WLAN_5G,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button esr1750_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ESR1750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ESR1750_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ESR1750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ESR1750_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg esr1750_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data esr1750_ar8327_data = {
- .pad0_cfg = &esr1750_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info esr1750_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &esr1750_ar8327_data,
- },
-};
-
-static int esr1750_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(ESR1750_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, ESR1750_NVRAM_SIZE,
- name, mac);
- if (err) {
- pr_err("no MAC address found for %s\n", name);
- return false;
- }
-
- return true;
-}
-
-static void __init esr1750_setup(void)
-{
- u8 *caldata = (u8 *) KSEG1ADDR(ESR1750_CALDATA_ADDR);
- u8 mac1[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(esr1750_leds_gpio),
- esr1750_leds_gpio);
- ath79_register_gpio_keys_polled(-1, ESR1750_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(esr1750_gpio_keys),
- esr1750_gpio_keys);
-
- ath79_register_usb();
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(esr1750_mdio0_info,
- ARRAY_SIZE(esr1750_mdio0_info));
-
- /* GMAC0 is connected to an QCA8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- if (esr1750_get_mac("ethaddr=", mac1))
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_register_eth(0);
-
- ath79_register_wmac(caldata + ESR1750_WMAC_CALDATA_OFFSET, mac1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_ESR1750, "ESR1750",
- "EnGenius ESR1750",
- esr1750_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
deleted file mode 100644
index cf2ee9295a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * EnGenius ESR900 board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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.
- */
-
-#define pr_fmt(fmt) "esr900: " fmt
-
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define ESR900_GPIO_LED_POWER 2
-#define ESR900_GPIO_LED_WLAN_2G 13
-#define ESR900_GPIO_LED_WPS_BLUE 19
-#define ESR900_GPIO_LED_WPS_AMBER 22
-#define ESR900_GPIO_LED_WLAN_5G 23
-
-#define ESR900_GPIO_BTN_WPS 16
-#define ESR900_GPIO_BTN_RESET 17
-
-#define ESR900_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ESR900_KEYS_DEBOUNCE_INTERVAL (3 * ESR900_KEYS_POLL_INTERVAL)
-
-#define ESR900_CALDATA_ADDR 0x1fff0000
-#define ESR900_WMAC_CALDATA_OFFSET 0x1000
-#define ESR900_PCIE_CALDATA_OFFSET 0x5000
-
-#define ESR900_CONFIG_ADDR 0x1f030000
-#define ESR900_CONFIG_SIZE 0x10000
-
-#define ESR900_LAN_PHYMASK BIT(0)
-#define ESR900_WAN_PHYMASK BIT(5)
-#define ESR900_MDIO_MASK (~(ESR900_LAN_PHYMASK | ESR900_WAN_PHYMASK))
-
-static struct gpio_led esr900_leds_gpio[] __initdata = {
- {
- .name = "engenius:amber:power",
- .gpio = ESR900_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "engenius:blue:wlan-2g",
- .gpio = ESR900_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "engenius:blue:wps",
- .gpio = ESR900_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- },
- {
- .name = "engenius:amber:wps",
- .gpio = ESR900_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- },
- {
- .name = "engenius:blue:wlan-5g",
- .gpio = ESR900_GPIO_LED_WLAN_5G,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button esr900_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = ESR900_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ESR900_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ESR900_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ESR900_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg esr900_ar8327_pad0_cfg = {
- /* GMAC0 of the AR8337 switch is connected to GMAC0 via RGMII */
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_pad_cfg esr900_ar8327_pad6_cfg = {
- /* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
- .mode = AR8327_PAD_MAC_SGMII,
- .rxclk_delay_en = true,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_platform_data esr900_ar8327_data = {
- .pad0_cfg = &esr900_ar8327_pad0_cfg,
- .pad6_cfg = &esr900_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info esr900_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &esr900_ar8327_data,
- },
-};
-
-static void __init esr900_setup(void)
-{
- const char *config = (char *) KSEG1ADDR(ESR900_CONFIG_ADDR);
- u8 *art = (u8 *) KSEG1ADDR(ESR900_CALDATA_ADDR);
- u8 lan_mac[ETH_ALEN];
- u8 wlan0_mac[ETH_ALEN];
- u8 wlan1_mac[ETH_ALEN];
-
- if (ath79_nvram_parse_mac_addr(config, ESR900_CONFIG_SIZE,
- "ethaddr=", lan_mac) == 0) {
- ath79_init_local_mac(ath79_eth0_data.mac_addr, lan_mac);
- ath79_init_mac(wlan0_mac, lan_mac, 0);
- ath79_init_mac(wlan1_mac, lan_mac, 1);
- } else {
- pr_err("could not find ethaddr in u-boot environment\n");
- }
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(esr900_leds_gpio),
- esr900_leds_gpio);
- ath79_register_gpio_keys_polled(-1, ESR900_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(esr900_gpio_keys),
- esr900_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + ESR900_WMAC_CALDATA_OFFSET, wlan0_mac);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(esr900_mdio0_info,
- ARRAY_SIZE(esr900_mdio0_info));
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = ESR900_LAN_PHYMASK;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_register_eth(1);
-
- ap91_pci_init(art + ESR900_PCIE_CALDATA_OFFSET, wlan1_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ESR900, "ESR900", "EnGenius ESR900", esr900_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-balin.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-balin.c
deleted file mode 100644
index 2e82ffdaa1..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-balin.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * EW Balin board support
- * (based on Atheros DB120 reference board support)
- *
- * Copyright (c) 2011 Qualcomm Atheros
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2017 Embedded Wireless GmbH www.80211.de
- *
- * 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/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"
-#include "pci.h"
-
-#define BALIN_GPIO_LED_STATUS 14
-
-#define BALIN_GPIO_BTN_WPS 18
-
-#define BALIN_KEYS_POLL_INTERVAL 20 /* msecs */
-#define BALIN_KEYS_DEBOUNCE_INTERVAL (3 * BALIN_KEYS_POLL_INTERVAL)
-
-#define BALIN_CALDATA_OFFSET 0x1000
-#define BALIN_WMAC_MAC_OFFSET (BALIN_CALDATA_OFFSET + 0x02)
-
-static struct gpio_led balin_leds_gpio[] __initdata = {
- {
- .name = "balin:green:status",
- .gpio = BALIN_GPIO_LED_STATUS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button balin_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = BALIN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = BALIN_GPIO_BTN_WPS,
- .active_low = 0,
- },
-};
-
-
-static void __init balin_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- static u8 mac[6];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(balin_leds_gpio),
- balin_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, BALIN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(balin_gpio_keys),
- balin_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + BALIN_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* GMAC1 is connected to the internal switch */
- memcpy(mac, art + BALIN_WMAC_MAC_OFFSET, sizeof(mac));
- mac[3] |= 0x40;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- 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(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_EW_BALIN, "EW-BALIN", "EmbWir-Balin",
- balin_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c
deleted file mode 100644
index 5544596f91..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * EW Dorin board support
- * (based on Atheros Ref. Design AP121)
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2012-2017 Embedded Wireless GmbH www.80211.de
- *
- * 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 <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.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 DORIN_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DORIN_KEYS_DEBOUNCE_INTERVAL (3 * DORIN_KEYS_POLL_INTERVAL)
-
-#define DORIN_CALDATA_OFFSET 0x1000
-#define DORIN_WMAC_MAC_OFFSET 0x1002
-
-#define DORIN_GPIO_LED_STATUS 21
-
-#define DORIN_GPIO_BTN_JUMPSTART 11
-#define DORIN_GPIO_BTN_RESET 6
-
-static struct gpio_led dorin_leds_gpio[] __initdata = {
- {
- .name = "dorin:green:status",
- .gpio = DORIN_GPIO_LED_STATUS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button dorin_gpio_keys[] __initdata = {
- {
- .desc = "jumpstart button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DORIN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DORIN_GPIO_BTN_JUMPSTART,
- .active_low = 0,
- },
- {
- .desc = "reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DORIN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DORIN_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init ew_dorin_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- static u8 mac[6];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_usb();
-
- if (ar93xx_wmac_read_mac_address(mac)) {
- ath79_register_wmac(NULL, NULL);
- } else {
- ath79_register_wmac(art + DORIN_CALDATA_OFFSET,
- art + DORIN_WMAC_MAC_OFFSET);
- memcpy(mac, art + DORIN_WMAC_MAC_OFFSET, sizeof(mac));
- }
-
- mac[3] |= 0x40;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dorin_leds_gpio),
- dorin_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DORIN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dorin_gpio_keys),
- dorin_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_EW_DORIN, "EW-DORIN", "EmbWir-Dorin",
- ew_dorin_setup);
-
-
-static void __init ew_dorin_router_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- static u8 mac[6];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_usb();
-
- if (ar93xx_wmac_read_mac_address(mac)) {
- ath79_register_wmac(NULL, NULL);
- } else {
- ath79_register_wmac(art + DORIN_CALDATA_OFFSET,
- art + DORIN_WMAC_MAC_OFFSET);
- memcpy(mac, art + DORIN_WMAC_MAC_OFFSET, sizeof(mac));
- }
-
- mac[3] |= 0x40;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- mac[3] &= 0x3F;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(dorin_leds_gpio),
- dorin_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DORIN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(dorin_gpio_keys),
- dorin_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_EW_DORIN_ROUTER, "EW-DORIN-ROUTER",
- "EmbWir-Dorin-Router", ew_dorin_router_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-f9k1115v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-f9k1115v2.c
deleted file mode 100644
index 232105e068..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-f9k1115v2.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Belkin AC1750DB (F9K1115V2) board support
- *
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define F9K1115V2_GPIO_LED_USB2 4
-#define F9K1115V2_GPIO_LED_WPS_AMBER 14
-#define F9K1115V2_GPIO_LED_STATUS_AMBER 15
-#define F9K1115V2_GPIO_LED_WPS_BLUE 19
-#define F9K1115V2_GPIO_LED_STATUS_BLUE 20
-
-#define F9K1115V2_GPIO_BTN_WPS 16
-#define F9K1115V2_GPIO_BTN_RESET 17
-
-#define F9K1115V2_GPIO_USB2_POWER 21
-
-#define F9K1115V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define F9K1115V2_KEYS_DEBOUNCE_INTERVAL (3 * F9K1115V2_KEYS_POLL_INTERVAL)
-
-#define F9K1115V2_WAN_MAC_OFFSET 0
-#define F9K1115V2_LAN_MAC_OFFSET 6
-#define F9K1115V2_WMAC_CALDATA_OFFSET 0x1000
-#define F9K1115V2_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led f9k1115v2_leds_gpio[] __initdata = {
- {
- .name = "belkin:amber:status",
- .gpio = F9K1115V2_GPIO_LED_STATUS_AMBER,
- .active_low = 1,
- },
- {
- .name = "belkin:blue:status",
- .gpio = F9K1115V2_GPIO_LED_STATUS_BLUE,
- .active_low = 1,
- },
- {
- .name = "belkin:blue:wps",
- .gpio = F9K1115V2_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- },
- {
- .name = "belkin:amber:wps",
- .gpio = F9K1115V2_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- },
- {
- .name = "belkin:green:usb2",
- .gpio = F9K1115V2_GPIO_LED_USB2,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button f9k1115v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = F9K1115V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = F9K1115V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = F9K1115V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = F9K1115V2_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg f9k1115v2_ar8327_pad0_cfg = {
- /* Use the RGMII interface for the GMAC0 of the AR8337 switch */
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_pad_cfg f9k1115v2_ar8327_pad6_cfg = {
- /* Use the SGMII interface for the GMAC6 of the AR8337 switch */
- .mode = AR8327_PAD_MAC_SGMII,
- .rxclk_delay_en = true,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_platform_data f9k1115v2_ar8327_data = {
- .pad0_cfg = &f9k1115v2_ar8327_pad0_cfg,
- .pad6_cfg = &f9k1115v2_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info f9k1115v2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &f9k1115v2_ar8327_data,
- },
-};
-
-static void __init f9k1115v2_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(f9k1115v2_leds_gpio),
- f9k1115v2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, F9K1115V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(f9k1115v2_gpio_keys),
- f9k1115v2_gpio_keys);
-
- ath79_register_wmac(art + F9K1115V2_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(f9k1115v2_mdio0_info,
- ARRAY_SIZE(f9k1115v2_mdio0_info));
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + F9K1115V2_WAN_MAC_OFFSET, 0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr,
- art + F9K1115V2_LAN_MAC_OFFSET, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
-
- ath79_register_usb();
- gpio_request_one(F9K1115V2_GPIO_USB2_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB2 power");
-}
-
-MIPS_MACHINE(ATH79_MACH_F9K1115V2, "F9K1115V2", "Belkin AC1750DB",
- f9k1115v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz300e.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz300e.c
deleted file mode 100644
index 43af71a0a8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz300e.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * AVM FRITZ!WLAN Repeater 300E board support
- *
- * Copyright (C) 2017 Mathias Kresin <dev@kresin.me>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.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 "machtypes.h"
-
-#define FRITZ300E_KEYS_POLL_INTERVAL 20 /* msecs */
-#define FRITZ300E_KEYS_DEBOUNCE_INTERVAL (3 * FRITZ300E_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition fritz300e_flash_partitions[] = {
- {
- .name = "urloader",
- .offset = 0,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0020000,
- .size = 0x0ee0000,
- }, {
- .name = "tffs (1)",
- .offset = 0x0f00000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "tffs (2)",
- .offset = 0x0f80000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct flash_platform_data fritz300e_flash_data = {
- .parts = fritz300e_flash_partitions,
- .nr_parts = ARRAY_SIZE(fritz300e_flash_partitions),
-};
-
-static struct gpio_led fritz300e_leds_gpio[] __initdata = {
- {
- .name = "fritz300e:green:power",
- .gpio = 13,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:lan",
- .gpio = 15,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:wlan",
- .gpio = 16,
- .active_low = 1,
- }
-};
-
-static struct gpio_led fritz300e_wmac_leds_gpio[] = {
- {
- .name = "fritz300e:green:rssi0",
- .gpio = 10,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:rssi1",
- .gpio = 4,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:rssi2",
- .gpio = 6,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:rssi3",
- .gpio = 7,
- .active_low = 1,
- }, {
- .name = "fritz300e:green:rssi4",
- .gpio = 5,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button fritz300e_gpio_keys[] __initdata = {
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = FRITZ300E_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 12,
- .active_low = 1,
- },
-};
-
-static void __init fritz300e_setup(void)
-{
- /* get the Lantiq PEF7071V phy out of reset */
- gpio_request_one(11, GPIOF_OUT_INIT_HIGH, "phy reset");
-
- ath79_register_m25p80(&fritz300e_flash_data);
-
- ath79_register_mdio(0, ~(BIT(0)));
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(fritz300e_leds_gpio),
- fritz300e_leds_gpio);
- ath79_register_gpio_keys_polled(-1, FRITZ300E_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(fritz300e_gpio_keys),
- fritz300e_gpio_keys);
-
- ap9x_pci_setup_wmac_leds(0, fritz300e_wmac_leds_gpio,
- ARRAY_SIZE(fritz300e_wmac_leds_gpio));
- ap91_pci_init_simple();
-}
-
-MIPS_MACHINE(ATH79_MACH_FRITZ300E, "FRITZ300E",
- "AVM FRITZ!WLAN Repeater 300E", fritz300e_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz4020.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz4020.c
deleted file mode 100644
index c00cf681b2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz4020.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * AVM FRITZ!Box 4020 board support
- *
- * Copyright (C) 2018 David Bauer <mail@david-bauer.net>
- *
- * 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/init.h>
-#include <linux/ath9k_platform.h>
-#include <linux/etherdevice.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_data/mdio-gpio.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-
-#define FRITZ4020_GPIO_SHIFT_SER 19 /* DS, Data Serial Input */
-#define FRITZ4020_GPIO_SHIFT_SRCLK 20 /* SHCP, Shift Reg Clock Input */
-
-#define FRITZ4020_SSR_BIT_0 0
-#define FRITZ4020_SSR_BIT_1 1
-#define FRITZ4020_SSR_BIT_2 2
-#define FRITZ4020_SSR_BIT_3 3
-#define FRITZ4020_SSR_BIT_4 4
-#define FRITZ4020_SSR_BIT_5 5
-#define FRITZ4020_SSR_BIT_6 6
-#define FRITZ4020_SSR_BIT_7 7
-
-#define FRITZ4020_74HC_GPIO_BASE 32
-#define FRITZ4020_74HC_GPIO_LED_LAN (FRITZ4020_74HC_GPIO_BASE + 0)
-#define FRITZ4020_74HC_GPIO_LED_INFO_RED (FRITZ4020_74HC_GPIO_BASE + 1)
-#define FRITZ4020_74HC_GPIO_LED_POWER (FRITZ4020_74HC_GPIO_BASE + 2)
-#define FRITZ4020_74HC_GPIO_LED_WLAN (FRITZ4020_74HC_GPIO_BASE + 3)
-#define FRITZ4020_74HC_GPIO_LED_WAN (FRITZ4020_74HC_GPIO_BASE + 4)
-#define FRITZ4020_74HC_GPIO_USB_RST (FRITZ4020_74HC_GPIO_BASE + 5)
-#define FRITZ4020_74HC_GPIO_LED_INFO (FRITZ4020_74HC_GPIO_BASE + 6)
-
-
-#define FRITZ4020_GPIO_BTN_WPS 2
-#define FRITZ4020_GPIO_BTN_WLAN 21
-#define FRITZ4020_KEYS_POLL_INTERVAL 20 /* msecs */
-#define FRITZ4020_KEYS_DEBOUNCE_INTERVAL (3 * FRITZ4020_KEYS_POLL_INTERVAL)
-
-#define FRTIZ4020_OFFSET_URLADER_WIFI_MAC_REVERSE 0x1979
-
-
-static struct spi_gpio_platform_data fritz4020_spi_data = {
- .sck = FRITZ4020_GPIO_SHIFT_SRCLK,
- .miso = SPI_GPIO_NO_MISO,
- .mosi = FRITZ4020_GPIO_SHIFT_SER,
- .num_chipselect = 1,
-};
-
-static u8 fritz4020_ssr_initdata[] = {
- BIT(FRITZ4020_SSR_BIT_7) |
- BIT(FRITZ4020_SSR_BIT_6) |
- BIT(FRITZ4020_SSR_BIT_5) |
- BIT(FRITZ4020_SSR_BIT_4) |
- BIT(FRITZ4020_SSR_BIT_3) |
- BIT(FRITZ4020_SSR_BIT_2) |
- BIT(FRITZ4020_SSR_BIT_1)
-};
-
-static struct gen_74x164_chip_platform_data fritz4020_ssr_data = {
- .base = FRITZ4020_74HC_GPIO_BASE,
- .num_registers = ARRAY_SIZE(fritz4020_ssr_initdata),
- .init_data = fritz4020_ssr_initdata,
-};
-
-static struct platform_device fritz4020_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &fritz4020_spi_data,
- },
-};
-
-static struct spi_board_info fritz4020_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &fritz4020_ssr_data,
- .controller_data = (void *) 0x0,
- },
-};
-
-static struct mtd_partition fritz4020_flash_partitions[] = {
- {
- .name = "urlader",
- .offset = 0,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0020000,
- .size = 0x0EE0000,
- }, {
- .name = "tffs (1)",
- .offset = 0x0f00000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "tffs (2)",
- .offset = 0x0f80000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct flash_platform_data fritz4020_flash_data = {
- .parts = fritz4020_flash_partitions,
- .nr_parts = ARRAY_SIZE(fritz4020_flash_partitions),
-};
-
-static struct gpio_led fritz4020_leds_gpio[] __initdata = {
- {
- .name = "fritz4020:green:lan",
- .gpio = FRITZ4020_74HC_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "fritz4020:green:info",
- .gpio = FRITZ4020_74HC_GPIO_LED_INFO,
- .active_low = 1,
- }, {
- .name = "fritz4020:red:info",
- .gpio = FRITZ4020_74HC_GPIO_LED_INFO_RED,
- .active_low = 1,
- }, {
- .name = "fritz4020:green:power",
- .gpio = FRITZ4020_74HC_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "fritz4020:green:wlan",
- .gpio = FRITZ4020_74HC_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "fritz4020:green:wan",
- .gpio = FRITZ4020_74HC_GPIO_LED_WAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button fritz4020_gpio_keys[] __initdata = {
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = FRITZ4020_KEYS_DEBOUNCE_INTERVAL,
- .gpio = FRITZ4020_GPIO_BTN_WLAN,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = FRITZ4020_KEYS_DEBOUNCE_INTERVAL,
- .gpio = FRITZ4020_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void __init fritz4020_setup(void) {
- u8 *urlader = (u8 *) KSEG1ADDR(0x1f000000);
- u8 wifi_mac[ETH_ALEN];
-
- ath79_register_m25p80(&fritz4020_flash_data);
-
- /* Initialize ethernet */
- ath79_extract_mac_reverse(urlader + FRTIZ4020_OFFSET_URLADER_WIFI_MAC_REVERSE, wifi_mac);
- ath79_setup_qca956x_eth_cfg(QCA956X_ETH_CFG_SW_PHY_SWAP |
- QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
- ath79_init_mac(ath79_eth0_data.mac_addr, wifi_mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, wifi_mac, -2);
-
- /* WAN port */
- 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_register_eth(0);
-
- /* LAN ports */
- 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(0);
- ath79_switch_data.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- /* Initialize 2.4GHz WiFi */
- ath79_register_wmac_simple();
-
- /* Activate USB Power */
- gpio_request_one(FRITZ4020_74HC_GPIO_USB_RST,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- /* Initialize USB port */
- ath79_register_usb();
-
- /* Register LED shift-register */
- spi_register_board_info(fritz4020_spi_info,
- ARRAY_SIZE(fritz4020_spi_info));
- platform_device_register(&fritz4020_spi_device);
-
- /* Register GPIO buttons */
- ath79_register_gpio_keys_polled(-1, FRITZ4020_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(fritz4020_gpio_keys),
- fritz4020_gpio_keys);
-
- /* Register LEDs */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(fritz4020_leds_gpio),
- fritz4020_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_FRITZ4020, "FRITZ4020",
- "AVM FRITZ!Box 4020", fritz4020_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz450e.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz450e.c
deleted file mode 100644
index 5bded81a4d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-fritz450e.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * AVM FRITZ!WLAN Repeater 450E board support
- *
- * Copyright (C) 2018 David Bauer <mail@david-bauer.net>
- *
- * 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/init.h>
-#include <linux/ath9k_platform.h>
-#include <linux/etherdevice.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_data/mdio-gpio.h>
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.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-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define FRITZ450E_GPIO_LED_POWER 14
-#define FRITZ450E_GPIO_LED_LAN 13
-#define FRITZ450E_GPIO_LED_WLAN 15
-#define FRITZ450E_GPIO_LED_RSSI2 16
-#define FRITZ450E_GPIO_LED_RSSI3 17
-#define FRITZ450E_GPIO_LED_RSSI4 18
-
-#define FRITZ450E_GPIO_BTN_WPS 4
-#define FRITZ450E_KEYS_POLL_INTERVAL 20 /* msecs */
-#define FRITZ450E_KEYS_DEBOUNCE_INTERVAL (3 * FRITZ450E_KEYS_POLL_INTERVAL)
-
-#define FRITZ450E_PHY_ADDRESS 0
-#define FRITZ450E_GPIO_PHY_RESET 11
-#define FRITZ450E_GPIO_MDIO_CLK 12
-#define FRITZ450E_GPIO_MDIO_DATA 19
-
-#define FRITZ450E_OFFSET_URLADER_WIFI_MAC_REVERSE 0x1979
-
-
-static struct mtd_partition fritz450E_flash_partitions[] = {
- {
- .name = "urlader",
- .offset = 0,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0020000,
- .size = 0x0EE0000,
- }, {
- .name = "tffs (1)",
- .offset = 0x0f00000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "tffs (2)",
- .offset = 0x0f80000,
- .size = 0x0080000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct flash_platform_data fritz450E_flash_data = {
- .parts = fritz450E_flash_partitions,
- .nr_parts = ARRAY_SIZE(fritz450E_flash_partitions),
-};
-
-static struct gpio_led fritz450E_leds_gpio[] __initdata = {
- {
- .name = "fritz450e:green:lan",
- .gpio = FRITZ450E_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "fritz450e:green:rssi2",
- .gpio = FRITZ450E_GPIO_LED_RSSI2,
- .active_low = 1,
- }, {
- .name = "fritz450e:green:rssi3",
- .gpio = FRITZ450E_GPIO_LED_RSSI3,
- .active_low = 1,
- }, {
- .name = "fritz450e:green:rssi4",
- .gpio = FRITZ450E_GPIO_LED_RSSI4,
- .active_low = 1,
- }, {
- .name = "fritz450e:green:wlan",
- .gpio = FRITZ450E_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "fritz450e:green:power",
- .gpio = FRITZ450E_GPIO_LED_POWER,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button fritz450E_gpio_keys[] __initdata = {
- {
- .desc = "WPS Button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = FRITZ450E_KEYS_DEBOUNCE_INTERVAL,
- .gpio = FRITZ450E_GPIO_BTN_WPS,
- .active_low = 0,
- }
-};
-
-static struct at803x_platform_data fritz450E_at803x_data = {
- .disable_smarteee = 1,
- .has_reset_gpio = 1,
- .override_sgmii_aneg = 1,
- .reset_gpio = FRITZ450E_GPIO_PHY_RESET,
-};
-
-static struct mdio_board_info fritz450E_mdio_info[] = {
- {
- .bus_id = "ag71xx-mdio.1",
- .mdio_addr = FRITZ450E_PHY_ADDRESS,
- .platform_data = &fritz450E_at803x_data,
- },
-};
-
-static void __init fritz450E_setup(void) {
- u8 *urlader = (u8 *) KSEG1ADDR(0x1f000000);
- u8 wifi_mac[ETH_ALEN];
-
- ath79_register_m25p80(&fritz450E_flash_data);
-
- gpio_request_one(FRITZ450E_GPIO_MDIO_CLK, GPIOF_OUT_INIT_HIGH, "MDC Pull-UP");
- gpio_request_one(FRITZ450E_GPIO_MDIO_DATA, GPIOF_OUT_INIT_HIGH, "MDIO Pull-UP");
- gpio_request_one(FRITZ450E_GPIO_PHY_RESET, GPIOF_OUT_INIT_HIGH, "PHY reset");
-
- /* Register PHY device */
- mdiobus_register_board_info(fritz450E_mdio_info,
- ARRAY_SIZE(fritz450E_mdio_info));
-
- /* Initialize Ethernet */
- ath79_extract_mac_reverse(urlader + FRITZ450E_OFFSET_URLADER_WIFI_MAC_REVERSE, wifi_mac);
- ath79_init_mac(ath79_eth0_data.mac_addr, wifi_mac, -2);
-
- ath79_register_mdio(1, ~BIT(FRITZ450E_PHY_ADDRESS));
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.phy_mask = BIT(FRITZ450E_PHY_ADDRESS);
- ath79_eth0_data.enable_sgmii_fixup = 1;
- ath79_eth0_pll_data.pll_1000 = 0x03000000;
- ath79_eth0_pll_data.pll_100 = 0x00000101;
- ath79_eth0_pll_data.pll_10 = 0x00001313;
- ath79_register_eth(0);
-
- /* Initialize 2.4GHz WiFi */
- ath79_register_wmac_simple();
-
- /* Register GPIO buttons */
- ath79_register_gpio_keys_polled(-1, FRITZ450E_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(fritz450E_gpio_keys),
- fritz450E_gpio_keys);
-
- /* Register LEDs */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(fritz450E_leds_gpio),
- fritz450E_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_FRITZ450E, "FRITZ450E",
- "AVM FRITZ!WLAN Repeater 450E", fritz450E_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c
deleted file mode 100644
index 9febc7a839..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * GL_ar150 board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define GL_AR150_GPIO_LED_WLAN 0
-#define GL_AR150_GPIO_LED_LAN 13
-#define GL_AR150_GPIO_LED_WAN 15
-
-#define GL_AR150_GPIO_BIN_USB 6
-#define GL_AR150_GPIO_BTN_MANUAL 7
-#define GL_AR150_GPIO_BTN_AUTO 8
-#define GL_AR150_GPIO_BTN_RESET 11
-
-#define GL_AR150_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GL_AR150_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR150_KEYS_POLL_INTERVAL)
-
-#define GL_AR150_MAC0_OFFSET 0x0000
-#define GL_AR150_MAC1_OFFSET 0x0000
-#define GL_AR150_CALDATA_OFFSET 0x1000
-#define GL_AR150_WMAC_MAC_OFFSET 0x0000
-
-static struct gpio_led gl_ar150_leds_gpio[] __initdata = {
- {
- .name = "gl-ar150:orange:wlan",
- .gpio = GL_AR150_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "gl-ar150:green:lan",
- .gpio = GL_AR150_GPIO_LED_LAN,
- .active_low = 0,
- },
- {
- .name = "gl-ar150:green:wan",
- .gpio = GL_AR150_GPIO_LED_WAN,
- .active_low = 0,
- .default_state = 1,
- },
-};
-
-static struct gpio_keys_button gl_ar150_gpio_keys[] __initdata = {
- {
- .desc = "BTN_7",
- .type = EV_KEY,
- .code = BTN_7,
- .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR150_GPIO_BTN_MANUAL,
- .active_low = 0,
- },
- {
- .desc = "BTN_8",
- .type = EV_KEY,
- .code = BTN_8,
- .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR150_GPIO_BTN_AUTO,
- .active_low = 0,
- },
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR150_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init gl_ar150_setup(void)
-{
-
- /* ART base address */
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* register flash. */
- ath79_register_m25p80(NULL);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar150_leds_gpio),
- gl_ar150_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GL_AR150_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_ar150_gpio_keys),
- gl_ar150_gpio_keys);
-
- /* enable usb */
- gpio_request_one(GL_AR150_GPIO_BIN_USB,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- /* register eth0 as WAN, eth1 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR150_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR150_MAC1_OFFSET, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(art + GL_AR150_CALDATA_OFFSET, art + GL_AR150_WMAC_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_AR150, "GL-AR150", "GL.iNet GL-AR150", gl_ar150_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c
deleted file mode 100644
index 1708d696b8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Domino board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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 <linux/ath9k_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "common.h"
-#include "dev-eth.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"
-
-#define GL_AR300_GPIO_LED_WLAN 13
-#define GL_AR300_GPIO_LED_WAN 14
-#define GL_AR300_GPIO_BTN_RESET 16
-
-
-#define GL_AR300_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GL_AR300_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR300_KEYS_POLL_INTERVAL)
-
-#define GL_AR300_MAC0_OFFSET 0x0000
-#define GL_AR300_MAC1_OFFSET 0x0000
-#define GL_AR300_CALDATA_OFFSET 0x1000
-#define GL_AR300_WMAC_MAC_OFFSET 0x0000
-
-static struct gpio_led gl_ar300_leds_gpio[] __initdata = {
- {
- .name = "gl-ar300:wlan",
- .gpio = GL_AR300_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "gl-ar300:wan",
- .gpio = GL_AR300_GPIO_LED_WAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button gl_ar300_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_AR300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR300_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init gl_ar300_setup(void)
-{
-
- /* ART base address */
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /* register flash. */
- ath79_register_m25p80(NULL);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar300_leds_gpio),
- gl_ar300_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GL_AR300_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_ar300_gpio_keys),
- gl_ar300_gpio_keys);
-
- /* enable usb */
- ath79_register_usb();
- ath79_register_mdio(1, 0x0);
-
- /* register eth0 as WAN, eth1 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR300_MAC0_OFFSET, 0);
- 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_register_eth(0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR300_MAC1_OFFSET, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(art + GL_AR300_CALDATA_OFFSET, art + GL_AR300_WMAC_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_AR300, "GL-AR300", "GL.iNet GL-AR300", gl_ar300_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300m.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300m.c
deleted file mode 100644
index d10a910129..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300m.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * GLI AR300M(D) board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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/pci.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define GL_AR300M_GPIO_LED_WLAN 14
-#define GL_AR300M_GPIO_LED_LAN 13
-#define GL_AR300M_GPIO_LED_SYSTEM 12
-#define GL_AR300M_GPIO_BTN_RESET 3
-#define GL_AR300M_GPIO_BTN_LEFT 0
-#define GL_AR300M_GPIO_BTN_RIGHT 1
-
-#define GL_AR300M_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GL_AR300M_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR300M_KEYS_POLL_INTERVAL)
-
-#define GL_AR300M_MAC0_OFFSET 0
-#define GL_AR300M_MAC1_OFFSET 6
-#define GL_AR300M_WMAC_CALDATA_OFFSET 0x1000
-#define GL_AR300M_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led gl_ar300m_leds_gpio[] __initdata = {
- {
- .name = "gl-ar300m:red:wlan",
- .gpio = GL_AR300M_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "gl-ar300m:green:lan",
- .gpio = GL_AR300M_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "gl-ar300m:green:system",
- .gpio = GL_AR300M_GPIO_LED_SYSTEM,
- .active_low = 1,
- .default_state = 1,
- },
-};
-
-static struct gpio_keys_button gl_ar300m_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_AR300M_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR300M_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "button right",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = GL_AR300M_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR300M_GPIO_BTN_LEFT,
- .active_low = 0,
- },
- {
- .desc = "button left",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = GL_AR300M_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR300M_GPIO_BTN_RIGHT,
- .active_low = 0,
- },
-};
-
-static struct spi_board_info gl_ar300m_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- .platform_data = NULL,
- },
- {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 25000000,
- .modalias = "ath79-spinand",
- .platform_data = NULL,
- }
-};
-
-static struct ath79_spi_platform_data gl_ar300m_spi_data = {
- .bus_num = 0,
- .num_chipselect = 2,
-};
-
-static void __init gl_ar300m_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
- ath79_register_spi(&gl_ar300m_spi_data, gl_ar300m_spi_info, 2);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar300m_leds_gpio),
- gl_ar300m_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GL_AR300M_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_ar300m_gpio_keys),
- gl_ar300m_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
-
- /* WAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art + GL_AR300M_MAC0_OFFSET, 0);
- 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(4);
- ath79_register_eth(0);
-
- /* LAN */
- ath79_init_mac(ath79_eth1_data.mac_addr, art + GL_AR300M_MAC1_OFFSET, 0);
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_init_mac(tmpmac, art + GL_AR300M_WMAC_CALDATA_OFFSET + 2, 0);
- ath79_register_wmac(art + GL_AR300M_WMAC_CALDATA_OFFSET, tmpmac);
-
- /* enable usb */
- ath79_register_usb();
- /* enable pci */
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_AR300M, "GL-AR300M", "GL.iNet GL-AR300M", gl_ar300m_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750.c
deleted file mode 100644
index 9ee6e29c02..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * GL.iNet GL-AR750 board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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/i2c.h>
-#include <linux/i2c-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-ap9x-pci.h"
-#include "dev-eth.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"
-
-#define GL_AR750_GPIO_LED_POWER 12
-#define GL_AR750_GPIO_LED_WLAN2G 14
-#define GL_AR750_GPIO_LED_WLAN5G 13
-
-#define GL_AR750_GPIO_BTN_RESET 3
-#define GL_AR750_GPIO_BTN_SW1 0
-
-#define GL_AR750_GPIO_I2C_SCL 16
-#define GL_AR750_GPIO_I2C_SDA 17
-
-#define GL_AR750_GPIO_USB_POWER 2
-
-#define GL_AR750_KEYS_POLL_INTERVAL 20
-#define GL_AR750_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR750_KEYS_POLL_INTERVAL)
-
-#define GL_AR750_MAC0_OFFSET 0
-#define GL_AR750_WMAC2G_CALDATA_OFFSET 0x1000
-#define GL_AR750_WMAC5G_CALDATA_OFFSET 0x5000
-
-static struct gpio_led gl_ar750_leds_gpio[] __initdata = {
- {
- .name = "gl-ar750:white:power",
- .gpio = GL_AR750_GPIO_LED_POWER,
- .default_state = LEDS_GPIO_DEFSTATE_KEEP,
- .active_low = 1,
- }, {
- .name = "gl-ar750:white:wlan2g",
- .gpio = GL_AR750_GPIO_LED_WLAN2G,
- .active_low = 1,
- }, {
- .name = "gl-ar750:white:wlan5g",
- .gpio = GL_AR750_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button gl_ar750_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_AR750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR750_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = GL_AR750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR750_GPIO_BTN_SW1,
- .active_low = 1,
- },
-};
-
-static struct i2c_gpio_platform_data gl_ar750_i2c_gpio_data = {
- .sda_pin = GL_AR750_GPIO_I2C_SDA,
- .scl_pin = GL_AR750_GPIO_I2C_SCL,
-};
-
-static struct platform_device gl_ar750_i2c_gpio = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &gl_ar750_i2c_gpio_data,
- },
-};
-
-static void __init gl_ar750_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f050000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xfc;
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art + GL_AR750_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, art + GL_AR750_MAC0_OFFSET, 1);
- ath79_register_eth(1);
-
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar750_leds_gpio),
- gl_ar750_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, GL_AR750_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_ar750_gpio_keys),
- gl_ar750_gpio_keys);
-
- gpio_request_one(GL_AR750_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- platform_device_register(&gl_ar750_i2c_gpio);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + GL_AR750_WMAC2G_CALDATA_OFFSET, NULL);
-
- ap91_pci_init(art + GL_AR750_WMAC5G_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_AR750, "GL-AR750", "GL.iNet GL-AR750",
- gl_ar750_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750s.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750s.c
deleted file mode 100644
index cc5d759273..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar750s.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * GL.iNet GL-AR750S board support
- *
- * Copyright (C) 2018 luochongjun <luochongjun@gl-inet.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/init.h>
-#include <linux/pci.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/etherdevice.h>
-
-#include <linux/i2c.h>
-#include <linux/i2c-gpio.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/ar8216_platform.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-spi.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-
-
-#define GL_AR750S_KEYS_POLL_INTERVAL 20
-#define GL_AR750S_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR750S_KEYS_POLL_INTERVAL)
-
-
-#define GL_AR750S_GPIO_LED_WLAN2G 19
-#define GL_AR750S_GPIO_LED_WLAN5G 20
-#define GL_AR750S_GPIO_LED_POWER 1
-#define GL_AR750S_GPIO_USB_POWER 7
-
-#define GL_AR750S_GPIO_BTN_RESET 2
-#define GL_AR750S_GPIO_BTN_RIGHT 8
-
-#define GL_AR750S_MAC0_OFFSET 0x0000
-#define GL_AR750S_WMAC_CALDATA_OFFSET 0x1000
-#define GL_AR750S_PCI_CALDATA_OFFSET 0x5000
-
-#define GL_AR750S_GPIO_I2C_SDA 5
-#define GL_AR750S_GPIO_I2C_SCL 21
-
-
-
-static struct spi_board_info gl_ar750s_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- .platform_data = NULL,
- },
-};
-
-static struct ath79_spi_platform_data gl_ar750s_spi_data = {
- .bus_num = 0,
- .num_chipselect = 2,
-};
-
-static struct gpio_led gl_ar750s_leds_gpio[] __initdata = {
- {
- .name = "gl-ar750s:green:power",
- .gpio = GL_AR750S_GPIO_LED_POWER,
- .default_state = LEDS_GPIO_DEFSTATE_KEEP,
- .active_low = 1,
- },{
- .name = "gl-ar750s:green:usbpower",
- .gpio = GL_AR750S_GPIO_USB_POWER,
- .active_low = 1,
- },{
- .name = "gl-ar750s:green:wlan2g",
- .gpio = GL_AR750S_GPIO_LED_WLAN2G,
- .active_low = 1,
- },{
- .name = "gl-ar750s:green:wlan5g",
- .gpio = GL_AR750S_GPIO_LED_WLAN5G,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button gl_ar750s_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_AR750S_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR750S_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "right",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = GL_AR750S_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_AR750S_GPIO_BTN_RIGHT,
- .active_low = 1,
- },
-};
-
-static struct i2c_gpio_platform_data gl_ar750s_i2c_gpio_data = {
- .sda_pin = GL_AR750S_GPIO_I2C_SDA,
- .scl_pin = GL_AR750S_GPIO_I2C_SCL,
-};
-
-static struct platform_device gl_ar750s_i2c_gpio_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &gl_ar750s_i2c_gpio_data,
- }
-
-};
-
-static struct ar8327_pad_cfg gl_ar750s_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data gl_ar750s_ar8327_data = {
- .pad0_cfg = &gl_ar750s_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-
-static struct mdio_board_info gl_ar750s_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &gl_ar750s_ar8327_data,
- },
-};
-
-static void __init gl_ar750s_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1f050000);
-
- ath79_register_spi(&gl_ar750s_spi_data, gl_ar750s_spi_info, 1);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + GL_AR750S_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(0);
-
- mdiobus_register_board_info(gl_ar750s_mdio0_info,
- ARRAY_SIZE(gl_ar750s_mdio0_info));
-
- ath79_register_mdio(0, 0x00);
- ath79_register_eth(0);
-
-
- ath79_register_usb();
-
-
- ath79_register_wmac(eeprom + GL_AR750S_WMAC_CALDATA_OFFSET, NULL);
-
-
- ap91_pci_init(eeprom + GL_AR750S_PCI_CALDATA_OFFSET, NULL);
-
- platform_device_register(&gl_ar750s_i2c_gpio_device);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar750s_leds_gpio),
- gl_ar750s_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, GL_AR750S_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_ar750s_gpio_keys),
- gl_ar750s_gpio_keys);
-}
-
-
-MIPS_MACHINE(ATH79_MACH_GL_AR750S, "GL-AR750S", "GL-AR750S",
- gl_ar750s_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c
deleted file mode 100644
index 4ff8ff637e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Domino board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define DOMINO_GPIO_LED_WLAN 0
-#define DOMINO_GPIO_LED_WAN 17
-#define DOMINO_GPIO_LED_USB 1
-#define DOMINO_GPIO_LED_LAN1 13
-#define DOMINO_GPIO_LED_LAN2 14
-#define DOMINO_GPIO_LED_LAN3 15
-#define DOMINO_GPIO_LED_LAN4 16
-#define DOMINO_GPIO_LED_SYS 27
-#define DOMINO_GPIO_LED_WPS 26
-#define DOMINO_GPIO_USB_POWER 6
-
-#define DOMINO_GPIO_BTN_RESET 11
-#define DOMINO_GPIO_BTN_WPS 20
-
-#define DOMINO_KEYS_POLL_INTERVAL 20 /* msecs */
-#define DOMINO_KEYS_DEBOUNCE_INTERVAL (3 * DOMINO_KEYS_POLL_INTERVAL)
-
-#define DOMINO_MAC0_OFFSET 0x0000
-#define DOMINO_MAC1_OFFSET 0x0000
-#define DOMINO_CALDATA_OFFSET 0x1000
-#define DOMINO_WMAC_MAC_OFFSET 0x0000
-
-static struct gpio_led domino_leds_gpio[] __initdata = {
- {
- .name = "gl-domino:blue:wlan",
- .gpio = DOMINO_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "gl-domino:red:wan",
- .gpio = DOMINO_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "gl-domino:white:usb",
- .gpio = DOMINO_GPIO_LED_USB,
- .active_low = 0,
- },
- {
- .name = "gl-domino:green:lan1",
- .gpio = DOMINO_GPIO_LED_LAN1,
- .active_low = 0,
- },
- {
- .name = "gl-domino:yellow:wps",
- .gpio = DOMINO_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "gl-domino:orange:sys",
- .gpio = DOMINO_GPIO_LED_SYS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button domino_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = DOMINO_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DOMINO_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = DOMINO_KEYS_DEBOUNCE_INTERVAL,
- .gpio = DOMINO_GPIO_BTN_WPS,
- .active_low = 0,
- }
-};
-
-static void __init domino_setup(void)
-{
-
- /* ART base address */
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* register flash. */
- ath79_register_m25p80(NULL);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(domino_leds_gpio),
- domino_leds_gpio);
- ath79_register_gpio_keys_polled(-1, DOMINO_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(domino_gpio_keys),
- domino_gpio_keys);
-
- gpio_request_one(DOMINO_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- /* enable usb */
- ath79_register_usb();
-
- /* register eth0 as WAN, eth1 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art+DOMINO_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art+DOMINO_MAC1_OFFSET, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(art + DOMINO_CALDATA_OFFSET, art + DOMINO_WMAC_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_DOMINO, "DOMINO", "Domino Pi", domino_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c
deleted file mode 100644
index 6f603d9579..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * GL-CONNECT iNet board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define GL_INET_GPIO_LED_WLAN 0
-#define GL_INET_GPIO_LED_LAN 13
-#define GL_INET_GPIO_BTN_RESET 11
-
-#define GL_INET_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GL_INET_KEYS_DEBOUNCE_INTERVAL (3 * GL_INET_KEYS_POLL_INTERVAL)
-
-static const char * gl_inet_part_probes[] = {
- "tp-link", /* dont change, this will use tplink parser */
- NULL ,
-};
-
-static struct flash_platform_data gl_inet_flash_data = {
- .part_probes = gl_inet_part_probes,
-};
-
-static struct gpio_led gl_inet_leds_gpio[] __initdata = {
- {
- .name = "gl-inet:red:wlan",
- .gpio = GL_INET_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "gl-inet:green:lan",
- .gpio = GL_INET_GPIO_LED_LAN,
- .active_low = 0,
- .default_state = 1,
- },
-};
-
-static struct gpio_keys_button gl_inet_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_INET_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_INET_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init gl_inet_setup(void)
-{
- /* get the mac address which is stored in the 1st 64k uboot MTD */
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-
- /* get the art address, which is the last 64K. By using
- 0x1fff1000, it doesn't matter it is 4M, 8M or 16M flash */
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* register flash. MTD will use tp-link parser to parser MTD */
- ath79_register_m25p80(&gl_inet_flash_data);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_inet_leds_gpio),
- gl_inet_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GL_INET_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_inet_gpio_keys),
- gl_inet_gpio_keys);
-
- /* enable usb */
- ath79_register_usb();
-
- /* register eth0 as WAN, eth1 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_INET, "GL-INET", "GL-CONNECT INET v1",
- gl_inet_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-mifi.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-mifi.c
deleted file mode 100644
index a5c68ed65a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-mifi.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Mifi board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 alzhao <alzhao@gmail.com>
- * Copyright (C) 2014 Michel Stempin <michel.stempin@wanadoo.fr>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define GL_MIFI_GPIO_LED_WAN 27
-#define GL_MIFI_GPIO_LED_LAN 16
-#define GL_MIFI_GPIO_LED_WLAN 1
-#define GL_MIFI_GPIO_LED_NET 0
-#define GL_MIFI_GPIO_LED_3GCONTROL 7
-
-#define GL_MIFI_GPIO_BTN_RESET 11
-
-#define GL_MIFI_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GL_MIFI_KEYS_DEBOUNCE_INTERVAL (3 * GL_MIFI_KEYS_POLL_INTERVAL)
-
-#define GL_MIFI_MAC0_OFFSET 0x0000
-#define GL_MIFI_MAC1_OFFSET 0x0000
-#define GL_MIFI_CALDATA_OFFSET 0x1000
-#define GL_MIFI_WMAC_MAC_OFFSET 0x0000
-
-static struct gpio_led gl_mifi_leds_gpio[] __initdata = {
- {
- .name = "gl-mifi:green:wan",
- .gpio = GL_MIFI_GPIO_LED_WAN,
- .active_low = 0,
- },
- {
- .name = "gl-mifi:green:lan",
- .gpio = GL_MIFI_GPIO_LED_LAN,
- .active_low = 0,
- },
- {
- .name = "gl-mifi:green:wlan",
- .gpio = GL_MIFI_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "gl-mifi:green:net",
- .gpio = GL_MIFI_GPIO_LED_NET,
- .active_low = 0,
- },
- {
- .name = "gl-mifi:green:3gcontrol",
- .gpio = GL_MIFI_GPIO_LED_3GCONTROL,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button gl_mifi_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_MIFI_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_MIFI_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init gl_mifi_setup(void)
-{
-
- /* ART base address */
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* register flash. */
- ath79_register_m25p80(NULL);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_mifi_leds_gpio),
- gl_mifi_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GL_MIFI_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_mifi_gpio_keys),
- gl_mifi_gpio_keys);
-
- /* enable usb */
- ath79_register_usb();
-
- /* register eth0 as WAN, eth1 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_MIFI_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_MIFI_MAC1_OFFSET, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(art + GL_MIFI_CALDATA_OFFSET, art + GL_MIFI_WMAC_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_MIFI, "GL-MIFI", "GL.iNet GL-MIFI", gl_mifi_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-usb150.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-usb150.c
deleted file mode 100644
index 6cc27e1ada..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-usb150.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * GL.iNet GL-USB150 board support
- *
- * Copyright (C) 2017 Piotr Dymacz <pepe2k@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 GL_USB150_GPIO_LED_POWER 13
-#define GL_USB150_GPIO_LED_WLAN 0
-#define GL_USB150_GPIO_LAN_RESET 7
-#define GL_USB150_GPIO_BTN_RESET 11
-
-#define GL_USB150_KEYS_POLL_INTERVAL 20
-#define GL_USB150_KEYS_DEBOUNCE_INTERVAL \
- (3 * GL_USB150_KEYS_POLL_INTERVAL)
-
-#define GL_USB150_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led gl_usb150_leds_gpio[] __initdata = {
- {
- .name = "gl-usb150:green:power",
- .gpio = GL_USB150_GPIO_LED_POWER,
- .active_low = 0,
- }, {
- .name = "gl-usb150:green:wlan",
- .gpio = GL_USB150_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button gl_usb150_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GL_USB150_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GL_USB150_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init gl_usb150_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* LAN (PHY4 connected with Realtek RTL8152B) */
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_usb150_leds_gpio),
- gl_usb150_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, GL_USB150_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gl_usb150_gpio_keys),
- gl_usb150_gpio_keys);
-
- gpio_request_one(GL_USB150_GPIO_LAN_RESET,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "LAN reset");
-
- ath79_register_wmac(art + GL_USB150_WMAC_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_GL_USB150, "GL-USB150", "GL.iNet GL-USB150",
- gl_usb150_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v32.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v32.c
deleted file mode 100644
index 469c6f39ea..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v32.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Atheros GS_MINIBOX_V3.2 reference board support
- *
- * Copyright (c) 2018 OpenWRT.org
- * Copyright (c) 2013 The Linux Foundation. All rights reserved.
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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-eth.h"
-#include "dev-ap9x-pci.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"
-#include "pci.h"
-
-#define GS_MINIBOX_V3_GPIO_LED_STATUS 14
-#define GS_MINIBOX_V3_GPIO_BTN_RST 17
-#define GS_MINIBOX_V3_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GS_MINIBOX_V3_KEYS_DEBOUNCE_INTERVAL (3 * GS_MINIBOX_V3_KEYS_POLL_INTERVAL)
-#define GS_MINIBOX_V3_MAC0_OFFSET 0
-#define GS_MINIBOX_V3_MAC1_OFFSET 6
-#define GS_MINIBOX_V3_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *gs_minibox_v3_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data gs_minibox_v3_flash_data = {
- .part_probes = gs_minibox_v3_part_probes,
-};
-
-static struct gpio_led gs_minibox_v3_leds_gpio[] __initdata = {
- {
- .name = "minibox_v3.2:green:system",
- .gpio = GS_MINIBOX_V3_GPIO_LED_STATUS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button gs_minibox_v3_gpio_keys[] __initdata = {
- {
- .desc = "reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GS_MINIBOX_V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_MINIBOX_V3_GPIO_BTN_RST,
- .active_low = 1,
- },
-};
-
-static void __init gs_minibox_v3_gpio_led_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_minibox_v3_leds_gpio),
- gs_minibox_v3_leds_gpio);
- ath79_register_gpio_keys_polled(-1, GS_MINIBOX_V3_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gs_minibox_v3_gpio_keys),
- gs_minibox_v3_gpio_keys);
-}
-
-static void __init gs_minibox_v3_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&gs_minibox_v3_flash_data);
- gs_minibox_v3_gpio_led_setup();
-
- ath79_register_usb();
-
- ath79_register_wmac(art + GS_MINIBOX_V3_WMAC_CALDATA_OFFSET, NULL);
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + GS_MINIBOX_V3_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + GS_MINIBOX_V3_MAC1_OFFSET, 0);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_GS_MINIBOX_V32, "MINIBOX-V3.2", "Minibox V3.2",
- gs_minibox_v3_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v1.c
deleted file mode 100644
index d424e0f111..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v1.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * GainStrong Oolite/MiniBox V1.0 boards support
- *
- *
- * 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 <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"
-#include "dev-usb.h"
-
-#define GS_MINIBOX_V1_GPIO_BTN_RESET 11
-#define GS_MINIBOX_V1_GPIO_LED_SYSTEM 1
-
-#define GS_OOLITE_V1_GPIO_BTN6 6
-#define GS_OOLITE_V1_GPIO_BTN7 7
-#define GS_OOLITE_V1_GPIO_BTN_RESET 11
-#define GS_OOLITE_V1_GPIO_LED_SYSTEM 27
-
-#define GS_KEYS_POLL_INTERVAL 20 /* msecs */
-#define GS_KEYS_DEBOUNCE_INTERVAL (3 * GS_KEYS_POLL_INTERVAL)
-
-static const char *gs_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data gs_flash_data = {
- .part_probes = gs_part_probes,
-};
-
-static struct gpio_led gs_minibox_v1_leds_gpio[] __initdata = {
- {
- .name = "minibox-v1:green:system",
- .gpio = GS_MINIBOX_V1_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_led gs_oolite_v1_leds_gpio[] __initdata = {
- {
- .name = "oolite-v1:red:system",
- .gpio = GS_OOLITE_V1_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button gs_minibox_v1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_MINIBOX_V1_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button gs_oolite_v1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_OOLITE_V1_GPIO_BTN_RESET,
- .active_low = 0,
- }, {
- .desc = "BTN_6",
- .type = EV_KEY,
- .code = BTN_6,
- .debounce_interval = GS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_OOLITE_V1_GPIO_BTN6,
- .active_low = 0,
- }, {
- .desc = "BTN_7",
- .type = EV_KEY,
- .code = BTN_7,
- .debounce_interval = GS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_OOLITE_V1_GPIO_BTN7,
- .active_low = 0,
- },
-};
-
-static void __init gs_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-
- ath79_register_usb();
-
- ath79_register_m25p80(&gs_flash_data);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(art, mac);
-}
-
-static void __init gs_minibox_v1_setup(void)
-{
- gs_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_minibox_v1_leds_gpio),
- gs_minibox_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, GS_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gs_minibox_v1_gpio_keys),
- gs_minibox_v1_gpio_keys);
-}
-
-static void __init gs_oolite_v1_setup(void)
-{
- gs_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_oolite_v1_leds_gpio),
- gs_oolite_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, GS_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gs_oolite_v1_gpio_keys),
- gs_oolite_v1_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_GS_MINIBOX_V1, "MINIBOX-V1", "GainStrong MiniBox V1.0",
- gs_minibox_v1_setup);
-
-MIPS_MACHINE(ATH79_MACH_GS_OOLITE_V1, "OOLITE-V1", "GainStrong Oolite V1.0",
- gs_oolite_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v5-2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v5-2.c
deleted file mode 100644
index 64dc4f3345..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite-v5-2.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * GainStrong Oolite V5.2 module and development board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define GS_OOLITE_V5_2_DEV_GPIO_BTN_RESET 17
-#define GS_OOLITE_V5_2_DEV_GPIO_LED_SYSTEM 13
-
-#define GS_KEYS_POLL_INTERVAL 20 /* msec */
-#define GS_KEYS_DEBOUNCE_INTERVAL (3 * GS_KEYS_POLL_INTERVAL)
-
-#define GS_OOLITE_V5_2_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *gs_oolite_v5_2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data gs_oolite_v5_2_flash_data = {
- .part_probes = gs_oolite_v5_2_part_probes,
-};
-
-static struct gpio_led gs_oolite_v5_2_dev_gpio_leds[] __initdata = {
- {
- .name = "oolite-v5.2-dev:blue:system",
- .gpio = GS_OOLITE_V5_2_DEV_GPIO_LED_SYSTEM,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button gs_oolite_v5_2_dev_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = GS_KEYS_DEBOUNCE_INTERVAL,
- .gpio = GS_OOLITE_V5_2_DEV_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init gs_oolite_v5_2_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&gs_oolite_v5_2_flash_data);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(4);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, art + 6, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_register_eth(0);
-
- ath79_register_pci();
- ath79_register_usb();
- ath79_register_wmac(art + GS_OOLITE_V5_2_WMAC_CALDATA_OFFSET, NULL);
-}
-
-static void __init gs_oolite_v5_2_dev_setup(void)
-{
- gs_oolite_v5_2_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_oolite_v5_2_dev_gpio_leds),
- gs_oolite_v5_2_dev_gpio_leds);
-
- ath79_register_gpio_keys_polled(-1, GS_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(gs_oolite_v5_2_dev_gpio_keys),
- gs_oolite_v5_2_dev_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_GS_OOLITE_V5_2, "OOLITE-V5-2",
- "GainStrong Oolite V5.2", gs_oolite_v5_2_setup);
-
-MIPS_MACHINE(ATH79_MACH_GS_OOLITE_V5_2_DEV, "OOLITE-V5-2-DEV",
- "GainStrong Oolite V5.2-Dev", gs_oolite_v5_2_dev_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-hiveap-121.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-hiveap-121.c
deleted file mode 100644
index 5cbb2054f7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-hiveap-121.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Aerohive HiveAP 121 board support
- *
- * Copyright (C) 2017 Chris Blake <chrisrblake93@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/i2c.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/platform/ar934x_nfc.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-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "dev-ap9x-pci.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-
-#define HIVEAP_121_GPIO_LED_ORANGE 14
-#define HIVEAP_121_GPIO_LED_WHITE 21
-#define HIVEAP_121_GPIO_I2C_SCL 12
-#define HIVEAP_121_GPIO_I2C_SDA 13
-#define HIVEAP_121_GPIO_XLNA0 20
-#define HIVEAP_121_GPIO_XLNA1 19
-#define HIVEAP_121_GPIO_USB_POWER 15
-
-#define HIVEAP_121_GPIO_BTN_RESET 4
-#define HIVEAP_121_KEYS_POLL_INTERVAL 20 /* msecs */
-#define HIVEAP_121_KEYS_DEBOUNCE_INTERVAL \
- (3 * HIVEAP_121_KEYS_POLL_INTERVAL)
-
-#define HIVEAP_121_MAC_OFFSET 0x90000
-
-#define HIVEAP_121_LAN_PHYADDR 0
-
-static struct gpio_led hiveap_121_leds_gpio[] __initdata = {
- {
- .name = "hiveap-121:orange:power",
- .gpio = HIVEAP_121_GPIO_LED_ORANGE,
- .active_low = 1,
- }, {
- .name = "hiveap-121:white:power",
- .gpio = HIVEAP_121_GPIO_LED_WHITE,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button hiveap_121_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HIVEAP_121_KEYS_DEBOUNCE_INTERVAL,
- .gpio = HIVEAP_121_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct i2c_gpio_platform_data hiveap_121_i2c_gpio_data = {
- .sda_pin = HIVEAP_121_GPIO_I2C_SDA,
- .scl_pin = HIVEAP_121_GPIO_I2C_SCL,
-};
-
-static struct platform_device hiveap_121_i2c_gpio_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &hiveap_121_i2c_gpio_data,
- }
-};
-
-static struct i2c_board_info tpm_i2c_info[] __initdata = {
- {
- I2C_BOARD_INFO("tpm_i2c_atmel", 0x29),
- }
-};
-
-static void __init hiveap_121_setup(void)
-{
- u8 *base = (u8 *) KSEG1ADDR(0x1f000000);
- u8 wlan0_mac[ETH_ALEN];
- u8 wlan1_mac[ETH_ALEN];
-
- /* NAND */
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
-
- /* SPI */
- ath79_register_m25p80(NULL);
-
- /* MDIO Interface */
- ath79_register_mdio(0, 0x0);
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_RXD_DELAY |
- AR934X_ETH_CFG_RDV_DELAY);
-
- /* GMAC0 is connected to the RGMII interface to an Atheros AR8035-A */
- ath79_init_mac(ath79_eth0_data.mac_addr,
- base + HIVEAP_121_MAC_OFFSET, 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(HIVEAP_121_LAN_PHYADDR);
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_eth0_pll_data.pll_100 = 0x00000101;
- ath79_eth0_pll_data.pll_10 = 0x00001313;
- ath79_register_eth(0);
-
- /* i2c */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
- platform_device_register(&hiveap_121_i2c_gpio_device);
-
- /* TPM */
- i2c_register_board_info(0, tpm_i2c_info, ARRAY_SIZE(tpm_i2c_info));
-
- /* LEDs and Buttons */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(hiveap_121_leds_gpio),
- hiveap_121_leds_gpio);
- ath79_register_gpio_keys_polled(-1, HIVEAP_121_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(hiveap_121_gpio_keys),
- hiveap_121_gpio_keys);
-
- /* USB */
- gpio_request_one(HIVEAP_121_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- /* XLNA - SoC Wireless */
- ath79_wmac_set_ext_lna_gpio(0, HIVEAP_121_GPIO_XLNA0);
- ath79_wmac_set_ext_lna_gpio(1, HIVEAP_121_GPIO_XLNA1);
-
- /* SoC Wireless */
- ath79_init_mac(wlan0_mac, base + HIVEAP_121_MAC_OFFSET, 1);
- ath79_register_wmac(NULL, wlan0_mac); /* Caldata in OTP */
-
- /* PCIe Wireless */
- ath79_init_mac(wlan1_mac, base + HIVEAP_121_MAC_OFFSET, 2);
- ap91_pci_init(NULL, wlan1_mac); /* Caldata in OTP */
-}
-
-MIPS_MACHINE(ATH79_MACH_HIVEAP_121, "HiveAP-121", "Aerohive HiveAP-121",
- hiveap_121_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-hiwifi-hc6361.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-hiwifi-hc6361.c
deleted file mode 100644
index 6600595c05..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-hiwifi-hc6361.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * HiWiFi HC6361 board support
- *
- * Copyright (C) 2012-2013 eric
- * Copyright (C) 2014 Yousong Zhou <yszhou4tech@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/proc_fs.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define HIWIFI_HC6361_GPIO_LED_WLAN_2P4 0 /* 2.4G WLAN LED */
-#define HIWIFI_HC6361_GPIO_LED_SYSTEM 1 /* System LED */
-#define HIWIFI_HC6361_GPIO_LED_INTERNET 27 /* Internet LED */
-
-#define HIWIFI_HC6361_GPIO_USBPOWER 20 /* USB power control */
-#define HIWIFI_HC6361_GPIO_BTN_RST 11 /* Reset button */
-
-#define HIWIFI_HC6361_KEYS_POLL_INTERVAL 20 /* msecs */
-#define HIWIFI_HC6361_KEYS_DEBOUNCE_INTERVAL \
- (3 * HIWIFI_HC6361_KEYS_POLL_INTERVAL)
-
-static struct gpio_led hiwifi_leds_gpio[] __initdata = {
- {
- .name = "hiwifi:blue:wlan-2p4",
- .gpio = HIWIFI_HC6361_GPIO_LED_WLAN_2P4,
- .active_low = 1,
- }, {
- .name = "hiwifi:blue:system",
- .gpio = HIWIFI_HC6361_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "hiwifi:blue:internet",
- .gpio = HIWIFI_HC6361_GPIO_LED_INTERNET,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button hiwifi_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HIWIFI_HC6361_KEYS_DEBOUNCE_INTERVAL,
- .gpio = HIWIFI_HC6361_GPIO_BTN_RST,
- .active_low = 1,
- }
-};
-
-static void __init get_mac_from_bdinfo(u8 *mac, void *bdinfo)
-{
- if (sscanf(bdinfo, "fac_mac = %2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
- &mac[0], &mac[1], &mac[2], &mac[3],
- &mac[4], &mac[5]) == 6) {
- return;
- }
-
- printk(KERN_WARNING "Parsing MAC address failed.\n");
- memcpy(mac, "\x00\xba\xbe\x00\x00\x00", 6);
-}
-
-static void __init hiwifi_hc6361_setup(void)
-{
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[6];
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(NULL);
- ath79_gpio_function_enable(
- AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(hiwifi_leds_gpio),
- hiwifi_leds_gpio);
- ath79_register_gpio_keys_polled(-1, HIWIFI_HC6361_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(hiwifi_gpio_keys),
- hiwifi_gpio_keys);
- gpio_request_one(HIWIFI_HC6361_GPIO_USBPOWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- get_mac_from_bdinfo(mac, (void *) KSEG1ADDR(0x1f010180));
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_HIWIFI_HC6361, "HiWiFi-HC6361",
- "HiWiFi HC6361", hiwifi_hc6361_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c
deleted file mode 100644
index 1d21424585..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * ALFA NETWORK Hornet-UB board support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define HORNET_UB_GPIO_LED_WLAN 0
-#define HORNET_UB_GPIO_LED_USB 1
-#define HORNET_UB_GPIO_LED_LAN 13
-#define HORNET_UB_GPIO_LED_WAN 17
-#define HORNET_UB_GPIO_LED_WPS 27
-#define HORNET_UB_GPIO_EXT_LNA 28
-
-#define HORNET_UB_GPIO_BTN_RESET 12
-#define HORNET_UB_GPIO_BTN_WPS 11
-
-#define HORNET_UB_GPIO_USB_POWER 26
-
-#define HORNET_UB_KEYS_POLL_INTERVAL 20 /* msecs */
-#define HORNET_UB_KEYS_DEBOUNCE_INTERVAL (3 * HORNET_UB_KEYS_POLL_INTERVAL)
-
-#define HORNET_UB_MAC0_OFFSET 0x0000
-#define HORNET_UB_MAC1_OFFSET 0x0006
-#define HORNET_UB_CALDATA_OFFSET 0x1000
-
-static struct gpio_led hornet_ub_leds_gpio[] __initdata = {
- {
- .name = "alfa:blue:lan",
- .gpio = HORNET_UB_GPIO_LED_LAN,
- .active_low = 0,
- },
- {
- .name = "alfa:blue:usb",
- .gpio = HORNET_UB_GPIO_LED_USB,
- .active_low = 0,
- },
- {
- .name = "alfa:blue:wan",
- .gpio = HORNET_UB_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "alfa:blue:wlan",
- .gpio = HORNET_UB_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "alfa:blue:wps",
- .gpio = HORNET_UB_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button hornet_ub_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = HORNET_UB_KEYS_DEBOUNCE_INTERVAL,
- .gpio = HORNET_UB_GPIO_BTN_WPS,
- .active_low = 0,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HORNET_UB_KEYS_DEBOUNCE_INTERVAL,
- .gpio = HORNET_UB_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init hornet_ub_gpio_setup(void)
-{
- u32 t;
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- t = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
- t |= AR933X_BOOTSTRAP_MDIO_GPIO_EN;
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, t);
-
- gpio_request_one(HORNET_UB_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- gpio_request_one(HORNET_UB_GPIO_EXT_LNA,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "external LNA0");
-
-}
-
-static void __init hornet_ub_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- hornet_ub_gpio_setup();
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(hornet_ub_leds_gpio),
- hornet_ub_leds_gpio);
- ath79_register_gpio_keys_polled(-1, HORNET_UB_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(hornet_ub_gpio_keys),
- hornet_ub_gpio_keys);
-
- ath79_init_mac(ath79_eth1_data.mac_addr,
- art + HORNET_UB_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + HORNET_UB_MAC1_OFFSET, 0);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + HORNET_UB_CALDATA_OFFSET, NULL);
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_HORNET_UB, "HORNET-UB", "ALFA NETWORK Hornet-UB",
- hornet_ub_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ja76pf.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ja76pf.c
deleted file mode 100644
index d1fe0f8a26..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ja76pf.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * jjPlus JA76PF board support
- */
-
-#include <linux/i2c.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define JA76PF_KEYS_POLL_INTERVAL 20 /* msecs */
-#define JA76PF_KEYS_DEBOUNCE_INTERVAL (3 * JA76PF_KEYS_POLL_INTERVAL)
-
-#define JA76PF_GPIO_I2C_SCL 0
-#define JA76PF_GPIO_I2C_SDA 1
-#define JA76PF_GPIO_LED_1 5
-#define JA76PF_GPIO_LED_2 4
-#define JA76PF_GPIO_LED_3 3
-#define JA76PF_GPIO_BTN_RESET 11
-
-static struct gpio_led ja76pf_leds_gpio[] __initdata = {
- {
- .name = "jjplus:green:led1",
- .gpio = JA76PF_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "jjplus:green:led2",
- .gpio = JA76PF_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "jjplus:green:led3",
- .gpio = JA76PF_GPIO_LED_3,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button ja76pf_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = JA76PF_KEYS_DEBOUNCE_INTERVAL,
- .gpio = JA76PF_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct i2c_gpio_platform_data ja76pf_i2c_gpio_data = {
- .sda_pin = JA76PF_GPIO_I2C_SDA,
- .scl_pin = JA76PF_GPIO_I2C_SCL,
-};
-
-static struct platform_device ja76pf_i2c_gpio_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &ja76pf_i2c_gpio_data,
- }
-};
-
-static const char *ja76pf_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data ja76pf_flash_data = {
- .part_probes = ja76pf_part_probes,
-};
-
-#define JA76PF_WAN_PHYMASK (1 << 4)
-#define JA76PF_LAN_PHYMASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 < 3))
-#define JA76PF_MDIO_PHYMASK (JA76PF_LAN_PHYMASK | JA76PF_WAN_PHYMASK)
-
-static void __init ja76pf_init(void)
-{
- ath79_register_m25p80(&ja76pf_flash_data);
-
- ath79_register_mdio(0, ~JA76PF_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = JA76PF_LAN_PHYMASK;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = JA76PF_WAN_PHYMASK;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- platform_device_register(&ja76pf_i2c_gpio_device);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ja76pf_leds_gpio),
- ja76pf_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, JA76PF_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ja76pf_gpio_keys),
- ja76pf_gpio_keys);
-
- ath79_register_usb();
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_JA76PF, "JA76PF", "jjPlus JA76PF", ja76pf_init);
-
-#define JA76PF2_GPIO_LED_D2 5
-#define JA76PF2_GPIO_LED_D3 4
-#define JA76PF2_GPIO_LED_D4 3
-#define JA76PF2_GPIO_BTN_RESET 7
-#define JA76PF2_GPIO_BTN_WPS 8
-
-static struct gpio_led ja76pf2_leds_gpio[] __initdata = {
- {
- .name = "jjplus:green:led1",
- .gpio = JA76PF2_GPIO_LED_D2,
- .active_low = 1,
- }, {
- .name = "jjplus:green:led2",
- .gpio = JA76PF2_GPIO_LED_D3,
- .active_low = 0,
- }, {
- .name = "jjplus:green:led3",
- .gpio = JA76PF2_GPIO_LED_D4,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button ja76pf2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = JA76PF_KEYS_DEBOUNCE_INTERVAL,
- .gpio = JA76PF2_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = JA76PF_KEYS_DEBOUNCE_INTERVAL,
- .gpio = JA76PF2_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-#define JA76PF2_LAN_PHYMASK BIT(0)
-#define JA76PF2_WAN_PHYMASK BIT(4)
-#define JA76PF2_MDIO_PHYMASK (JA76PF2_LAN_PHYMASK | JA76PF2_WAN_PHYMASK)
-
-static void __init ja76pf2_init(void)
-{
- ath79_register_m25p80(&ja76pf_flash_data);
-
- ath79_register_mdio(0, ~JA76PF2_MDIO_PHYMASK);
-
- /* MAC0 is connected to the CPU port of the AR8316 switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
-
- /* MAC1 is connected to the PHY4 of the AR8316 switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = BIT(4);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ja76pf2_leds_gpio),
- ja76pf2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, JA76PF_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ja76pf2_gpio_keys),
- ja76pf2_gpio_keys);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_JA76PF2, "JA76PF2", "jjPlus JA76PF2", ja76pf2_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap003.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap003.c
deleted file mode 100644
index a3c93ccd90..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap003.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * jjPlus JWAP003 board support
- *
- */
-
-#include <linux/i2c.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-gpio-buttons.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define JWAP003_KEYS_POLL_INTERVAL 20 /* msecs */
-#define JWAP003_KEYS_DEBOUNCE_INTERVAL (3 * JWAP003_KEYS_POLL_INTERVAL)
-
-#define JWAP003_GPIO_WPS 11
-#define JWAP003_GPIO_I2C_SCL 0
-#define JWAP003_GPIO_I2C_SDA 1
-
-static struct gpio_keys_button jwap003_gpio_keys[] __initdata = {
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = JWAP003_KEYS_DEBOUNCE_INTERVAL,
- .gpio = JWAP003_GPIO_WPS,
- .active_low = 1,
- }
-};
-
-static struct i2c_gpio_platform_data jwap003_i2c_gpio_data = {
- .sda_pin = JWAP003_GPIO_I2C_SDA,
- .scl_pin = JWAP003_GPIO_I2C_SCL,
-};
-
-static struct platform_device jwap003_i2c_gpio_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &jwap003_i2c_gpio_data,
- }
-};
-
-static const char *jwap003_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data jwap003_flash_data = {
- .part_probes = jwap003_part_probes,
-};
-
-#define JWAP003_WAN_PHYMASK BIT(0)
-#define JWAP003_LAN_PHYMASK BIT(4)
-
-static void __init jwap003_init(void)
-{
- ath79_register_m25p80(&jwap003_flash_data);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.phy_mask = JWAP003_WAN_PHYMASK;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.has_ar8216 = 1;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = JWAP003_LAN_PHYMASK;
- ath79_eth1_data.speed = SPEED_100;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- platform_device_register(&jwap003_i2c_gpio_device);
-
- ath79_register_usb();
-
- ath79_register_gpio_keys_polled(-1, JWAP003_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(jwap003_gpio_keys),
- jwap003_gpio_keys);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_JWAP003, "JWAP003", "jjPlus JWAP003", jwap003_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap230.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap230.c
deleted file mode 100644
index de24db4d4b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-jwap230.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * jjPlus JWAP230 board support
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@gmail.com>
- *
- * Based on mach-wpj558.c and mach-tl-wr1043nd-v2.c
- *
- * 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/phy.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.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 JWAP230_GPIO_LED_LED1 23
-#define JWAP230_GPIO_LED_LED2 22
-#define JWAP230_GPIO_LED_LED3 21
-
-#define JWAP230_MAC0_OFFSET 0x0
-#define JWAP230_MAC1_OFFSET 0x6
-#define JWAP230_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led jwap230_leds_gpio[] __initdata = {
- {
- .name = "jwap230:green:led1",
- .gpio = JWAP230_GPIO_LED_LED1,
- .active_low = 1,
- },
- {
- .name = "jwap230:green:led2",
- .gpio = JWAP230_GPIO_LED_LED2,
- .active_low = 1,
- },
- {
- .name = "jwap230:green:led3",
- .gpio = JWAP230_GPIO_LED_LED3,
- .active_low = 1,
- }
-};
-
-static const struct ar8327_led_info jwap230_leds_qca8337[] = {
- AR8327_LED_INFO(PHY0_0, HW, "jwap230:green:lan"),
- AR8327_LED_INFO(PHY4_0, HW, "jwap230:green:wan"),
-};
-
-/* Blink rate: 1 Gbps -> 8 hz, 100 Mbs -> 4 Hz, 10 Mbps -> 2 Hz */
-static struct ar8327_led_cfg jwap230_qca8337_led_cfg = {
- .led_ctrl0 = 0xcf37cf37,
- .led_ctrl1 = 0xcf37cf37,
- .led_ctrl2 = 0xcf37cf37,
- .led_ctrl3 = 0x0,
- .open_drain = true,
-};
-
-/* QCA8337 GMAC0 is connected with QCA9558 over RGMII */
-static struct ar8327_pad_cfg jwap230_qca8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .mac06_exchange_dis = true,
-};
-
-/* QCA8337 GMAC6 is connected with QCA9558 over SGMII */
-static struct ar8327_pad_cfg jwap230_qca8337_pad6_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_platform_data jwap230_qca8337_data = {
- .pad0_cfg = &jwap230_qca8337_pad0_cfg,
- .pad6_cfg = &jwap230_qca8337_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &jwap230_qca8337_led_cfg,
- .num_leds = ARRAY_SIZE(jwap230_leds_qca8337),
- .leds = jwap230_leds_qca8337,
-};
-
-static struct mdio_board_info jwap230_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &jwap230_qca8337_data,
- },
-};
-
-static void __init jwap230_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(jwap230_leds_gpio),
- jwap230_leds_gpio);
-
- mdiobus_register_board_info(jwap230_mdio0_info,
- ARRAY_SIZE(jwap230_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* QCA9558 GMAC0 is connected to RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + JWAP230_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- /* QCA9558 GMAC1 is connected to SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art + JWAP230_MAC1_OFFSET, 0);
- ath79_register_eth(1);
-
- ath79_register_wmac(art + JWAP230_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_JWAP230, "JWAP230", "jjPlus JWAP230", jwap230_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-koala.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-koala.c
deleted file mode 100644
index 41254a6d7a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-koala.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * OCEDO Koala board support
- * Based on the MR1750 machine file
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Marek Lindner <marek@open-mesh.com>
- * Copyright (c) 2018 David Bauer <mail@david-bauer.net>
- *
- * 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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define KOALA_GPIO_LED_POWER 22
-#define KOALA_GPIO_LED_WLAN_5G 13
-#define KOALA_GPIO_LED_WLAN_2G 23
-#define KOALA_GPIO_LED_WLAN_SYS 19
-
-#define KOALA_GPIO_BTN_RESET 17
-
-#define KOALA_KEYS_POLL_INTERVAL 20 /* msecs */
-#define KOALA_KEYS_DEBOUNCE_INTERVAL (3 * KOALA_KEYS_POLL_INTERVAL)
-
-#define KOALA_LAN_MAC_OFFSET 0
-#define KOALA_WIFI2G_MAC_OFFSET 0x06
-#define KOALA_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led koala_leds_gpio[] __initdata = {
- {
- .name = "koala:green:power",
- .gpio = KOALA_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "koala:red:wlan58",
- .gpio = KOALA_GPIO_LED_WLAN_5G,
- .active_low = 1,
- },
- {
- .name = "koala:yellow:wlan2",
- .gpio = KOALA_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "koala:blue:sys",
- .gpio = KOALA_GPIO_LED_WLAN_SYS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button koala_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = KOALA_KEYS_DEBOUNCE_INTERVAL,
- .gpio = KOALA_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data koala_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 0,
- .fixup_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info koala_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 5,
- .platform_data = &koala_at803x_data,
- },
-};
-
-static void __init koala_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init koala_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_eth0_pll_data.pll_1000 = 0xae000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0xa0001313;
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(koala_leds_gpio),
- koala_leds_gpio);
- ath79_register_gpio_keys_polled(-1, KOALA_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(koala_gpio_keys),
- koala_gpio_keys);
-
- ath79_init_mac(mac, art + KOALA_WIFI2G_MAC_OFFSET, 0);
- ath79_register_wmac(art + KOALA_WMAC_CALDATA_OFFSET, mac);
- ath79_register_pci();
-
- koala_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(koala_mdio0_info,
- ARRAY_SIZE(koala_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + KOALA_LAN_MAC_OFFSET, 0);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(5);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_KOALA, "KOALA", "OCEDO Koala", koala_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-lan-turtle.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-lan-turtle.c
deleted file mode 100644
index d2faa2c740..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-lan-turtle.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Hak5 LAN Turtle and Packet Squirrel boards support
- *
- * Copyright (C) 2018 Sebastian Kinne <seb@hak5.org>
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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 <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-usb.h"
-#include "machtypes.h"
-
-#define LAN_TURTLE_GPIO_BTN_RESET 11
-#define LAN_TURTLE_GPIO_LED_SYS 13
-
-#define PACKET_SQUIRREL_GPIO_BTN_SW1 18
-#define PACKET_SQUIRREL_GPIO_BTN_SW2 20
-#define PACKET_SQUIRREL_GPIO_BTN_SW3 21
-#define PACKET_SQUIRREL_GPIO_BTN_SW4 24
-#define PACKET_SQUIRREL_GPIO_BTN_RESET 11
-#define PACKET_SQUIRREL_GPIO_LED_B 23
-#define PACKET_SQUIRREL_GPIO_LED_G 22
-#define PACKET_SQUIRREL_GPIO_LED_R 19
-
-#define HAK5_KEYS_POLL_INTERVAL 20 /* msecs */
-#define HAK5_KEYS_DEBOUNCE_INTERVAL (3 * HAK5_KEYS_POLL_INTERVAL)
-
-static const char *hak5_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data hak5_flash_data = {
- .part_probes = hak5_part_probes,
-};
-
-/* LAN Turtle */
-static struct gpio_led lan_turtle_leds_gpio[] __initdata = {
- {
- .name = "lan-turtle:orange:system",
- .gpio = LAN_TURTLE_GPIO_LED_SYS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button lan_turtle_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = LAN_TURTLE_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-/* Packet Squirrel */
-static struct gpio_led packet_squirrel_leds_gpio[] __initdata = {
- {
- .name = "packet-squirrel:blue:system",
- .gpio = PACKET_SQUIRREL_GPIO_LED_B,
- .active_low = 1,
- }, {
- .name = "packet-squirrel:green:system",
- .gpio = PACKET_SQUIRREL_GPIO_LED_G,
- .active_low = 1,
- }, {
- .name = "packet-squirrel:red:system",
- .gpio = PACKET_SQUIRREL_GPIO_LED_R,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button packet_squirrel_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PACKET_SQUIRREL_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PACKET_SQUIRREL_GPIO_BTN_SW1,
- .active_low = 1,
- }, {
- .desc = "sw2",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PACKET_SQUIRREL_GPIO_BTN_SW2,
- .active_low = 1,
- }, {
- .desc = "sw3",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PACKET_SQUIRREL_GPIO_BTN_SW3,
- .active_low = 1,
- }, {
- .desc = "sw4",
- .type = EV_KEY,
- .code = BTN_3,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PACKET_SQUIRREL_GPIO_BTN_SW4,
- .active_low = 1,
- },
-};
-
-static void __init hak5_common_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-
- ath79_register_m25p80(&hak5_flash_data);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy_poll_mask = 0xfe;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- /* GPIO11/12 */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_UART_RTS_CTS_EN);
-}
-
-static void __init lan_turtle_setup(void)
-{
- hak5_common_setup();
-
- /* GPIO13 */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(lan_turtle_leds_gpio),
- lan_turtle_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, HAK5_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(lan_turtle_gpio_keys),
- lan_turtle_gpio_keys);
-}
-
-static void __init packet_squirrel_setup(void)
-{
- hak5_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(packet_squirrel_leds_gpio),
- packet_squirrel_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, HAK5_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(packet_squirrel_gpio_keys),
- packet_squirrel_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_LAN_TURTLE, "LAN-TURTLE",
- "Hak5 LAN Turtle", lan_turtle_setup);
-
-MIPS_MACHINE(ATH79_MACH_PACKET_SQUIRREL, "PACKET-SQUIRREL",
- "Hak5 Packet Squirrel", packet_squirrel_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-lima.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-lima.c
deleted file mode 100644
index 9867429684..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-lima.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 8devices Lima board support
- *
- * Copyright (C) 2016 Mantas Pucka <mantas@8devices.com>
- * Copyright (C) 2017 Karol Dudek <karoiz@sli.pl>
- *
- * 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/platform_device.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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"
-#include "pci.h"
-
-#define LIMA_GPIO_BTN_1_DEFAULT 16
-#define LIMA_KEYS_POLL_INTERVAL 20 /* msecs */
-#define LIMA_KEYS_DEBOUNCE_INTERVAL (3 * LIMA_KEYS_POLL_INTERVAL)
-
-#define LIMA_ETH_PHYS (BIT(0) | BIT(1))
-
-#define LIMA_MAC0_OFFSET 0x0000
-#define LIMA_MAC1_OFFSET 0x0006
-
-#define LIMA_CALDATA_OFFSET 0x1000
-
-static struct gpio_keys_button lima_gpio_keys[] __initdata = {
- {
- .desc = "button1",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = LIMA_KEYS_DEBOUNCE_INTERVAL,
- .gpio = LIMA_GPIO_BTN_1_DEFAULT,
- .active_low = 1,
- }
-};
-
-static void __init lima_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f080000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_gpio_keys_polled(-1, LIMA_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(lima_gpio_keys),
- lima_gpio_keys);
-
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + LIMA_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + LIMA_MAC1_OFFSET, 0);
-
- ath79_register_mdio(0, ~LIMA_ETH_PHYS);
-
- ath79_switch_data.phy4_mii_en = 1;
-
- ath79_switch_data.phy_poll_mask |= BIT(0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_mask = BIT(1);
- ath79_register_eth(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(0);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + LIMA_CALDATA_OFFSET, NULL);
- ath79_register_usb();
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_LIMA, "LIMA", "8devices Lima board", lima_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mc-mac1200r.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mc-mac1200r.c
deleted file mode 100644
index 70051cff47..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mc-mac1200r.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * MERCURY MAC1200R board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 Gui Iribarren <gui@altermundi.net>
- *
- * 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/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-wmac.h"
-#include "machtypes.h"
-
-#define MAC1200R_GPIO_LED_WLAN2G 13
-#define MAC1200R_GPIO_LED_WLAN5G 17
-#define MAC1200R_GPIO_LED_SYSTEM 14
-#define MAC1200R_GPIO_LED_WPS 11
-#define MAC1200R_GPIO_LED_WAN 12
-#define MAC1200R_GPIO_LED_LAN1 15
-#define MAC1200R_GPIO_LED_LAN2 21
-#define MAC1200R_GPIO_LED_LAN3 22
-#define MAC1200R_GPIO_LED_LAN4 20
-
-#define MAC1200R_GPIO_BTN_WPS 16
-
-#define MAC1200R_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MAC1200R_KEYS_DEBOUNCE_INTERVAL (3 * MAC1200R_KEYS_POLL_INTERVAL)
-
-#define MAC1200R_MAC0_OFFSET 0
-#define MAC1200R_MAC1_OFFSET 6
-#define MAC1200R_WMAC_CALDATA_OFFSET 0x1000
-#define MAC1200R_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *mac1200r_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data mac1200r_flash_data = {
- .part_probes = mac1200r_part_probes,
-};
-
-static struct gpio_led mac1200r_leds_gpio[] __initdata = {
- {
- .name = "mercury:green:wps",
- .gpio = MAC1200R_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "mercury:green:system",
- .gpio = MAC1200R_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "mercury:green:wlan2g",
- .gpio = MAC1200R_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "mercury:green:wlan5g",
- .gpio = MAC1200R_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mac1200r_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MAC1200R_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MAC1200R_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-
-static void __init mac1200r_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&mac1200r_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mac1200r_leds_gpio),
- mac1200r_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, MAC1200R_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mac1200r_gpio_keys),
- mac1200r_gpio_keys);
-
- ath79_init_mac(tmpmac, mac, 0);
- ath79_wmac_disable_5ghz();
- ath79_register_wmac(art + MAC1200R_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_init_mac(tmpmac, mac, 1);
- ap91_pci_init(art + MAC1200R_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* LAN */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 2);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- 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_register_eth(0);
-
- ath79_gpio_output_select(MAC1200R_GPIO_LED_LAN1,
- AR934X_GPIO_OUT_LED_LINK3);
- ath79_gpio_output_select(MAC1200R_GPIO_LED_LAN2,
- AR934X_GPIO_OUT_LED_LINK2);
- ath79_gpio_output_select(MAC1200R_GPIO_LED_LAN3,
- AR934X_GPIO_OUT_LED_LINK1);
- ath79_gpio_output_select(MAC1200R_GPIO_LED_LAN4,
- AR934X_GPIO_OUT_LED_LINK0);
- ath79_gpio_output_select(MAC1200R_GPIO_LED_WAN,
- AR934X_GPIO_OUT_LED_LINK4);
-}
-
-MIPS_MACHINE(ATH79_MACH_MC_MAC1200R, "MC-MAC1200R",
- "MERCURY MAC1200R",
- mac1200r_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr12.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr12.c
deleted file mode 100644
index 5a337e5c9f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr12.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Cisco Meraki MR12 board support
- *
- * Copyright (C) 2014-2015 Chris Blake <chrisrblake93@gmail.com>
- *
- * Based on Atheros AP96 board support configuration
- *
- * Copyright (C) 2009 Marco Porsch
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Atheros Communications
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define MR12_GPIO_LED_W4_GREEN 14
-#define MR12_GPIO_LED_W3_GREEN 13
-#define MR12_GPIO_LED_W2_GREEN 12
-#define MR12_GPIO_LED_W1_GREEN 11
-
-#define MR12_GPIO_LED_WAN 15
-
-#define MR12_GPIO_LED_POWER_ORANGE 16
-#define MR12_GPIO_LED_POWER_GREEN 17
-
-#define MR12_GPIO_BTN_RESET 8
-#define MR12_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR12_KEYS_DEBOUNCE_INTERVAL (3 * MR12_KEYS_POLL_INTERVAL)
-
-#define MR12_WAN_PHYMASK BIT(4)
-
-#define MR12_CALDATA0_OFFSET 0x21000
-
-static struct gpio_led MR12_leds_gpio[] __initdata = {
- {
- .name = "mr12:green:wan",
- .gpio = MR12_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "mr12:orange:power",
- .gpio = MR12_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- }, {
- .name = "mr12:green:power",
- .gpio = MR12_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "mr12:green:wifi4",
- .gpio = MR12_GPIO_LED_W4_GREEN,
- .active_low = 1,
- }, {
- .name = "mr12:green:wifi3",
- .gpio = MR12_GPIO_LED_W3_GREEN,
- .active_low = 1,
- }, {
- .name = "mr12:green:wifi2",
- .gpio = MR12_GPIO_LED_W2_GREEN,
- .active_low = 1,
- }, {
- .name = "mr12:green:wifi1",
- .gpio = MR12_GPIO_LED_W1_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button MR12_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR12_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR12_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init MR12_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0xbffd0000);
- u8 wlan_mac[ETH_ALEN];
-
- ath79_register_mdio(0,0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = MR12_WAN_PHYMASK;
- ath79_register_eth(0);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(MR12_leds_gpio),
- MR12_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MR12_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(MR12_gpio_keys),
- MR12_gpio_keys);
-
- ath79_init_mac(wlan_mac, mac, 1);
- ap91_pci_init(mac + MR12_CALDATA0_OFFSET, wlan_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR12, "MR12", "Meraki MR12", MR12_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr16.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr16.c
deleted file mode 100644
index 9da21eab5a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr16.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Cisco Meraki MR16 board support
- *
- * Copyright (C) 2015 Chris Blake <chrisrblake93@gmail.com>
- *
- * Based on Atheros AP96 board support configuration
- *
- * Copyright (C) 2009 Marco Porsch
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Atheros Communications
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define MR16_GPIO_LED_W4_GREEN 3
-#define MR16_GPIO_LED_W3_GREEN 2
-#define MR16_GPIO_LED_W2_GREEN 1
-#define MR16_GPIO_LED_W1_GREEN 0
-
-#define MR16_GPIO_LED_WAN 4
-
-#define MR16_GPIO_LED_POWER_ORANGE 5
-#define MR16_GPIO_LED_POWER_GREEN 6
-
-#define MR16_GPIO_BTN_RESET 7
-#define MR16_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR16_KEYS_DEBOUNCE_INTERVAL (3 * MR16_KEYS_POLL_INTERVAL)
-
-#define MR16_WAN_PHYMASK BIT(0)
-
-#define MR16_CALDATA0_OFFSET 0x21000
-#define MR16_CALDATA1_OFFSET 0x25000
-
-static struct gpio_led MR16_leds_gpio[] __initdata = {
- {
- .name = "mr16:green:wan",
- .gpio = MR16_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "mr16:orange:power",
- .gpio = MR16_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- }, {
- .name = "mr16:green:power",
- .gpio = MR16_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "mr16:green:wifi4",
- .gpio = MR16_GPIO_LED_W4_GREEN,
- .active_low = 1,
- }, {
- .name = "mr16:green:wifi3",
- .gpio = MR16_GPIO_LED_W3_GREEN,
- .active_low = 1,
- }, {
- .name = "mr16:green:wifi2",
- .gpio = MR16_GPIO_LED_W2_GREEN,
- .active_low = 1,
- }, {
- .name = "mr16:green:wifi1",
- .gpio = MR16_GPIO_LED_W1_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button MR16_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR16_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR16_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init MR16_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0xbffd0000);
- u8 wlan0_mac[ETH_ALEN];
- u8 wlan1_mac[ETH_ALEN];
-
- ath79_register_mdio(0,0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = MR16_WAN_PHYMASK;
- ath79_register_eth(0);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(MR16_leds_gpio),
- MR16_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MR16_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(MR16_gpio_keys),
- MR16_gpio_keys);
-
- ath79_init_mac(wlan0_mac, mac, 1);
- ath79_init_mac(wlan1_mac, mac, 2);
- ap94_pci_init(mac + MR16_CALDATA0_OFFSET, wlan0_mac,
- mac + MR16_CALDATA1_OFFSET, wlan1_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR16, "MR16", "Meraki MR16", MR16_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
deleted file mode 100644
index 987ed4bd5d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * MR1750 board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Marek Lindner <marek@open-mesh.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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define MR1750_GPIO_LED_LAN 12
-#define MR1750_GPIO_LED_WLAN_2G 13
-#define MR1750_GPIO_LED_STATUS_GREEN 19
-#define MR1750_GPIO_LED_STATUS_RED 21
-#define MR1750_GPIO_LED_POWER 22
-#define MR1750_GPIO_LED_WLAN_5G 23
-
-#define MR1750_GPIO_BTN_RESET 17
-
-#define MR1750_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR1750_KEYS_DEBOUNCE_INTERVAL (3 * MR1750_KEYS_POLL_INTERVAL)
-
-#define MR1750_MAC0_OFFSET 0
-#define MR1750_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led mr1750_leds_gpio[] __initdata = {
- {
- .name = "mr1750:blue:power",
- .gpio = MR1750_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "mr1750:blue:wan",
- .gpio = MR1750_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "mr1750:blue:wlan24",
- .gpio = MR1750_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "mr1750:blue:wlan58",
- .gpio = MR1750_GPIO_LED_WLAN_5G,
- .active_low = 1,
- },
- {
- .name = "mr1750:green:status",
- .gpio = MR1750_GPIO_LED_STATUS_GREEN,
- .active_low = 1,
- },
- {
- .name = "mr1750:red:status",
- .gpio = MR1750_GPIO_LED_STATUS_RED,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mr1750_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR1750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR1750_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data mr1750_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 0,
- .fixup_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info mr1750_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 5,
- .platform_data = &mr1750_at803x_data,
- },
-};
-
-static void __init mr1750_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init mr1750_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_eth0_pll_data.pll_1000 = 0xae000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0xa0001313;
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mr1750_leds_gpio),
- mr1750_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MR1750_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mr1750_gpio_keys),
- mr1750_gpio_keys);
-
- ath79_init_mac(mac, art + MR1750_MAC0_OFFSET, 1);
- ath79_register_wmac(art + MR1750_WMAC_CALDATA_OFFSET, mac);
- ath79_register_pci();
-
- mr1750_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(mr1750_mdio0_info,
- ARRAY_SIZE(mr1750_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + MR1750_MAC0_OFFSET, 0);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(5);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR1750, "MR1750", "OpenMesh MR1750", mr1750_setup);
-MIPS_MACHINE(ATH79_MACH_MR1750V2, "MR1750v2", "OpenMesh MR1750v2", mr1750_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr18.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr18.c
deleted file mode 100644
index 2d2fb6e84c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr18.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Cisco Meraki MR18 board support
- *
- * Copyright (C) 2015 Chris Blake <chrisrblake93@gmail.com>
- * Copyright (C) 2015 Christian Lamparter <chunkeey@googlemail.com>
- * Copyright (C) 2015 Thomas Hebb <tommyhebb@gmail.com>
- *
- * Based on Cisco Meraki GPL Release r23-20150601 MR18 Device Config
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/platform/ar934x_nfc.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/leds-nu801.h>
-#include <linux/pci.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-nfc.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define MR18_GPIO_LED_POWER_WHITE 18
-#define MR18_GPIO_LED_POWER_ORANGE 21
-
-#define MR18_GPIO_BTN_RESET 17
-#define MR18_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR18_KEYS_DEBOUNCE_INTERVAL (3 * MR18_KEYS_POLL_INTERVAL)
-
-#define MR18_WAN_PHYADDR 3
-
-/* used for eth calibration */
-#define MR18_OTP_BASE (AR71XX_APB_BASE + 0x130000)
-#define MR18_OTP_SIZE (0x2000) /* just a guess */
-#define MR18_OTP_MEM_0_REG (0x0000)
-#define MR18_OTP_INTF2_REG (0x1008)
-#define MR18_OTP_STATUS0_REG (0x1018)
-#define MR18_OTP_STATUS0_EFUSE_VALID BIT(2)
-
-#define MR18_OTP_STATUS1_REG (0x101c)
-#define MR18_OTP_LDO_CTRL_REG (0x1024)
-#define MR18_OTP_LDO_STATUS_REG (0x102c)
-#define MR18_OTP_LDO_STATUS_POWER_ON BIT(0)
-
-static struct gpio_led MR18_leds_gpio[] __initdata = {
- {
- .name = "mr18:white:power",
- .gpio = MR18_GPIO_LED_POWER_WHITE,
- .active_low = 1,
- }, {
- .name = "mr18:orange:power",
- .gpio = MR18_GPIO_LED_POWER_ORANGE,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button MR18_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR18_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR18_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct led_nu801_template tricolor_led_template = {
- .device_name = "mr18",
- .name = "tricolor",
- .num_leds = 1,
- .cki = 11,
- .sdi = 12,
- .lei = -1,
- .ndelay = 500,
- .init_brightness = {
- LED_OFF,
- LED_OFF,
- LED_OFF,
- },
- .default_trigger = "none",
- .led_colors = { "red", "green", "blue" },
-};
-
-static struct led_nu801_platform_data tricolor_led_data = {
- .num_controllers = 1,
- .template = &tricolor_led_template,
-};
-
-static struct platform_device tricolor_leds = {
- .name = "leds-nu801",
- .id = -1,
- .dev.platform_data = &tricolor_led_data,
-};
-
-static int mr18_extract_sgmii_res_cal(void)
-{
- void __iomem *base;
- unsigned int reversed_sgmii_value;
-
- unsigned int otp_value, otp_per_val, rbias_per, read_data;
- unsigned int rbias_pos_or_neg;
- unsigned int sgmii_res_cal_value;
- int res_cal_val;
-
- base = ioremap_nocache(MR18_OTP_BASE, MR18_OTP_SIZE);
- if (!base)
- return -EIO;
-
- __raw_writel(0x7d, base + MR18_OTP_INTF2_REG);
- __raw_writel(0x00, base + MR18_OTP_LDO_CTRL_REG);
-
- while (__raw_readl(base + MR18_OTP_LDO_STATUS_REG) &
- MR18_OTP_LDO_STATUS_POWER_ON);
-
- __raw_readl(base + MR18_OTP_MEM_0_REG + 4);
-
- while (!(__raw_readl(base + MR18_OTP_STATUS0_REG) &
- MR18_OTP_STATUS0_EFUSE_VALID));
-
- read_data = __raw_readl(base + MR18_OTP_STATUS1_REG);
-
- iounmap(base);
-
- if (!(read_data & 0x1fff))
- return -ENODEV;
-
- if (read_data & 0x00001000)
- otp_value = (read_data & 0xfc0) >> 6;
- else
- otp_value = read_data & 0x3f;
-
- if (otp_value > 31) {
- otp_per_val = 63 - otp_value;
- rbias_pos_or_neg = 1;
- } else {
- otp_per_val = otp_value;
- rbias_pos_or_neg = 0;
- }
-
- rbias_per = otp_per_val * 15;
-
- if (rbias_pos_or_neg == 1)
- res_cal_val = (rbias_per + 34) / 21;
- else if (rbias_per > 34)
- res_cal_val = -((rbias_per - 34) / 21);
- else
- res_cal_val = (34 - rbias_per) / 21;
-
- sgmii_res_cal_value = (8 + res_cal_val) & 0xf;
-
- reversed_sgmii_value = (sgmii_res_cal_value & 8) >> 3;
- reversed_sgmii_value |= (sgmii_res_cal_value & 4) >> 1;
- reversed_sgmii_value |= (sgmii_res_cal_value & 2) << 1;
- reversed_sgmii_value |= (sgmii_res_cal_value & 1) << 3;
- printk(KERN_INFO "SGMII cal value = 0x%x\n", reversed_sgmii_value);
- return reversed_sgmii_value;
-}
-
-static void mr18_setup_qca955x_eth_serdes_cal(unsigned int sgmii_value)
-{
- void __iomem *ethbase, *pllbase;
- u32 t;
-
- ethbase = ioremap_nocache(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
- pllbase = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
-
- /* To Check the locking of the SGMII PLL */
- t = __raw_readl(ethbase + QCA955X_GMAC_REG_SGMII_SERDES);
- t &= ~(QCA955X_SGMII_SERDES_RES_CALIBRATION_MASK <<
- QCA955X_SGMII_SERDES_RES_CALIBRATION_SHIFT);
- t |= (sgmii_value & QCA955X_SGMII_SERDES_RES_CALIBRATION_MASK) <<
- QCA955X_SGMII_SERDES_RES_CALIBRATION_SHIFT;
- __raw_writel(t, ethbase + QCA955X_GMAC_REG_SGMII_SERDES);
-
- __raw_writel(QCA955X_PLL_ETH_SGMII_SERDES_LOCK_DETECT |
- QCA955X_PLL_ETH_SGMII_SERDES_PLL_REFCLK |
- QCA955X_PLL_ETH_SGMII_SERDES_EN_PLL,
- pllbase + QCA955X_PLL_ETH_SGMII_SERDES_REG);
-
- ath79_device_reset_clear(QCA955X_RESET_SGMII_ANALOG);
- ath79_device_reset_clear(QCA955X_RESET_SGMII);
-
- while (!(__raw_readl(ethbase + QCA955X_GMAC_REG_SGMII_SERDES) &
- QCA955X_SGMII_SERDES_LOCK_DETECT_STATUS));
-
- iounmap(ethbase);
- iounmap(pllbase);
-}
-
-static struct ath9k_platform_data pci_main_wifi_data = {
- .led_pin = -1,
-};
-static struct ath9k_platform_data pci_scan_wifi_data = {
- .led_pin = -1,
-};
-
-static int mr18_dual_pci_plat_dev_init(struct pci_dev *dev)
-{
- /* The PCIE devices are attached to different busses but they
- * both share the same slot number. Checking the PCI_SLOT vals
- * does not work.
- */
- switch (dev->bus->number) {
- case 0:
- dev->dev.platform_data = &pci_main_wifi_data;
- break;
- case 1:
- dev->dev.platform_data = &pci_scan_wifi_data;
- break;
- }
-
- return 0;
-}
-
-static void __init mr18_setup(void)
-{
- int res;
-
- /* NAND */
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_SOFT_BCH);
- ath79_register_nfc();
-
- /* even though, the PHY is connected via RGMII,
- * the SGMII/SERDES PLLs need to be calibrated and locked.
- * Or else, the PHY won't be working for this platfrom.
- *
- * Figuring this out took such a long time, that we want to
- * point this quirk out, before someone wants to remove it.
- */
- res = mr18_extract_sgmii_res_cal();
- if (res >= 0) {
- /* Setup SoC Eth Config */
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN |
- (3 << QCA955X_ETH_CFG_RXD_DELAY_SHIFT) |
- (3 << QCA955X_ETH_CFG_RDV_DELAY_SHIFT));
-
- /* MDIO Interface */
- ath79_register_mdio(0, 0x0);
-
- mr18_setup_qca955x_eth_serdes_cal(res);
-
- /* GMAC0 is connected to an Atheros AR8035-A */
- ath79_init_mac(ath79_eth0_data.mac_addr, NULL, 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(MR18_WAN_PHYADDR);
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
- ath79_register_eth(0);
- } else {
- printk(KERN_ERR "failed to read EFUSE for ethernet cal\n");
- }
-
- /* LEDs and Buttons */
- platform_device_register(&tricolor_leds);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(MR18_leds_gpio),
- MR18_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MR18_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(MR18_gpio_keys),
- MR18_gpio_keys);
-
- /* Clear RTC reset (Needed by SoC WiFi) */
- ath79_device_reset_clear(QCA955X_RESET_RTC);
-
- /* WiFi */
- ath79_register_wmac_simple();
-
- pci_main_wifi_data.eeprom_name = "pci_wmac0.eeprom";
- pci_scan_wifi_data.eeprom_name = "pci_wmac1.eeprom";
- ath79_pci_set_plat_dev_init(mr18_dual_pci_plat_dev_init);
- ath79_register_pci();
-}
-MIPS_MACHINE(ATH79_MACH_MR18, "MR18", "Meraki MR18", mr18_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr600.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr600.c
deleted file mode 100644
index 701330cebd..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr600.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * OpenMesh OM2P board support
- *
- * Copyright (C) 2012 Marek Lindner <marek@open-mesh.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 <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 MR600_GPIO_LED_WLAN58 12
-#define MR600_GPIO_LED_WPS 13
-#define MR600_GPIO_LED_POWER 14
-
-#define MR600V2_GPIO_LED_WLAN58_RED 12
-#define MR600V2_GPIO_LED_WPS 13
-#define MR600V2_GPIO_LED_POWER 14
-#define MR600V2_GPIO_LED_WLAN24_GREEN 18
-#define MR600V2_GPIO_LED_WLAN24_YELLOW 19
-#define MR600V2_GPIO_LED_WLAN24_RED 20
-#define MR600V2_GPIO_LED_WLAN58_GREEN 21
-#define MR600V2_GPIO_LED_WLAN58_YELLOW 22
-
-#define MR600_GPIO_BTN_RESET 17
-
-#define MR600_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR600_KEYS_DEBOUNCE_INTERVAL (3 * MR600_KEYS_POLL_INTERVAL)
-
-#define MR600_MAC_OFFSET 0
-#define MR600_WMAC_CALDATA_OFFSET 0x1000
-#define MR600_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led mr600_leds_gpio[] __initdata = {
- {
- .name = "mr600:orange:power",
- .gpio = MR600_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "mr600:blue:wps",
- .gpio = MR600_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "mr600:green:wlan58",
- .gpio = MR600_GPIO_LED_WLAN58,
- .active_low = 1,
- },
-};
-
-static struct gpio_led mr600v2_leds_gpio[] __initdata = {
- {
- .name = "mr600:blue:power",
- .gpio = MR600V2_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "mr600:blue:wps",
- .gpio = MR600V2_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "mr600:red:wlan24",
- .gpio = MR600V2_GPIO_LED_WLAN24_RED,
- .active_low = 1,
- },
- {
- .name = "mr600:yellow:wlan24",
- .gpio = MR600V2_GPIO_LED_WLAN24_YELLOW,
- .active_low = 1,
- },
- {
- .name = "mr600:green:wlan24",
- .gpio = MR600V2_GPIO_LED_WLAN24_GREEN,
- .active_low = 1,
- },
- {
- .name = "mr600:red:wlan58",
- .gpio = MR600V2_GPIO_LED_WLAN58_RED,
- .active_low = 1,
- },
- {
- .name = "mr600:yellow:wlan58",
- .gpio = MR600V2_GPIO_LED_WLAN58_YELLOW,
- .active_low = 1,
- },
- {
- .name = "mr600:green:wlan58",
- .gpio = MR600V2_GPIO_LED_WLAN58_GREEN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mr600_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR600_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR600_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init mr600_base_setup(unsigned num_leds, struct gpio_led *leds)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, num_leds, leds);
- ath79_register_gpio_keys_polled(-1, MR600_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mr600_gpio_keys),
- mr600_gpio_keys);
-
- ath79_init_mac(mac, art + MR600_MAC_OFFSET, 1);
- ath79_register_wmac(art + MR600_WMAC_CALDATA_OFFSET, mac);
-
- ath79_init_mac(mac, art + MR600_MAC_OFFSET, 8);
- ap91_pci_init(art + MR600_PCIE_CALDATA_OFFSET, mac);
-
- 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 + MR600_MAC_OFFSET, 0);
-
- /* GMAC0 is connected to an external PHY */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-static void __init mr600_setup(void)
-{
- mr600_base_setup(ARRAY_SIZE(mr600_leds_gpio), mr600_leds_gpio);
- ap9x_pci_setup_wmac_led_pin(0, 0);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR600, "MR600", "OpenMesh MR600", mr600_setup);
-
-static void __init mr600v2_setup(void)
-{
- mr600_base_setup(ARRAY_SIZE(mr600v2_leds_gpio), mr600v2_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR600V2, "MR600v2", "OpenMesh MR600v2", mr600v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
deleted file mode 100644
index 6b83c4cdf4..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * MR900 board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Marek Lindner <marek@open-mesh.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/platform_device.h>
-#include <linux/ar8216_platform.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define MR900_GPIO_LED_LAN 12
-#define MR900_GPIO_LED_WLAN_2G 13
-#define MR900_GPIO_LED_STATUS_GREEN 19
-#define MR900_GPIO_LED_STATUS_RED 21
-#define MR900_GPIO_LED_POWER 22
-#define MR900_GPIO_LED_WLAN_5G 23
-
-#define MR900_GPIO_BTN_RESET 17
-
-#define MR900_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MR900_KEYS_DEBOUNCE_INTERVAL (3 * MR900_KEYS_POLL_INTERVAL)
-
-#define MR900_MAC0_OFFSET 0
-#define MR900_WMAC_CALDATA_OFFSET 0x1000
-#define MR900_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led mr900_leds_gpio[] __initdata = {
- {
- .name = "mr900:blue:power",
- .gpio = MR900_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "mr900:blue:wan",
- .gpio = MR900_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "mr900:blue:wlan24",
- .gpio = MR900_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "mr900:blue:wlan58",
- .gpio = MR900_GPIO_LED_WLAN_5G,
- .active_low = 1,
- },
- {
- .name = "mr900:green:status",
- .gpio = MR900_GPIO_LED_STATUS_GREEN,
- .active_low = 1,
- },
- {
- .name = "mr900:red:status",
- .gpio = MR900_GPIO_LED_STATUS_RED,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mr900_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MR900_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MR900_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data mr900_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 0,
- .fixup_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info mr900_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 5,
- .platform_data = &mr900_at803x_data,
- },
-};
-
-static void __init mr900_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init mr900_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6], pcie_mac[6];
- struct ath9k_platform_data *pdata;
-
- ath79_eth0_pll_data.pll_1000 = 0xae000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0xa0001313;
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mr900_leds_gpio),
- mr900_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MR900_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mr900_gpio_keys),
- mr900_gpio_keys);
-
- ath79_init_mac(mac, art + MR900_MAC0_OFFSET, 1);
- ath79_register_wmac(art + MR900_WMAC_CALDATA_OFFSET, mac);
- ath79_init_mac(pcie_mac, art + MR900_MAC0_OFFSET, 16);
- ap91_pci_init(art + MR900_PCIE_CALDATA_OFFSET, pcie_mac);
- pdata = ap9x_pci_get_wmac_data(0);
- if (!pdata) {
- pr_err("mr900: unable to get address of wlan data\n");
- return;
- }
- pdata->use_eeprom = true;
-
- mr900_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(mr900_mdio0_info,
- ARRAY_SIZE(mr900_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + MR900_MAC0_OFFSET, 0);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(5);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_MR900, "MR900", "OpenMesh MR900", mr900_setup);
-MIPS_MACHINE(ATH79_MACH_MR900v2, "MR900v2", "OpenMesh MR900v2", mr900_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c
deleted file mode 100644
index a87413d201..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * WD My Net N600 board support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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"
-#include "nvram.h"
-
-#define MYNET_N600_GPIO_LED_WIFI 0
-#define MYNET_N600_GPIO_LED_POWER 11
-#define MYNET_N600_GPIO_LED_INTERNET 12
-#define MYNET_N600_GPIO_LED_WPS 13
-
-#define MYNET_N600_GPIO_LED_LAN1 4
-#define MYNET_N600_GPIO_LED_LAN2 3
-#define MYNET_N600_GPIO_LED_LAN3 2
-#define MYNET_N600_GPIO_LED_LAN4 1
-
-#define MYNET_N600_GPIO_BTN_RESET 16
-#define MYNET_N600_GPIO_BTN_WPS 17
-
-#define MYNET_N600_GPIO_EXTERNAL_LNA0 14
-#define MYNET_N600_GPIO_EXTERNAL_LNA1 15
-
-#define MYNET_N600_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MYNET_N600_KEYS_DEBOUNCE_INTERVAL (3 * MYNET_N600_KEYS_POLL_INTERVAL)
-
-#define MYNET_N600_MAC0_OFFSET 0
-#define MYNET_N600_MAC1_OFFSET 6
-#define MYNET_N600_WMAC_CALDATA_OFFSET 0x1000
-#define MYNET_N600_PCIE_CALDATA_OFFSET 0x5000
-
-#define MYNET_N600_NVRAM_ADDR 0x1f058010
-#define MYNET_N600_NVRAM_SIZE 0x7ff0
-
-static struct gpio_led mynet_n600_leds_gpio[] __initdata = {
- {
- .name = "wd:blue:power",
- .gpio = MYNET_N600_GPIO_LED_POWER,
- .active_low = 0,
- },
- {
- .name = "wd:blue:wps",
- .gpio = MYNET_N600_GPIO_LED_WPS,
- .active_low = 0,
- },
- {
- .name = "wd:blue:wireless",
- .gpio = MYNET_N600_GPIO_LED_WIFI,
- .active_low = 0,
- },
- {
- .name = "wd:blue:internet",
- .gpio = MYNET_N600_GPIO_LED_INTERNET,
- .active_low = 0,
- },
- {
- .name = "wd:green:lan1",
- .gpio = MYNET_N600_GPIO_LED_LAN1,
- .active_low = 1,
- },
- {
- .name = "wd:green:lan2",
- .gpio = MYNET_N600_GPIO_LED_LAN2,
- .active_low = 1,
- },
- {
- .name = "wd:green:lan3",
- .gpio = MYNET_N600_GPIO_LED_LAN3,
- .active_low = 1,
- },
- {
- .name = "wd:green:lan4",
- .gpio = MYNET_N600_GPIO_LED_LAN4,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mynet_n600_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MYNET_N600_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_N600_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = MYNET_N600_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_N600_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void mynet_n600_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(MYNET_N600_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, MYNET_N600_NVRAM_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-#define MYNET_N600_WAN_PHY_MASK BIT(0)
-
-static void __init mynet_n600_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_gpio_output_select(MYNET_N600_GPIO_LED_LAN1,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_N600_GPIO_LED_LAN2,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_N600_GPIO_LED_LAN3,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_N600_GPIO_LED_LAN4,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_N600_GPIO_LED_INTERNET,
- AR934X_GPIO_OUT_GPIO);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mynet_n600_leds_gpio),
- mynet_n600_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, MYNET_N600_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mynet_n600_gpio_keys),
- mynet_n600_gpio_keys);
-
- /*
- * Control signal for external LNAs 0 and 1
- * Taken from GPL bootloader source:
- * board/ar7240/db12x/alpha_gpio.c
- */
- ath79_wmac_set_ext_lna_gpio(0, MYNET_N600_GPIO_EXTERNAL_LNA0);
- ath79_wmac_set_ext_lna_gpio(1, MYNET_N600_GPIO_EXTERNAL_LNA1);
-
- mynet_n600_get_mac("wlan24mac=", tmpmac);
- ath79_register_wmac(art + MYNET_N600_WMAC_CALDATA_OFFSET, tmpmac);
-
- mynet_n600_get_mac("wlan5mac=", tmpmac);
- ap91_pci_init(art + MYNET_N600_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE |
- AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- /* LAN */
- mynet_n600_get_mac("lanmac=", ath79_eth1_data.mac_addr);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN */
- mynet_n600_get_mac("wanmac=", ath79_eth0_data.mac_addr);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = MYNET_N600_WAN_PHY_MASK;
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = MYNET_N600_WAN_PHY_MASK;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
-
- ath79_register_eth(0);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_MYNET_N600, "MYNET-N600", "WD My Net N600",
- mynet_n600_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n750.c
deleted file mode 100644
index a822b6c3e2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n750.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * WD My Net N750 board support
- *
- * Copyright (C) 2013 Felix Kaechele <felix@fetzig.org>
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/phy.h>
-#include <linux/gpio.h>
-#include <linux/delay.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"
-#include "nvram.h"
-
-
-/*
- * Taken from GPL bootloader source:
- * board/ar7240/db12x/alpha_gpio.c
- */
-#define MYNET_N750_GPIO_LED_WIFI 11
-#define MYNET_N750_GPIO_LED_INTERNET 12
-#define MYNET_N750_GPIO_LED_WPS 13
-#define MYNET_N750_GPIO_LED_POWER 14
-
-#define MYNET_N750_GPIO_BTN_RESET 17
-#define MYNET_N750_GPIO_BTN_WPS 19
-
-#define MYNET_N750_GPIO_EXTERNAL_LNA0 15
-#define MYNET_N750_GPIO_EXTERNAL_LNA1 18
-
-#define MYNET_N750_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MYNET_N750_KEYS_DEBOUNCE_INTERVAL (3 * MYNET_N750_KEYS_POLL_INTERVAL)
-
-#define MYNET_N750_WMAC_CALDATA_OFFSET 0x1000
-#define MYNET_N750_PCIE_CALDATA_OFFSET 0x5000
-
-#define MYNET_N750_NVRAM_ADDR 0x1f058010
-#define MYNET_N750_NVRAM_SIZE 0x7ff0
-
-static struct gpio_led mynet_n750_leds_gpio[] __initdata = {
- {
- .name = "wd:blue:power",
- .gpio = MYNET_N750_GPIO_LED_POWER,
- .active_low = 0,
- },
- {
- .name = "wd:blue:wps",
- .gpio = MYNET_N750_GPIO_LED_WPS,
- .active_low = 0,
- },
- {
- .name = "wd:blue:wireless",
- .gpio = MYNET_N750_GPIO_LED_WIFI,
- .active_low = 0,
- },
- {
- .name = "wd:blue:internet",
- .gpio = MYNET_N750_GPIO_LED_INTERNET,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button mynet_n750_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MYNET_N750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_N750_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = MYNET_N750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_N750_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info mynet_n750_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "wd:green:lan1"),
- AR8327_LED_INFO(PHY1_0, HW, "wd:green:lan2"),
- AR8327_LED_INFO(PHY2_0, HW, "wd:green:lan3"),
- AR8327_LED_INFO(PHY3_0, HW, "wd:green:lan4"),
- AR8327_LED_INFO(PHY4_0, HW, "wd:green:wan"),
- AR8327_LED_INFO(PHY0_1, HW, "wd:yellow:lan1"),
- AR8327_LED_INFO(PHY1_1, HW, "wd:yellow:lan2"),
- AR8327_LED_INFO(PHY2_1, HW, "wd:yellow:lan3"),
- AR8327_LED_INFO(PHY3_1, HW, "wd:yellow:lan4"),
- AR8327_LED_INFO(PHY4_1, HW, "wd:yellow:wan"),
-};
-
-static struct ar8327_pad_cfg mynet_n750_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg mynet_n750_ar8327_led_cfg = {
- .led_ctrl0 = 0xcc35cc35,
- .led_ctrl1 = 0xca35ca35,
- .led_ctrl2 = 0xc935c935,
- .led_ctrl3 = 0x03ffff00,
- .open_drain = false,
-};
-
-static struct ar8327_platform_data mynet_n750_ar8327_data = {
- .pad0_cfg = &mynet_n750_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &mynet_n750_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(mynet_n750_leds_ar8327),
- .leds = mynet_n750_leds_ar8327,
-};
-
-static struct mdio_board_info mynet_n750_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &mynet_n750_ar8327_data,
- },
-};
-
-static void mynet_n750_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(MYNET_N750_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, MYNET_N750_NVRAM_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-/*
- * The bootloader on this board powers down all PHYs on the switch
- * before booting the kernel. We bring all PHYs back up so that they are
- * discoverable by the mdio bus scan and the switch is detected
- * correctly.
- */
-static void mynet_n750_mdio_fixup(struct mii_bus *bus)
-{
- int i;
-
- for (i = 0; i < 5; i++)
- bus->write(bus, i, MII_BMCR,
- (BMCR_RESET | BMCR_ANENABLE | BMCR_SPEED1000));
-
- mdelay(1000);
-}
-
-static void __init mynet_n750_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mynet_n750_leds_gpio),
- mynet_n750_leds_gpio);
- ath79_register_gpio_keys_polled(-1, MYNET_N750_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mynet_n750_gpio_keys),
- mynet_n750_gpio_keys);
- /*
- * Control signal for external LNAs 0 and 1
- * Taken from GPL bootloader source:
- * board/ar7240/db12x/alpha_gpio.c
- */
- ath79_wmac_set_ext_lna_gpio(0, MYNET_N750_GPIO_EXTERNAL_LNA0);
- ath79_wmac_set_ext_lna_gpio(1, MYNET_N750_GPIO_EXTERNAL_LNA1);
-
- mynet_n750_get_mac("wlan24mac=", tmpmac);
- ath79_register_wmac(art + MYNET_N750_WMAC_CALDATA_OFFSET, tmpmac);
-
- mynet_n750_get_mac("wlan5mac=", tmpmac);
- ap91_pci_init(art + MYNET_N750_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(mynet_n750_mdio0_info,
- ARRAY_SIZE(mynet_n750_mdio0_info));
-
- ath79_mdio0_data.reset = mynet_n750_mdio_fixup;
- ath79_register_mdio(0, 0x0);
-
- mynet_n750_get_mac("lanmac=", ath79_eth0_data.mac_addr);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_MYNET_N750, "MYNET-N750", "WD My Net N750",
- mynet_n750_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c
deleted file mode 100644
index cfb075b681..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * WD My Net WI-FI Range Extender (Codename:Starfish db12x) board support
- *
- * Copyright (C) 2013 Christian Lamparter <chunkeey@googlemail.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/phy.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define MYNET_REXT_GPIO_LED_POWER 11
-#define MYNET_REXT_GPIO_LED_ETHERNET 12
-#define MYNET_REXT_GPIO_LED_WIFI 19
-
-#define MYNET_REXT_GPIO_LED_RF_QTY1 20
-#define MYNET_REXT_GPIO_LED_RF_QTY2 21
-#define MYNET_REXT_GPIO_LED_RF_QTY3 22
-
-#define MYNET_REXT_GPIO_BTN_RESET 13
-#define MYNET_REXT_GPIO_BTN_WPS 15
-#define MYNET_REXT_GPIO_SW_RF 14
-
-#define MYNET_REXT_GPIO_PHY_SWRST 16 /* disables Ethernet PHY */
-#define MYNET_REXT_GPIO_PHY_INT 17
-#define MYNET_REXT_GPIO_18 18
-
-#define MYNET_REXT_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MYNET_REXT_KEYS_DEBOUNCE_INTERVAL (3 * MYNET_REXT_KEYS_POLL_INTERVAL)
-
-#define MYNET_REXT_WMAC_CALDATA_OFFSET 0x1000
-
-#define MYNET_REXT_NVRAM_ADDR 0x1f7e0010
-#define MYNET_REXT_NVRAM_SIZE 0xfff0
-
-#define MYNET_REXT_ART_ADDR 0x1f7f0000
-
-static const char *mynet_rext_part_probes[] = {
- "cybertan",
- NULL,
-};
-
-static struct flash_platform_data mynet_rext_flash_data = {
- .type = "s25fl064k",
- .part_probes = mynet_rext_part_probes,
-};
-
-static struct gpio_led mynet_rext_leds_gpio[] __initdata = {
- {
- .name = "wd:blue:power",
- .gpio = MYNET_REXT_GPIO_LED_POWER,
- .active_low = 0,
- },
- {
- .name = "wd:blue:wireless",
- .gpio = MYNET_REXT_GPIO_LED_WIFI,
- .active_low = 1,
- },
- {
- .name = "wd:blue:ethernet",
- .gpio = MYNET_REXT_GPIO_LED_ETHERNET,
- .active_low = 1,
- },
- {
- .name = "wd:blue:quality1",
- .gpio = MYNET_REXT_GPIO_LED_RF_QTY1,
- .active_low = 1,
- },
- {
- .name = "wd:blue:quality2",
- .gpio = MYNET_REXT_GPIO_LED_RF_QTY2,
- .active_low = 1,
- },
- {
- .name = "wd:blue:quality3",
- .gpio = MYNET_REXT_GPIO_LED_RF_QTY3,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button mynet_rext_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MYNET_REXT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_REXT_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = MYNET_REXT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_REXT_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "RF Band switch",
- .type = EV_SW,
- .code = BTN_1,
- .debounce_interval = MYNET_REXT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MYNET_REXT_GPIO_SW_RF,
- },
-};
-
-static struct at803x_platform_data mynet_rext_at803x_data = {
- .disable_smarteee = 0,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 0,
- .fixup_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info mynet_rext_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 4,
- .platform_data = &mynet_rext_at803x_data,
- },
-};
-
-static void mynet_rext_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(MYNET_REXT_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, MYNET_REXT_NVRAM_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init mynet_rext_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(MYNET_REXT_ART_ADDR);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&mynet_rext_flash_data);
-
- /* GPIO configuration from drivers/char/GPIO8.c */
-
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_POWER,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_WIFI,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_RF_QTY1,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_RF_QTY2,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_RF_QTY3,
- AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(MYNET_REXT_GPIO_LED_ETHERNET,
- AR934X_GPIO_OUT_GPIO);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mynet_rext_leds_gpio),
- mynet_rext_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, MYNET_REXT_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mynet_rext_gpio_keys),
- mynet_rext_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_RXD_DELAY |
- AR934X_ETH_CFG_RDV_DELAY);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(mynet_rext_mdio0_info,
- ARRAY_SIZE(mynet_rext_mdio0_info));
-
- /* LAN */
- mynet_rext_get_mac("et0macaddr=", ath79_eth0_data.mac_addr);
-
- /* GMAC0 is connected to an external PHY on Port 4 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_pll_data.pll_10 = 0x00001313; /* athrs_mac.c */
- ath79_eth0_pll_data.pll_1000 = 0x0e000000; /* athrs_mac.c */
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_register_eth(0);
-
- /* WLAN */
- mynet_rext_get_mac("wl0_hwaddr=", tmpmac);
- ap91_pci_init(art + MYNET_REXT_WMAC_CALDATA_OFFSET, tmpmac);
-}
-
-MIPS_MACHINE(ATH79_MACH_MYNET_REXT, "MYNET-REXT",
- "WD My Net Wi-Fi Range Extender", mynet_rext_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w04nu.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w04nu.c
deleted file mode 100644
index c2460ce33c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w04nu.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Planex MZK-W04NU board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define MZK_W04NU_GPIO_LED_USB 0
-#define MZK_W04NU_GPIO_LED_STATUS 1
-#define MZK_W04NU_GPIO_LED_WPS 3
-#define MZK_W04NU_GPIO_LED_WLAN 6
-#define MZK_W04NU_GPIO_LED_AP 15
-#define MZK_W04NU_GPIO_LED_ROUTER 16
-
-#define MZK_W04NU_GPIO_BTN_APROUTER 5
-#define MZK_W04NU_GPIO_BTN_WPS 12
-#define MZK_W04NU_GPIO_BTN_RESET 21
-
-#define MZK_W04NU_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MZK_W04NU_KEYS_DEBOUNCE_INTERVAL (3 * MZK_W04NU_KEYS_POLL_INTERVAL)
-
-static struct gpio_led mzk_w04nu_leds_gpio[] __initdata = {
- {
- .name = "planex:green:status",
- .gpio = MZK_W04NU_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "planex:blue:wps",
- .gpio = MZK_W04NU_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "planex:green:wlan",
- .gpio = MZK_W04NU_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "planex:green:usb",
- .gpio = MZK_W04NU_GPIO_LED_USB,
- .active_low = 1,
- }, {
- .name = "planex:green:ap",
- .gpio = MZK_W04NU_GPIO_LED_AP,
- .active_low = 1,
- }, {
- .name = "planex:green:router",
- .gpio = MZK_W04NU_GPIO_LED_ROUTER,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button mzk_w04nu_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MZK_W04NU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W04NU_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = MZK_W04NU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W04NU_GPIO_BTN_WPS,
- .active_low = 1,
- }, {
- .desc = "aprouter",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = MZK_W04NU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W04NU_GPIO_BTN_APROUTER,
- .active_low = 0,
- }
-};
-
-#define MZK_W04NU_WAN_PHYMASK BIT(4)
-#define MZK_W04NU_MDIO_MASK (~MZK_W04NU_WAN_PHYMASK)
-
-static void __init mzk_w04nu_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_mdio(0, MZK_W04NU_MDIO_MASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.has_ar8216 = 1;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = MZK_W04NU_WAN_PHYMASK;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mzk_w04nu_leds_gpio),
- mzk_w04nu_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, MZK_W04NU_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mzk_w04nu_gpio_keys),
- mzk_w04nu_gpio_keys);
- ath79_register_usb();
-
- ath79_register_wmac(eeprom, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_MZK_W04NU, "MZK-W04NU", "Planex MZK-W04NU",
- mzk_w04nu_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w300nh.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w300nh.c
deleted file mode 100644
index 8c40365283..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w300nh.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Planex MZK-W300NH board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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 MZK_W300NH_GPIO_LED_STATUS 1
-#define MZK_W300NH_GPIO_LED_WPS 3
-#define MZK_W300NH_GPIO_LED_WLAN 6
-#define MZK_W300NH_GPIO_LED_AP_GREEN 15
-#define MZK_W300NH_GPIO_LED_AP_AMBER 16
-
-#define MZK_W300NH_GPIO_BTN_APROUTER 5
-#define MZK_W300NH_GPIO_BTN_WPS 12
-#define MZK_W300NH_GPIO_BTN_RESET 21
-
-#define MZK_W300NH_KEYS_POLL_INTERVAL 20 /* msecs */
-#define MZK_W300NH_KEYS_DEBOUNCE_INTERVAL (3 * MZK_W300NH_KEYS_POLL_INTERVAL)
-
-static struct gpio_led mzk_w300nh_leds_gpio[] __initdata = {
- {
- .name = "planex:green:status",
- .gpio = MZK_W300NH_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "planex:blue:wps",
- .gpio = MZK_W300NH_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "planex:green:wlan",
- .gpio = MZK_W300NH_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "planex:green:aprouter",
- .gpio = MZK_W300NH_GPIO_LED_AP_GREEN,
- }, {
- .name = "planex:amber:aprouter",
- .gpio = MZK_W300NH_GPIO_LED_AP_AMBER,
- }
-};
-
-static struct gpio_keys_button mzk_w300nh_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = MZK_W300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W300NH_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = MZK_W300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W300NH_GPIO_BTN_WPS,
- .active_low = 1,
- }, {
- .desc = "aprouter",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = MZK_W300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = MZK_W300NH_GPIO_BTN_APROUTER,
- .active_low = 0,
- }
-};
-
-#define MZK_W300NH_WAN_PHYMASK BIT(4)
-#define MZK_W300NH_MDIO_MASK (~MZK_W300NH_WAN_PHYMASK)
-
-static void __init mzk_w300nh_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_mdio(0, MZK_W300NH_MDIO_MASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.has_ar8216 = 1;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = MZK_W300NH_WAN_PHYMASK;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(mzk_w300nh_leds_gpio),
- mzk_w300nh_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, MZK_W300NH_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(mzk_w300nh_gpio_keys),
- mzk_w300nh_gpio_keys);
- ath79_register_wmac(eeprom, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_MZK_W300NH, "MZK-W300NH", "Planex MZK-W300NH",
- mzk_w300nh_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-n5q.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-n5q.c
deleted file mode 100644
index 895fc32933..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-n5q.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * ALFA Network N5Q board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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 N5Q_GPIO_LED_LAN 19
-#define N5Q_GPIO_LED_SIGNAL1 0
-#define N5Q_GPIO_LED_SIGNAL2 1
-#define N5Q_GPIO_LED_SIGNAL3 2
-#define N5Q_GPIO_LED_SIGNAL4 3
-#define N5Q_GPIO_LED_WAN 18
-#define N5Q_GPIO_LED_WLAN 12
-
-#define N5Q_GPIO_WDT_EN 16
-#define N5Q_GPIO_WDT_IN 17
-
-#define N5Q_GPIO_BTN_RESET 11
-
-#define N5Q_MAC0_OFFSET 0
-#define N5Q_MAC1_OFFSET 6
-#define N5Q_WMAC_CALDATA_OFFSET 0x1000
-
-#define N5Q_KEYS_POLL_INTERVAL 20
-#define N5Q_KEYS_DEBOUNCE_INTERVAL (3 * N5Q_KEYS_POLL_INTERVAL)
-
-static struct gpio_led n5q_leds_gpio[] __initdata = {
- {
- .name = "n5q:green:lan",
- .gpio = N5Q_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "n5q:red:signal1",
- .gpio = N5Q_GPIO_LED_SIGNAL1,
- .active_low = 1,
- }, {
- .name = "n5q:orange:signal2",
- .gpio = N5Q_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }, {
- .name = "n5q:green:signal3",
- .gpio = N5Q_GPIO_LED_SIGNAL3,
- .active_low = 1,
- }, {
- .name = "n5q:green:signal4",
- .gpio = N5Q_GPIO_LED_SIGNAL4,
- .active_low = 1,
- }, {
- .name = "n5q:green:wan",
- .gpio = N5Q_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "n5q:green:wlan",
- .gpio = N5Q_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button n5q_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = N5Q_KEYS_DEBOUNCE_INTERVAL,
- .gpio = N5Q_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init n5q_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f070000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xf7;
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, art + N5Q_MAC1_OFFSET, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art + N5Q_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(n5q_leds_gpio),
- n5q_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, N5Q_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(n5q_gpio_keys),
- n5q_gpio_keys);
-
- gpio_request_one(N5Q_GPIO_WDT_IN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT input");
-
- gpio_request_one(N5Q_GPIO_WDT_EN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT enable");
-
- ath79_register_wmac(art + N5Q_WMAC_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_N5Q, "N5Q", "ALFA Network N5Q", n5q_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg460n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg460n.c
deleted file mode 100644
index ca007779ec..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg460n.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Zyxel NBG 460N/550N/550NH board support
- *
- * Copyright (C) 2010 Michael Kurz <michi.kurz@googlemail.com>
- *
- * based on mach-tl-wr1043nd.c
- *
- * 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/i2c.h>
-#include <linux/i2c-algo-bit.h>
-#include <linux/i2c-gpio.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/rtl8366.h>
-
-#include <asm/mach-ath79/ath79.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"
-
-/* LEDs */
-#define NBG460N_GPIO_LED_WPS 3
-#define NBG460N_GPIO_LED_WAN 6
-#define NBG460N_GPIO_LED_POWER 14
-#define NBG460N_GPIO_LED_WLAN 15
-
-/* Buttons */
-#define NBG460N_GPIO_BTN_WPS 12
-#define NBG460N_GPIO_BTN_RESET 21
-
-#define NBG460N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define NBG460N_KEYS_DEBOUNCE_INTERVAL (3 * NBG460N_KEYS_POLL_INTERVAL)
-
-/* RTC chip PCF8563 I2C interface */
-#define NBG460N_GPIO_PCF8563_SDA 8
-#define NBG460N_GPIO_PCF8563_SCK 7
-
-/* Switch configuration I2C interface */
-#define NBG460N_GPIO_RTL8366_SDA 16
-#define NBG460N_GPIO_RTL8366_SCK 18
-
-static struct mtd_partition nbg460n_partitions[] = {
- {
- .name = "Bootbase",
- .offset = 0,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "U-Boot Config",
- .offset = 0x010000,
- .size = 0x030000,
- }, {
- .name = "U-Boot",
- .offset = 0x040000,
- .size = 0x030000,
- }, {
- .name = "linux",
- .offset = 0x070000,
- .size = 0x0e0000,
- }, {
- .name = "rootfs",
- .offset = 0x150000,
- .size = 0x2a0000,
- }, {
- .name = "CalibData",
- .offset = 0x3f0000,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x070000,
- .size = 0x380000,
- }
-};
-
-static struct flash_platform_data nbg460n_flash_data = {
- .parts = nbg460n_partitions,
- .nr_parts = ARRAY_SIZE(nbg460n_partitions),
-};
-
-static struct gpio_led nbg460n_leds_gpio[] __initdata = {
- {
- .name = "nbg460n:green:power",
- .gpio = NBG460N_GPIO_LED_POWER,
- .active_low = 0,
- .default_trigger = "default-on",
- }, {
- .name = "nbg460n:green:wps",
- .gpio = NBG460N_GPIO_LED_WPS,
- .active_low = 0,
- }, {
- .name = "nbg460n:green:wlan",
- .gpio = NBG460N_GPIO_LED_WLAN,
- .active_low = 0,
- }, {
- /* Not really for controlling the LED,
- when set low the LED blinks uncontrollable */
- .name = "nbg460n:green:wan",
- .gpio = NBG460N_GPIO_LED_WAN,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button nbg460n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = NBG460N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG460N_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = NBG460N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG460N_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct i2c_gpio_platform_data nbg460n_i2c_device_platdata = {
- .sda_pin = NBG460N_GPIO_PCF8563_SDA,
- .scl_pin = NBG460N_GPIO_PCF8563_SCK,
- .udelay = 10,
-};
-
-static struct platform_device nbg460n_i2c_device = {
- .name = "i2c-gpio",
- .id = -1,
- .num_resources = 0,
- .resource = NULL,
- .dev = {
- .platform_data = &nbg460n_i2c_device_platdata,
- },
-};
-
-static struct i2c_board_info nbg460n_i2c_devs[] __initdata = {
- {
- I2C_BOARD_INFO("pcf8563", 0x51),
- },
-};
-
-static void nbg460n_i2c_init(void)
-{
- /* The gpio interface */
- platform_device_register(&nbg460n_i2c_device);
- /* I2C devices */
- i2c_register_board_info(0, nbg460n_i2c_devs,
- ARRAY_SIZE(nbg460n_i2c_devs));
-}
-
-
-static struct rtl8366_platform_data nbg460n_rtl8366s_data = {
- .gpio_sda = NBG460N_GPIO_RTL8366_SDA,
- .gpio_sck = NBG460N_GPIO_RTL8366_SCK,
-};
-
-static struct platform_device nbg460n_rtl8366s_device = {
- .name = RTL8366S_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &nbg460n_rtl8366s_data,
- }
-};
-
-static void __init nbg460n_setup(void)
-{
- /* end of bootloader sector contains mac address */
- u8 *mac = (u8 *) KSEG1ADDR(0x1fc0fff8);
- /* last sector contains wlan calib data */
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* LAN Port */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.mii_bus_dev = &nbg460n_rtl8366s_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- /* WAN Port */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- ath79_eth1_data.mii_bus_dev = &nbg460n_rtl8366s_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- /* register the switch phy */
- platform_device_register(&nbg460n_rtl8366s_device);
-
- /* register flash */
- ath79_register_m25p80(&nbg460n_flash_data);
-
- ath79_register_wmac(eeprom, mac);
-
- /* register RTC chip */
- nbg460n_i2c_init();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(nbg460n_leds_gpio),
- nbg460n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, NBG460N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(nbg460n_gpio_keys),
- nbg460n_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_NBG460N, "NBG460N", "Zyxel NBG460N/550N/550NH",
- nbg460n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg6716.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg6716.c
deleted file mode 100644
index b0fbb78d82..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-nbg6716.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * ZyXEL NBG6716/NBG6616 board support
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2013 Andre Valentin <avalentin@marcant.net>
- *
- * 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/version.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-#include <linux/gpio.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/platform/ar934x_nfc.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-nfc.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define NBG6716_GPIO_LED_INTERNET 18
-#define NBG6716_GPIO_LED_POWER 15
-#define NBG6716_GPIO_LED_USB1 4
-#define NBG6716_GPIO_LED_USB2 13
-#define NBG6716_GPIO_LED_WIFI2G 19
-#define NBG6716_GPIO_LED_WIFI5G 17
-#define NBG6716_GPIO_LED_WPS 21
-
-#define NBG6716_GPIO_BTN_RESET 23
-#define NBG6716_GPIO_BTN_RFKILL 1
-#define NBG6716_GPIO_BTN_USB1 0
-#define NBG6716_GPIO_BTN_USB2 14
-#define NBG6716_GPIO_BTN_WPS 22
-
-#define NBG6716_GPIO_USB_POWER 16
-
-#define NBG6716_KEYS_POLL_INTERVAL 20 /* msecs */
-#define NBG6716_KEYS_DEBOUNCE_INTERVAL (3 * NBG6716_KEYS_POLL_INTERVAL)
-
-#define NBG6716_MAC0_OFFSET 0
-#define NBG6716_MAC1_OFFSET 6
-#define NBG6716_WMAC_CALDATA_OFFSET 0x1000
-#define NBG6716_PCIE_CALDATA_OFFSET 0x5000
-
-/* NBG6616 has a different GPIO usage as it does not have USB Buttons */
-#define NBG6616_GPIO_LED_USB0 14
-#define NBG6616_GPIO_LED_USB1 21
-#define NBG6616_GPIO_LED_WPS 0
-
-static struct gpio_led nbg6716_leds_gpio[] __initdata = {
- {
- .name = "nbg6716:white:internet",
- .gpio = NBG6716_GPIO_LED_INTERNET,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:power",
- .gpio = NBG6716_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:usb1",
- .gpio = NBG6716_GPIO_LED_USB1,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:usb2",
- .gpio = NBG6716_GPIO_LED_USB2,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:wifi2g",
- .gpio = NBG6716_GPIO_LED_WIFI2G,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:wifi5g",
- .gpio = NBG6716_GPIO_LED_WIFI5G,
- .active_low = 1,
- },
- {
- .name = "nbg6716:white:wps",
- .gpio = NBG6716_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button nbg6716_gpio_keys[] __initdata = {
- {
- .desc = "RESET button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_RFKILL,
- .active_low = 0,
- },
- {
- .desc = "USB1 eject button",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_USB1,
- .active_low = 1,
- },
- {
- .desc = "USB2 eject button",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_USB2,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-
-
-static struct gpio_led nbg6616_leds_gpio[] __initdata = {
- {
- .name = "nbg6616:green:power",
- .gpio = NBG6716_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "nbg6616:green:usb2",
- .gpio = NBG6616_GPIO_LED_USB0,
- .active_low = 1,
- },
- {
- .name = "nbg6616:green:usb1",
- .gpio = NBG6616_GPIO_LED_USB1,
- .active_low = 1,
- },
- {
- .name = "nbg6616:green:wifi2g",
- .gpio = NBG6716_GPIO_LED_WIFI2G,
- .active_low = 1,
- },
- {
- .name = "nbg6616:green:wifi5g",
- .gpio = NBG6716_GPIO_LED_WIFI5G,
- .active_low = 1,
- },
- {
- .name = "nbg6616:green:wps",
- .gpio = NBG6616_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button nbg6616_gpio_keys[] __initdata = {
- {
- .desc = "RESET button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_RFKILL,
- .active_low = 0,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
- .gpio = NBG6716_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-
-static struct ar8327_pad_cfg nbg6716_ar8327_pad0_cfg;
-static struct ar8327_pad_cfg nbg6716_ar8327_pad6_cfg;
-static struct ar8327_led_cfg nbg6716_ar8327_led_cfg;
-
-static struct ar8327_platform_data nbg6716_ar8327_data = {
- .pad0_cfg = &nbg6716_ar8327_pad0_cfg,
- .pad6_cfg = &nbg6716_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &nbg6716_ar8327_led_cfg
-};
-
-static struct mdio_board_info nbg6716_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &nbg6716_ar8327_data,
- },
-};
-
-static void nbg6716_get_mac(void* nvram_addr, const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(nvram_addr);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, 0x10000,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init nbg6716_common_setup(u32 leds_num, struct gpio_led* leds,
- u32 keys_num,
- struct gpio_keys_button* keys,
- void* art_addr, void* nvram)
-{
- u8 *art = (u8 *) KSEG1ADDR(art_addr);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, leds_num, leds);
- ath79_register_gpio_keys_polled(-1, NBG6716_KEYS_POLL_INTERVAL,
- keys_num, keys);
-
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
-
- gpio_request_one(NBG6716_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_usb();
-
- nbg6716_get_mac(nvram, "ethaddr=", tmpmac);
-
- ath79_register_pci();
-
- ath79_register_wmac(art + NBG6716_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, tmpmac, 2);
- ath79_init_mac(ath79_eth1_data.mac_addr, tmpmac, 3);
-
- mdiobus_register_board_info(nbg6716_mdio0_info,
- ARRAY_SIZE(nbg6716_mdio0_info));
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-}
-
-static void __init nbg6716_010_setup(void)
-{
- /* GMAC0 of the AR8337 switch is connected to GMAC0 via RGMII */
- nbg6716_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_RGMII;
- nbg6716_ar8327_pad0_cfg.txclk_delay_en = true;
- nbg6716_ar8327_pad0_cfg.rxclk_delay_en = true;
- nbg6716_ar8327_pad0_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
- nbg6716_ar8327_pad0_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
-
- /* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
- nbg6716_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;
- nbg6716_ar8327_pad6_cfg.rxclk_delay_en = true;
- nbg6716_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL0;
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- nbg6716_ar8327_led_cfg.open_drain = 0;
- nbg6716_ar8327_led_cfg.led_ctrl0 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl1 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl2 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl3 = 0x03ffff00;
-
- nbg6716_common_setup(ARRAY_SIZE(nbg6716_leds_gpio), nbg6716_leds_gpio,
- ARRAY_SIZE(nbg6716_gpio_keys), nbg6716_gpio_keys,
- (void*) 0x1f050000, (void*) 0x1f040000);
-}
-
-static void __init nbg6616_010_setup(void)
-{
- /* GMAC0 of the AR8337 switch is connected to GMAC0 via RGMII */
- nbg6716_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_RGMII;
- nbg6716_ar8327_pad0_cfg.txclk_delay_en = true;
- nbg6716_ar8327_pad0_cfg.rxclk_delay_en = true;
- nbg6716_ar8327_pad0_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
- nbg6716_ar8327_pad0_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
-
- /* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
- nbg6716_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;
- nbg6716_ar8327_pad6_cfg.rxclk_delay_en = true;
- nbg6716_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL0;
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- nbg6716_ar8327_led_cfg.open_drain = 0;
- nbg6716_ar8327_led_cfg.led_ctrl0 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl1 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl2 = 0xffb7ffb7;
- nbg6716_ar8327_led_cfg.led_ctrl3 = 0x03ffff00;
-
-
- nbg6716_common_setup(ARRAY_SIZE(nbg6616_leds_gpio), nbg6616_leds_gpio,
- ARRAY_SIZE(nbg6616_gpio_keys), nbg6616_gpio_keys,
- (void*) 0x1f040000, (void*) 0x1f030000);
-}
-
-
-MIPS_MACHINE(ATH79_MACH_NBG6716, "NBG6716",
- "Zyxel NBG6716",
- nbg6716_010_setup);
-
-MIPS_MACHINE(ATH79_MACH_NBG6616, "NBG6616",
- "Zyxel NBG6616",
- nbg6616_010_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c
deleted file mode 100644
index c888f7d1a8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * OpenMesh OM2P support
- *
- * Copyright (C) 2011 Marek Lindner <marek@open-mesh.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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "machtypes.h"
-
-#define OM2P_GPIO_LED_POWER 0
-#define OM2P_GPIO_LED_GREEN 13
-#define OM2P_GPIO_LED_RED 14
-#define OM2P_GPIO_LED_YELLOW 15
-#define OM2P_GPIO_LED_LAN 16
-#define OM2P_GPIO_LED_WAN 17
-#define OM2P_GPIO_BTN_RESET 1
-
-#define OM2P_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OM2P_KEYS_DEBOUNCE_INTERVAL (3 * OM2P_KEYS_POLL_INTERVAL)
-
-#define OM2P_WAN_PHYMASK BIT(4)
-
-#define OM2P_LC_GPIO_LED_POWER 1
-#define OM2P_LC_GPIO_LED_GREEN 15
-#define OM2P_LC_GPIO_LED_RED 16
-#define OM2P_LC_GPIO_LED_YELLOW 0
-#define OM2P_LC_GPIO_LED_LAN 13
-#define OM2P_LC_GPIO_LED_WAN 17
-#define OM2P_LC_GPIO_BTN_RESET 12
-
-#define OM2Pv4_GPIO_LED_POWER 0
-#define OM2Pv4_GPIO_LED_GREEN 2
-#define OM2Pv4_GPIO_LED_RED 4
-#define OM2Pv4_GPIO_LED_YELLOW 3
-#define OM2Pv4_GPIO_LED_LAN 14
-#define OM2Pv4_GPIO_LED_WAN 13
-#define OM2Pv4_GPIO_BTN_RESET 1
-
-#define OM2P_WMAC_CALDATA_OFFSET 0x1000
-
-static struct flash_platform_data om2p_flash_data = {
- .type = "s25sl12800",
- .name = "ar7240-nor0",
-};
-
-static struct gpio_led om2p_leds_gpio[] __initdata = {
- {
- .name = "om2p:blue:power",
- .gpio = OM2P_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "om2p:red:wifi",
- .gpio = OM2P_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "om2p:yellow:wifi",
- .gpio = OM2P_GPIO_LED_YELLOW,
- .active_low = 1,
- }, {
- .name = "om2p:green:wifi",
- .gpio = OM2P_GPIO_LED_GREEN,
- .active_low = 1,
- }, {
- .name = "om2p:blue:lan",
- .gpio = OM2P_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "om2p:blue:wan",
- .gpio = OM2P_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button om2p_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OM2P_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OM2P_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init om2p_setup(void)
-{
- u8 *mac1 = (u8 *)KSEG1ADDR(0x1ffc0000);
- u8 *mac2 = (u8 *)KSEG1ADDR(0x1ffc0000 + ETH_ALEN);
- u8 *ee = (u8 *)KSEG1ADDR(0x1ffc1000);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_m25p80(&om2p_flash_data);
-
- ath79_register_mdio(0, ~OM2P_WAN_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ap91_pci_init(ee, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om2p_leds_gpio),
- om2p_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, OM2P_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om2p_gpio_keys),
- om2p_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM2P, "OM2P", "OpenMesh OM2P", om2p_setup);
-
-
-static struct flash_platform_data om2p_lc_flash_data = {
- .type = "s25sl12800",
-};
-
-static void __init om2p_lc_setup(void)
-{
- u8 *mac1 = (u8 *)KSEG1ADDR(0x1ffc0000);
- u8 *mac2 = (u8 *)KSEG1ADDR(0x1ffc0000 + ETH_ALEN);
- u8 *art = (u8 *)KSEG1ADDR(0x1ffc1000);
- u32 t;
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- t = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
- t |= AR933X_BOOTSTRAP_MDIO_GPIO_EN;
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, t);
-
- ath79_register_m25p80(&om2p_lc_flash_data);
-
- om2p_leds_gpio[0].gpio = OM2P_LC_GPIO_LED_POWER;
- om2p_leds_gpio[1].gpio = OM2P_LC_GPIO_LED_RED;
- om2p_leds_gpio[2].gpio = OM2P_LC_GPIO_LED_YELLOW;
- om2p_leds_gpio[3].gpio = OM2P_LC_GPIO_LED_GREEN;
- om2p_leds_gpio[4].gpio = OM2P_LC_GPIO_LED_LAN;
- om2p_leds_gpio[5].gpio = OM2P_LC_GPIO_LED_WAN;
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om2p_leds_gpio),
- om2p_leds_gpio);
-
- om2p_gpio_keys[0].gpio = OM2P_LC_GPIO_BTN_RESET;
- ath79_register_gpio_keys_polled(-1, OM2P_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om2p_gpio_keys),
- om2p_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM2P_LC, "OM2P-LC", "OpenMesh OM2P LC", om2p_lc_setup);
-MIPS_MACHINE(ATH79_MACH_OM2Pv2, "OM2Pv2", "OpenMesh OM2Pv2", om2p_lc_setup);
-
-static void __init om2p_hs_setup(void)
-{
- u8 *mac1 = (u8 *)KSEG1ADDR(0x1ffc0000);
- u8 *mac2 = (u8 *)KSEG1ADDR(0x1ffc0000 + ETH_ALEN);
- u8 *art = (u8 *)KSEG1ADDR(0x1ffc1000);
-
- /* make lan / wan leds software controllable */
- ath79_gpio_output_select(OM2P_GPIO_LED_LAN, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(OM2P_GPIO_LED_WAN, AR934X_GPIO_OUT_GPIO);
-
- /* enable reset button */
- ath79_gpio_output_select(OM2P_GPIO_BTN_RESET, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- om2p_leds_gpio[4].gpio = OM2P_GPIO_LED_WAN;
- om2p_leds_gpio[5].gpio = OM2P_GPIO_LED_LAN;
-
- ath79_register_m25p80(&om2p_lc_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om2p_leds_gpio),
- om2p_leds_gpio);
- ath79_register_gpio_keys_polled(-1, OM2P_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om2p_gpio_keys),
- om2p_gpio_keys);
-
- ath79_register_wmac(art, NULL);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM2P_HS, "OM2P-HS", "OpenMesh OM2P HS", om2p_hs_setup);
-MIPS_MACHINE(ATH79_MACH_OM2P_HSv2, "OM2P-HSv2", "OpenMesh OM2P HSv2", om2p_hs_setup);
-MIPS_MACHINE(ATH79_MACH_OM2P_HSv3, "OM2P-HSv3", "OpenMesh OM2P HSv3", om2p_hs_setup);
-
-static struct flash_platform_data om2pv4_flash_data = {
- .type = "s25sl12800",
-};
-
-static struct gpio_led om2pv4_leds_gpio[] __initdata = {
- {
- .name = "om2p:blue:power",
- .gpio = OM2Pv4_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "om2p:red:wifi",
- .gpio = OM2Pv4_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "om2p:yellow:wifi",
- .gpio = OM2Pv4_GPIO_LED_YELLOW,
- .active_low = 1,
- }, {
- .name = "om2p:green:wifi",
- .gpio = OM2Pv4_GPIO_LED_GREEN,
- .active_low = 1,
- }, {
- .name = "om2p:blue:lan",
- .gpio = OM2Pv4_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "om2p:blue:wan",
- .gpio = OM2Pv4_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button om2pv4_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OM2P_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OM2Pv4_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init om2pv4_setup(void)
-{
- u8 *mac1 = (u8 *)KSEG1ADDR(0x1ffc0000);
- u8 *mac2 = (u8 *)KSEG1ADDR(0x1ffc0000 + ETH_ALEN);
- u8 *art = (u8 *)KSEG1ADDR(0x1ffc0000);
- u8 wmac[6];
-
- ath79_register_m25p80(&om2pv4_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om2pv4_leds_gpio),
- om2pv4_leds_gpio);
- ath79_register_gpio_keys_polled(-1, OM2P_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om2pv4_gpio_keys),
- om2pv4_gpio_keys);
-
- ath79_init_mac(wmac, art, 0x02);
- ath79_register_wmac(art + OM2P_WMAC_CALDATA_OFFSET, wmac);
-
- 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_eth1_data.mac_addr, mac2, 0);
- ath79_register_eth(0);
-
- /* WAN */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM2Pv4, "OM2Pv4", "OpenMesh OM2Pv4", om2pv4_setup);
-MIPS_MACHINE(ATH79_MACH_OM2P_HSv4, "OM2P-HSv4", "OpenMesh OM2P HSv4", om2pv4_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5p.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5p.c
deleted file mode 100644
index 61ff6a755d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5p.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * OpenMesh OM5P support
- *
- * Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
- * Copyright (C) 2014 Sven Eckelmann <sven@open-mesh.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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/i2c.h>
-#include <linux/i2c-algo-bit.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "machtypes.h"
-
-#define OM5P_GPIO_LED_POWER 13
-#define OM5P_GPIO_LED_GREEN 16
-#define OM5P_GPIO_LED_RED 19
-#define OM5P_GPIO_LED_YELLOW 17
-#define OM5P_GPIO_LED_LAN 14
-#define OM5P_GPIO_LED_WAN 15
-#define OM5P_GPIO_BTN_RESET 4
-#define OM5P_GPIO_I2C_SCL 20
-#define OM5P_GPIO_I2C_SDA 21
-
-#define OM5P_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OM5P_KEYS_DEBOUNCE_INTERVAL (3 * OM5P_KEYS_POLL_INTERVAL)
-
-#define OM5P_WMAC_CALDATA_OFFSET 0x1000
-#define OM5P_PCI_CALDATA_OFFSET 0x5000
-
-static struct gpio_led om5p_leds_gpio[] __initdata = {
- {
- .name = "om5p:blue:power",
- .gpio = OM5P_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "om5p:red:wifi",
- .gpio = OM5P_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "om5p:yellow:wifi",
- .gpio = OM5P_GPIO_LED_YELLOW,
- .active_low = 1,
- }, {
- .name = "om5p:green:wifi",
- .gpio = OM5P_GPIO_LED_GREEN,
- .active_low = 1,
- }, {
- .name = "om5p:blue:lan",
- .gpio = OM5P_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "om5p:blue:wan",
- .gpio = OM5P_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button om5p_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OM5P_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OM5P_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct flash_platform_data om5p_flash_data = {
- .type = "mx25l12805d",
-};
-
-static void __init om5p_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- /* make lan / wan leds software controllable */
- ath79_gpio_output_select(OM5P_GPIO_LED_LAN, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(OM5P_GPIO_LED_WAN, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(&om5p_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om5p_leds_gpio),
- om5p_leds_gpio);
- ath79_register_gpio_keys_polled(-1, OM5P_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om5p_gpio_keys),
- om5p_gpio_keys);
-
- ath79_init_mac(mac, art, 2);
- ath79_register_wmac(art + OM5P_WMAC_CALDATA_OFFSET, mac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 1);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM5P, "OM5P", "OpenMesh OM5P", om5p_setup);
-
-static struct i2c_gpio_platform_data om5pan_i2c_device_platdata = {
- .sda_pin = OM5P_GPIO_I2C_SDA,
- .scl_pin = OM5P_GPIO_I2C_SCL,
- .udelay = 10,
- .sda_is_open_drain = 1,
- .scl_is_open_drain = 1,
-};
-
-static struct platform_device om5pan_i2c_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &om5pan_i2c_device_platdata,
- },
-};
-
-static struct i2c_board_info om5pan_i2c_devs[] __initdata = {
- {
- I2C_BOARD_INFO("tmp423", 0x4c),
- },
-};
-
-static struct at803x_platform_data om5p_an_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info om5p_an_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 7,
- .platform_data = &om5p_an_at803x_data,
- },
-};
-
-static void __init om5p_an_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- /* temperature sensor */
- platform_device_register(&om5pan_i2c_device);
- i2c_register_board_info(0, om5pan_i2c_devs,
- ARRAY_SIZE(om5pan_i2c_devs));
-
- /* make lan / wan leds software controllable */
- ath79_gpio_output_select(OM5P_GPIO_LED_LAN, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(OM5P_GPIO_LED_WAN, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(&om5p_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om5p_leds_gpio),
- om5p_leds_gpio);
-
- ath79_init_mac(mac, art, 0x02);
- ath79_register_wmac(art + OM5P_WMAC_CALDATA_OFFSET, mac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
- ath79_setup_ar934x_eth_rx_delay(2, 2);
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- mdiobus_register_board_info(om5p_an_mdio0_info,
- ARRAY_SIZE(om5p_an_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-
- /* GMAC0 is connected to the PHY7 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(7);
- ath79_eth0_pll_data.pll_1000 = 0x02000000;
- ath79_eth0_pll_data.pll_100 = 0x00000101;
- ath79_eth0_pll_data.pll_10 = 0x00001313;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(1);
-
- ath79_init_mac(mac, art, 0x10);
- ap91_pci_init(art + OM5P_PCI_CALDATA_OFFSET, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_OM5P_AN, "OM5P-AN", "OpenMesh OM5P AN", om5p_an_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c
deleted file mode 100644
index 10771ea7b1..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * OpenMesh OM5P-AC support
- *
- * Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
- * Copyright (C) 2014 Sven Eckelmann <sven@open-mesh.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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/i2c.h>
-#include <linux/i2c-algo-bit.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define OM5PAC_GPIO_LED_POWER 18
-#define OM5PAC_GPIO_LED_GREEN 21
-#define OM5PAC_GPIO_LED_RED 23
-#define OM5PAC_GPIO_LED_YELLOW 22
-#define OM5PAC_GPIO_LED_LAN 20
-#define OM5PAC_GPIO_LED_WAN 19
-#define OM5PAC_GPIO_I2C_SCL 12
-#define OM5PAC_GPIO_I2C_SDA 11
-
-#define OM5PAC_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OM5PAC_KEYS_DEBOUNCE_INTERVAL (3 * OM5PAC_KEYS_POLL_INTERVAL)
-
-#define OM5PAC_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led om5pac_leds_gpio[] __initdata = {
- {
- .name = "om5pac:blue:power",
- .gpio = OM5PAC_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "om5pac:red:wifi",
- .gpio = OM5PAC_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "om5pac:yellow:wifi",
- .gpio = OM5PAC_GPIO_LED_YELLOW,
- .active_low = 1,
- }, {
- .name = "om5pac:green:wifi",
- .gpio = OM5PAC_GPIO_LED_GREEN,
- .active_low = 1,
- }, {
- .name = "om5pac:blue:lan",
- .gpio = OM5PAC_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "om5pac:blue:wan",
- .gpio = OM5PAC_GPIO_LED_WAN,
- .active_low = 1,
- }
-};
-
-static struct flash_platform_data om5pac_flash_data = {
- .type = "mx25l12805d",
-};
-
-static struct i2c_gpio_platform_data om5pac_i2c_device_platdata = {
- .sda_pin = OM5PAC_GPIO_I2C_SDA,
- .scl_pin = OM5PAC_GPIO_I2C_SCL,
- .udelay = 10,
- .sda_is_open_drain = 1,
- .scl_is_open_drain = 1,
-};
-
-static struct platform_device om5pac_i2c_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &om5pac_i2c_device_platdata,
- },
-};
-
-static struct i2c_board_info om5pac_i2c_devs[] __initdata = {
- {
- I2C_BOARD_INFO("tmp423", 0x4c),
- },
-};
-
-static struct at803x_platform_data om5pac_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info om5pac_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &om5pac_at803x_data,
- },
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 2,
- .platform_data = &om5pac_at803x_data,
- },
-};
-
-static void __init om5p_ac_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init om5p_ac_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- /* temperature sensor */
- platform_device_register(&om5pac_i2c_device);
- i2c_register_board_info(0, om5pac_i2c_devs,
- ARRAY_SIZE(om5pac_i2c_devs));
-
- ath79_gpio_output_select(OM5PAC_GPIO_LED_WAN, QCA955X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(&om5pac_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om5pac_leds_gpio),
- om5pac_leds_gpio);
-
- ath79_init_mac(mac, art, 0x02);
- ath79_register_wmac(art + OM5PAC_WMAC_CALDATA_OFFSET, mac);
-
- om5p_ac_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(om5pac_mdio0_info,
- ARRAY_SIZE(om5pac_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-
- /* GMAC0 is connected to the PHY1 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(1);
- ath79_eth0_pll_data.pll_1000 = 0x82000101;
- ath79_eth0_pll_data.pll_100 = 0x80000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to MDIO1 in SGMII mode */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth1_data.phy_mask = BIT(2);
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_eth1_pll_data.pll_100 = 0x80000101;
- ath79_eth1_pll_data.pll_10 = 0x80001313;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_OM5P_AC, "OM5P-AC", "OpenMesh OM5P AC", om5p_ac_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c
deleted file mode 100644
index f72700138f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * OpenMesh OM5P-ACv2 support
- *
- * Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
- * Copyright (C) 2014-2016 Sven Eckelmann <sven@open-mesh.com>
- * Copyright (C) 2015 Open-Mesh - Jim Collar <jim.collar@eqware.net>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/i2c.h>
-#include <linux/i2c-algo-bit.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define OM5PACV2_GPIO_LED_POWER 14
-#define OM5PACV2_GPIO_LED_GREEN 13
-#define OM5PACV2_GPIO_LED_RED 23
-#define OM5PACV2_GPIO_LED_YELLOW 15
-#define OM5PACV2_GPIO_BTN_RESET 1
-#define OM5PACV2_GPIO_I2C_SCL 18
-#define OM5PACV2_GPIO_I2C_SDA 19
-#define OM5PACV2_GPIO_PA_DCDC 2
-#define OM5PACV2_GPIO_PA_HIGH 16
-
-#define OM5PACV2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OM5PACV2_KEYS_DEBOUNCE_INTERVAL (3 * OM5PACV2_KEYS_POLL_INTERVAL)
-
-#define OM5PACV2_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led om5pacv2_leds_gpio[] __initdata = {
- {
- .name = "om5pac:blue:power",
- .gpio = OM5PACV2_GPIO_LED_POWER,
- .active_low = 1,
- }, {
- .name = "om5pac:red:wifi",
- .gpio = OM5PACV2_GPIO_LED_RED,
- .active_low = 1,
- }, {
- .name = "om5pac:yellow:wifi",
- .gpio = OM5PACV2_GPIO_LED_YELLOW,
- .active_low = 1,
- }, {
- .name = "om5pac:green:wifi",
- .gpio = OM5PACV2_GPIO_LED_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button om5pacv2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OM5PACV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OM5PACV2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct i2c_gpio_platform_data om5pacv2_i2c_device_platdata = {
- .sda_pin = OM5PACV2_GPIO_I2C_SDA,
- .scl_pin = OM5PACV2_GPIO_I2C_SCL,
- .udelay = 10,
- .sda_is_open_drain = 1,
- .scl_is_open_drain = 1,
-};
-
-static struct platform_device om5pacv2_i2c_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &om5pacv2_i2c_device_platdata,
- },
-};
-
-static struct i2c_board_info om5pacv2_i2c_devs[] __initdata = {
- {
- I2C_BOARD_INFO("tmp423", 0x4e),
- },
-};
-
-static struct flash_platform_data om5pacv2_flash_data = {
- .type = "mx25l12805d",
-};
-
-static struct at803x_platform_data om5pacv2_an_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct at803x_platform_data om5pacv2_an_at8031_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info om5pacv2_an_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 4,
- .platform_data = &om5pacv2_an_at803x_data,
- },
- {
- .bus_id = "ag71xx-mdio.1",
- .mdio_addr = 1,
- .platform_data = &om5pacv2_an_at8031_data,
- },
-};
-
-static void __init om5p_acv2_setup_qca955x_eth_cfg(u32 mask,
- unsigned int rxd,
- unsigned int rxdv,
- unsigned int txd,
- unsigned int txe)
-{
- void __iomem *base;
- u32 t;
-
- base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-
- t = mask;
- t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
- t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
- t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
- t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-
- __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-
- iounmap(base);
-}
-
-static void __init om5p_acv2_setup(void)
-{
- u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- u8 mac[6];
-
- /* power amplifier high power, 4.2V at RFFM4203/4503 instead of 3.3 */
- ath79_gpio_function_enable(QCA955X_GPIO_FUNC_JTAG_DISABLE);
- ath79_gpio_output_select(OM5PACV2_GPIO_PA_DCDC, QCA955X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(OM5PACV2_GPIO_PA_HIGH, QCA955X_GPIO_OUT_GPIO);
- gpio_request_one(OM5PACV2_GPIO_PA_DCDC, GPIOF_OUT_INIT_HIGH,
- "PA DC/DC");
- gpio_request_one(OM5PACV2_GPIO_PA_HIGH, GPIOF_OUT_INIT_HIGH, "PA HIGH");
-
- /* temperature sensor */
- platform_device_register(&om5pacv2_i2c_device);
- i2c_register_board_info(0, om5pacv2_i2c_devs,
- ARRAY_SIZE(om5pacv2_i2c_devs));
-
- ath79_register_m25p80(&om5pacv2_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(om5pacv2_leds_gpio),
- om5pacv2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, OM5PACV2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(om5pacv2_gpio_keys),
- om5pacv2_gpio_keys);
-
- ath79_init_mac(mac, art, 0x02);
- ath79_register_wmac(art + OM5PACV2_WMAC_CALDATA_OFFSET, mac);
-
- om5p_acv2_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 2, 2, 0, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- mdiobus_register_board_info(om5pacv2_an_mdio0_info,
- ARRAY_SIZE(om5pacv2_an_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-
- /* GMAC0 is connected to the PHY4 */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_pll_data.pll_1000 = 0x82000101;
- ath79_eth0_pll_data.pll_100 = 0x80000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to MDIO1 in SGMII mode */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth1_data.phy_mask = BIT(1);
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_eth1_pll_data.pll_100 = 0x80000101;
- ath79_eth1_pll_data.pll_10 = 0x80001313;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_OM5P_ACv2, "OM5P-ACv2", "OpenMesh OM5P ACv2", om5p_acv2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-g1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-g1.c
deleted file mode 100644
index 25ca27cba8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-g1.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * OMYlink OMY-G1 board support
- *
- * Copyright (C) 2016 L. D. Pinney <ldpinney@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define OMY_G1_GPIO_LED_WLAN 13
-#define OMY_G1_GPIO_LED_WAN 18
-#define OMY_G1_GPIO_LED_LAN 19
-
-#define OMY_G1_GPIO_USB_POWER 4
-
-#define OMY_G1_GPIO_BTN_RESET 17
-
-#define OMY_G1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OMY_G1_KEYS_DEBOUNCE_INTERVAL (3 * OMY_G1_KEYS_POLL_INTERVAL)
-
-static const char *omy_g1_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data omy_g1_flash_data = {
- .part_probes = omy_g1_part_probes,
-};
-
-static struct gpio_led omy_g1_leds_gpio[] __initdata = {
- {
- .name = "omy:green:wlan",
- .gpio = OMY_G1_GPIO_LED_WLAN,
- .active_low = 1,
- },{
- .name = "omy:green:wan",
- .gpio = OMY_G1_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "omy:green:lan",
- .gpio = OMY_G1_GPIO_LED_LAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button omy_g1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OMY_G1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OMY_G1_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init omy_g1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_m25p80(&omy_g1_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(omy_g1_leds_gpio),
- omy_g1_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, OMY_G1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(omy_g1_gpio_keys),
- omy_g1_gpio_keys);
-
- ath79_gpio_output_select(OMY_G1_GPIO_USB_POWER,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
- ath79_gpio_output_select(OMY_G1_GPIO_USB_POWER,
- AR934X_GPIO_OUT_GPIO);
-
- gpio_request_one(OMY_G1_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_OMY_G1, "OMY-G1", "OMYlink OMY-G1",
- omy_g1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-x1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-x1.c
deleted file mode 100644
index c99e3d7457..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-omy-x1.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * OMYlink OMY-X1 board support
- *
- * Copyright (C) 2016 L. D. Pinney <ldpinney@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 OMY_X1_GPIO_LED_POWER 19
-#define OMY_X1_GPIO_LED_WAN 22
-
-#define OMY_X1_GPIO_BTN_RESET 17
-
-#define OMY_X1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OMY_X1_KEYS_DEBOUNCE_INTERVAL (3 * OMY_X1_KEYS_POLL_INTERVAL)
-
-static const char *omy_x1_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data omy_x1_flash_data = {
- .part_probes = omy_x1_part_probes,
-};
-
-static struct gpio_led omy_x1_leds_gpio[] __initdata = {
- {
- .name = "omy:green:wan",
- .gpio = OMY_X1_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "omy:green:power",
- .gpio = OMY_X1_GPIO_LED_POWER,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button omy_x1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OMY_X1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OMY_X1_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init omy_x1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_m25p80(&omy_x1_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(omy_x1_leds_gpio),
- omy_x1_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, OMY_X1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(omy_x1_gpio_keys),
- omy_x1_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
-}
-
-MIPS_MACHINE(ATH79_MACH_OMY_X1, "OMY-X1", "OMYlink OMY-X1",
- omy_x1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.c
deleted file mode 100644
index c739840377..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Onion Omega board support
- *
- * Copyright (C) 2015 Boken Lin <bl@onion.io>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define OMEGA_GPIO_LED_SYSTEM 27
-#define OMEGA_GPIO_BTN_RESET 11
-
-#define OMEGA_GPIO_USB_POWER 8
-
-#define OMEGA_KEYS_POLL_INTERVAL 20 /* msecs */
-#define OMEGA_KEYS_DEBOUNCE_INTERVAL (3 * OMEGA_KEYS_POLL_INTERVAL)
-
-static const char *omega_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data omega_flash_data = {
- .part_probes = omega_part_probes,
-};
-
-static struct gpio_led omega_leds_gpio[] __initdata = {
- {
- .name = "onion:amber:system",
- .gpio = OMEGA_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button omega_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = OMEGA_KEYS_DEBOUNCE_INTERVAL,
- .gpio = OMEGA_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init onion_omega_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&omega_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(omega_leds_gpio),
- omega_leds_gpio);
- ath79_register_gpio_keys_polled(-1, OMEGA_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(omega_gpio_keys),
- omega_gpio_keys);
-
- gpio_request_one(OMEGA_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_ONION_OMEGA, "ONION-OMEGA", "Onion Omega", onion_omega_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-pb42.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-pb42.c
deleted file mode 100644
index 3a350e90a1..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-pb42.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Atheros PB42 board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define PB42_KEYS_POLL_INTERVAL 20 /* msecs */
-#define PB42_KEYS_DEBOUNCE_INTERVAL (3 * PB42_KEYS_POLL_INTERVAL)
-
-#define PB42_GPIO_BTN_SW4 8
-#define PB42_GPIO_BTN_SW5 3
-
-static struct gpio_keys_button pb42_gpio_keys[] __initdata = {
- {
- .desc = "sw4",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = PB42_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PB42_GPIO_BTN_SW4,
- .active_low = 1,
- }, {
- .desc = "sw5",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = PB42_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PB42_GPIO_BTN_SW5,
- .active_low = 1,
- }
-};
-
-static const char *pb42_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data pb42_flash_data = {
- .part_probes = pb42_part_probes,
-};
-
-#define PB42_WAN_PHYMASK BIT(20)
-#define PB42_LAN_PHYMASK (BIT(16) | BIT(17) | BIT(18) | BIT(19))
-#define PB42_MDIO_PHYMASK (PB42_LAN_PHYMASK | PB42_WAN_PHYMASK)
-
-static void __init pb42_init(void)
-{
- ath79_register_m25p80(&pb42_flash_data);
-
- ath79_register_mdio(0, ~PB42_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = PB42_WAN_PHYMASK;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.speed = SPEED_100;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_gpio_keys_polled(-1, PB42_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(pb42_gpio_keys),
- pb42_gpio_keys);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_PB42, "PB42", "Atheros PB42", pb42_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c
deleted file mode 100644
index 56769bfb61..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * PQI Air Pen stick support
- *
- * Copyright (C) 2016 YuheiOKAWA <tochiro.srchack@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 <asm/mach-ath79/ath79.h>
-
-#include "common.h"
-#include "dev-eth.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"
-
-#define PQI_AIR_PEN_GPIO_LED_WLAN 0
-#define PQI_AIR_PEN_GPIO_LED_WPS 23
-
-#define PQI_AIR_PEN_GPIO_BTN_WPS 22
-#define PQI_AIR_PEN_GPIO_BTN_RESET 12
-
-#define PQI_AIR_PEN_KEYS_POLL_INTERVAL 20 /* msecs */
-#define PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL (3 * PQI_AIR_PEN_KEYS_POLL_INTERVAL)
-
-#define PQI_AIR_PEN_WMAC_CALDATA_OFFSET 0x1000
-#define PQI_AIR_PEN_LAN_MAC_OFFSET 0x1002
-#define PQI_AIR_PEN_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led pqi_air_pen_leds_gpio[] __initdata = {
- {
- .name = "pqi-air-pen:blue:wlan",
- .gpio = PQI_AIR_PEN_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "pqi-air-pen:blue:wps",
- .gpio = PQI_AIR_PEN_GPIO_LED_WPS,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button pqi_air_pen_gpio_keys[] __initdata = {
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PQI_AIR_PEN_GPIO_BTN_WPS,
- .active_low = 0,
- },
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PQI_AIR_PEN_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static void __init pqi_air_pen_setup(void)
-{
- /* ART base address */
- u8 *art = (u8 *) KSEG1ADDR(0x9f050000);
-
- /* register flash. */
- ath79_register_m25p80(NULL);
-
- /* register wireless mac with cal data */
- ath79_register_wmac(art + PQI_AIR_PEN_WMAC_CALDATA_OFFSET, art + PQI_AIR_PEN_WMAC_MAC_OFFSET);
-
- /* false PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- /* register gpio LEDs and keys */
- ath79_register_leds_gpio(-1, ARRAY_SIZE(pqi_air_pen_leds_gpio),
- pqi_air_pen_leds_gpio);
- ath79_register_gpio_keys_polled(-1, PQI_AIR_PEN_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(pqi_air_pen_gpio_keys),
- pqi_air_pen_gpio_keys);
-
- /* enable usb */
- ath79_register_usb();
-
- /* register eth0 as LAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, art + PQI_AIR_PEN_LAN_MAC_OFFSET, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_PQI_AIR_PEN, "PQI-AIR-PEN", "PQI Air Pen",pqi_air_pen_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-qihoo-c301.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-qihoo-c301.c
deleted file mode 100644
index a682f35e2c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-qihoo-c301.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Qihoo 360 C301 board support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 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/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 "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"
-#include "nvram.h"
-
-#define QIHOO_C301_GPIO_LED_STATUS_GREEN 0
-#define QIHOO_C301_GPIO_LED_STATUS_RED 11
-
-#define QIHOO_C301_GPIO_LED_WAN 1
-#define QIHOO_C301_GPIO_LED_LAN1 2
-#define QIHOO_C301_GPIO_LED_LAN2 3
-#define QIHOO_C301_GPIO_ETH_LEN_EN 18
-
-#define QIHOO_C301_GPIO_BTN_RESET 16
-
-#define QIHOO_C301_GPIO_USB_POWER 19
-
-#define QIHOO_C301_GPIO_SPI_CS1 12
-
-#define QIHOO_C301_GPIO_EXTERNAL_LNA0 14
-#define QIHOO_C301_GPIO_EXTERNAL_LNA1 15
-
-#define QIHOO_C301_KEYS_POLL_INTERVAL 20 /* msecs */
-#define QIHOO_C301_KEYS_DEBOUNCE_INTERVAL \
- (3 * QIHOO_C301_KEYS_POLL_INTERVAL)
-
-#define QIHOO_C301_WMAC_CALDATA_OFFSET 0x1000
-
-#define QIHOO_C301_NVRAM_ADDR 0x1f058010
-#define QIHOO_C301_NVRAM_SIZE 0x7ff0
-
-static struct gpio_led qihoo_c301_leds_gpio[] __initdata = {
- {
- .name = "qihoo:green:status",
- .gpio = QIHOO_C301_GPIO_LED_STATUS_GREEN,
- .active_low = 1,
- },
- {
- .name = "qihoo:red:status",
- .gpio = QIHOO_C301_GPIO_LED_STATUS_RED,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button qihoo_c301_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = QIHOO_C301_KEYS_DEBOUNCE_INTERVAL,
- .gpio = QIHOO_C301_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct flash_platform_data flash __initdata = {NULL, NULL, 0};
-
-static void qihoo_c301_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(QIHOO_C301_NVRAM_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, QIHOO_C301_NVRAM_SIZE,
- name, mac);
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init qihoo_c301_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80_multi(&flash);
-
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_gpio_output_select(QIHOO_C301_GPIO_LED_WAN,
- AR934X_GPIO_OUT_LED_LINK4);
- ath79_gpio_output_select(QIHOO_C301_GPIO_LED_LAN1,
- AR934X_GPIO_OUT_LED_LINK1);
- ath79_gpio_output_select(QIHOO_C301_GPIO_LED_LAN2,
- AR934X_GPIO_OUT_LED_LINK2);
-
- ath79_gpio_output_select(QIHOO_C301_GPIO_SPI_CS1,
- AR934X_GPIO_OUT_SPI_CS1);
-
- gpio_request_one(QIHOO_C301_GPIO_ETH_LEN_EN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "Ethernet LED enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(qihoo_c301_leds_gpio),
- qihoo_c301_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, QIHOO_C301_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(qihoo_c301_gpio_keys),
- qihoo_c301_gpio_keys);
-
- ath79_wmac_set_ext_lna_gpio(0, QIHOO_C301_GPIO_EXTERNAL_LNA0);
- ath79_wmac_set_ext_lna_gpio(1, QIHOO_C301_GPIO_EXTERNAL_LNA1);
-
- qihoo_c301_get_mac("wlan24mac=", tmpmac);
- ath79_register_wmac(art + QIHOO_C301_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_register_pci();
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE |
- AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- /* LAN */
- qihoo_c301_get_mac("lanmac=", ath79_eth1_data.mac_addr);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN */
- qihoo_c301_get_mac("wanmac=", ath79_eth0_data.mac_addr);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
-
- ath79_register_eth(0);
-
- gpio_request_one(QIHOO_C301_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_QIHOO_C301, "QIHOO-C301", "Qihoo 360 C301",
- qihoo_c301_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-r36a.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-r36a.c
deleted file mode 100644
index b3493e2c42..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-r36a.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * ALFA Network R36A board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define R36A_GPIO_LED_LAN 4
-#define R36A_GPIO_LED_STATUS 14
-#define R36A_GPIO_LED_USB 12
-#define R36A_GPIO_LED_WAN 16
-#define R36A_GPIO_LED_WLAN 15
-
-#define R36A_GPIO_WDT_EN 1
-#define R36A_GPIO_WDT_IN 0
-#define R36A_GPIO_USB_PWR 3
-
-#define R36A_GPIO_BTN_RESET 2
-#define R36A_GPIO_BTN_RFKILL 17
-
-#define R36A_KEYS_POLL_INTERVAL 20
-#define R36A_KEYS_DEBOUNCE_INTERVAL (3 * R36A_KEYS_POLL_INTERVAL)
-
-#define R36A_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led r36a_leds_gpio[] __initdata = {
- {
- .name = "r36a:blue:lan",
- .gpio = R36A_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "r36a:blue:status",
- .gpio = R36A_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "r36a:blue:usb",
- .gpio = R36A_GPIO_LED_USB,
- .active_low = 1,
- }, {
- .name = "r36a:blue:wan",
- .gpio = R36A_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "r36a:blue:wlan",
- .gpio = R36A_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button r36a_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = R36A_KEYS_DEBOUNCE_INTERVAL,
- .gpio = R36A_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = R36A_KEYS_DEBOUNCE_INTERVAL,
- .gpio = R36A_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static void __init r36a_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f070000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xf7;
-
- /* LAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art, 0);
- ath79_register_eth(0);
-
- /* WAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, art, 1);
- ath79_register_eth(1);
-
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(r36a_leds_gpio),
- r36a_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, R36A_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(r36a_gpio_keys),
- r36a_gpio_keys);
-
- gpio_request_one(R36A_GPIO_WDT_IN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT input");
-
- gpio_request_one(R36A_GPIO_WDT_EN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT enable");
-
- gpio_request_one(R36A_GPIO_USB_PWR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_wmac(art + R36A_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_R36A, "R36A", "ALFA Network R36A", r36a_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-r602n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-r602n.c
deleted file mode 100644
index 4aef0a932a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-r602n.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * P&W (Shenzhen Progress&Win Technologies) R602N and CPE505N boards support
- *
- * Copyright (C) 2017 Piotr Dymacz <pepe2k@gmail.com>
- *
- * Based on mach-zbt-we1526.c
- *
- * 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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define PW_GPIO_BTN_RESET 17
-
-#define PW_KEYS_POLL_INTERVAL 20 /* msecs */
-#define PW_KEYS_DEBOUNCE_INTERVAL (3 * PW_KEYS_POLL_INTERVAL)
-
-#define PW_MAC0_OFFSET 0x0
-#define PW_MAC1_OFFSET 0x6
-#define PW_WMAC_CALDATA_OFFSET 0x1000
-
-/* CPE505N GPIO LEDs */
-#define CPE505N_GPIO_LED_DIAG 12
-#define CPE505N_GPIO_LED_LAN 11
-#define CPE505N_GPIO_LED_STATUS 14
-#define CPE505N_GPIO_LED_WAN 4
-#define CPE505N_GPIO_LED_WLAN 15
-
-static struct gpio_led cpe505n_leds_gpio[] __initdata = {
- {
- .name = "cpe505n:red:diag",
- .gpio = CPE505N_GPIO_LED_DIAG,
- .active_low = 1,
- }, {
- .name = "cpe505n:green:lan",
- .gpio = CPE505N_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "cpe505n:green:status",
- .gpio = CPE505N_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "cpe505n:green:wan",
- .gpio = CPE505N_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "cpe505n:blue:wlan",
- .gpio = CPE505N_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static void __init cpe505n_gpio_setup(void)
-{
- /* For LED on GPIO4 */
- ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
- ath79_gpio_output_select(CPE505N_GPIO_LED_WAN, 0);
-
- ath79_gpio_direction_select(CPE505N_GPIO_LED_DIAG, true);
- ath79_gpio_direction_select(CPE505N_GPIO_LED_LAN, true);
- ath79_gpio_direction_select(CPE505N_GPIO_LED_STATUS, true);
- ath79_gpio_direction_select(CPE505N_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(CPE505N_GPIO_LED_WLAN, true);
-
- /* Mute LEDs */
- gpio_set_value(CPE505N_GPIO_LED_DIAG, 1);
- gpio_set_value(CPE505N_GPIO_LED_LAN, 1);
- gpio_set_value(CPE505N_GPIO_LED_STATUS, 1);
- gpio_set_value(CPE505N_GPIO_LED_WAN, 1);
- gpio_set_value(CPE505N_GPIO_LED_WLAN, 1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe505n_leds_gpio),
- cpe505n_leds_gpio);
-}
-
-/* R602N GPIO LEDs */
-#define R602N_GPIO_LED_LAN1 16
-#define R602N_GPIO_LED_LAN2 15
-#define R602N_GPIO_LED_LAN3 14
-#define R602N_GPIO_LED_LAN4 11
-#define R602N_GPIO_LED_WAN 4
-#define R602N_GPIO_LED_WLAN 12
-
-static struct gpio_led r602n_leds_gpio[] __initdata = {
- {
- .name = "r602n:green:lan1",
- .gpio = R602N_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "r602n:green:lan2",
- .gpio = R602N_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "r602n:green:lan3",
- .gpio = R602N_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "r602n:green:lan4",
- .gpio = R602N_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "r602n:green:wan",
- .gpio = R602N_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "r602n:green:wlan",
- .gpio = R602N_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static void __init r602n_gpio_setup(void)
-{
- /* For LED on GPIO4 */
- ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
- ath79_gpio_output_select(R602N_GPIO_LED_WAN, 0);
-
- ath79_gpio_direction_select(R602N_GPIO_LED_LAN1, true);
- ath79_gpio_direction_select(R602N_GPIO_LED_LAN2, true);
- ath79_gpio_direction_select(R602N_GPIO_LED_LAN3, true);
- ath79_gpio_direction_select(R602N_GPIO_LED_LAN4, true);
- ath79_gpio_direction_select(R602N_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(R602N_GPIO_LED_WLAN, true);
-
- /* Mute LEDs */
- gpio_set_value(R602N_GPIO_LED_LAN1, 1);
- gpio_set_value(R602N_GPIO_LED_LAN2, 1);
- gpio_set_value(R602N_GPIO_LED_LAN3, 1);
- gpio_set_value(R602N_GPIO_LED_LAN4, 1);
- gpio_set_value(R602N_GPIO_LED_WAN, 1);
- gpio_set_value(R602N_GPIO_LED_WLAN, 1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(r602n_leds_gpio),
- r602n_leds_gpio);
-}
-
-static struct gpio_keys_button pw_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = PW_KEYS_DEBOUNCE_INTERVAL,
- .gpio = PW_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init r602n_cpe505n_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + PW_MAC1_OFFSET, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art + PW_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + PW_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_gpio_keys_polled(-1, PW_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(pw_gpio_keys),
- pw_gpio_keys);
-}
-
-static void __init cpe505n_setup(void)
-{
- r602n_cpe505n_setup();
-
- cpe505n_gpio_setup();
-}
-
-static void __init r602n_setup(void)
-{
- r602n_cpe505n_setup();
-
- r602n_gpio_setup();
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_CPE505N, "CPE505N", "P&W CPE505N", cpe505n_setup);
-MIPS_MACHINE(ATH79_MACH_R602N, "R602N", "P&W R602N", r602n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-r6100.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-r6100.c
deleted file mode 100644
index c1f0e2c400..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-r6100.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * NETGEAR R6100 board support
- *
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/phy.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/platform/ar934x_nfc.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-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define R6100_GPIO_LED_WLAN 0
-#define R6100_GPIO_LED_USB 11
-#define R6100_GPIO_LED_WAN_GREEN 13
-#define R6100_GPIO_LED_POWER_AMBER 14
-#define R6100_GPIO_LED_WAN_AMBER 15
-#define R6100_GPIO_LED_POWER_GREEN 17
-
-#define R6100_GPIO_BTN_WIRELESS 1
-#define R6100_GPIO_BTN_WPS 3
-#define R6100_GPIO_BTN_RESET 12
-
-#define R6100_GPIO_USB_POWER 16
-
-#define R6100_KEYS_POLL_INTERVAL 20 /* msecs */
-#define R6100_KEYS_DEBOUNCE_INTERVAL (3 * R6100_KEYS_POLL_INTERVAL)
-
-static struct gpio_led r6100_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = R6100_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:power",
- .gpio = R6100_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wan",
- .gpio = R6100_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:wan",
- .gpio = R6100_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:blue:usb",
- .gpio = R6100_GPIO_LED_USB,
- .active_low = 1,
- },
- {
- .name = "netgear:blue:wlan",
- .gpio = R6100_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button r6100_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = R6100_KEYS_DEBOUNCE_INTERVAL,
- .gpio = R6100_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = R6100_KEYS_DEBOUNCE_INTERVAL,
- .gpio = R6100_GPIO_BTN_WPS,
- .active_low = 0,
- },
- {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = R6100_KEYS_DEBOUNCE_INTERVAL,
- .gpio = R6100_GPIO_BTN_WIRELESS,
- .active_low = 0,
- },
-};
-
-static void __init r6100_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(r6100_leds_gpio),
- r6100_leds_gpio);
- ath79_register_gpio_keys_polled(-1, R6100_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(r6100_gpio_keys),
- r6100_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- gpio_request_one(R6100_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
-
- ath79_register_usb();
-
- ath79_register_wmac_simple();
-
- ap91_pci_init_simple();
-}
-
-MIPS_MACHINE(ATH79_MACH_R6100, "R6100", "NETGEAR R6100",
- r6100_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rambutan.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rambutan.c
deleted file mode 100644
index 1730a29f33..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rambutan.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 8devices Rambutan board support
- *
- * Copyright (C) 2017 Mantas Pucka <mantas@8devices.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/phy.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/platform/ar934x_nfc.h>
-#include <linux/ar8216_platform.h>
-#include <linux/platform_data/phy-at803x.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-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-static struct at803x_platform_data rambutan_ar8032_data = {
- .has_reset_gpio = 1,
- .reset_gpio = 17,
-};
-
-static struct mdio_board_info rambutan_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rambutan_ar8032_data,
- },
-};
-
-static struct at803x_platform_data rambutan_ar8033_data = {
- .has_reset_gpio = 1,
- .override_sgmii_aneg = 1,
- .reset_gpio = 23,
-};
-
-static struct mdio_board_info rambutan_mdio1_info[] = {
- {
- .bus_id = "ag71xx-mdio.1",
- .mdio_addr = 0,
- .platform_data = &rambutan_ar8033_data,
- },
-};
-
-static void __init rambutan_setup(void)
-{
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
- ath79_register_usb();
- ath79_register_pci();
- ath79_register_wmac_simple();
-
- mdiobus_register_board_info(rambutan_mdio0_info,
- ARRAY_SIZE(rambutan_mdio0_info));
- mdiobus_register_board_info(rambutan_mdio1_info,
- ARRAY_SIZE(rambutan_mdio1_info));
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_register_eth(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.phy_mask = BIT(0);
- ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth1_data.enable_sgmii_fixup = 1;
- ath79_eth1_pll_data.pll_1000 = 0x17000000;
- ath79_eth1_pll_data.pll_10 = 0x1313;
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_RAMBUTAN, "RAMBUTAN", "8devices Rambutan board",
- rambutan_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
deleted file mode 100644
index aee0fb2014..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * MikroTik RouterBOARD 2011 support
- *
- * Copyright (C) 2012 Stijn Tintel <stijn@linux-ipv6.be>
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#define pr_fmt(fmt) "rb2011: " fmt
-
-#include <linux/version.h>
-#include <linux/phy.h>
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-#include <linux/version.h>
-
-#include <asm/prom.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "routerboot.h"
-
-#define RB2011_GPIO_NAND_NCE 14
-#define RB2011_GPIO_SFP_LOS 21
-
-#define RB_ROUTERBOOT_OFFSET 0x0000
-#define RB_ROUTERBOOT_MIN_SIZE 0xb000
-#define RB_HARD_CFG_SIZE 0x1000
-#define RB_BIOS_OFFSET 0xd000
-#define RB_BIOS_SIZE 0x1000
-#define RB_SOFT_CFG_OFFSET 0xf000
-#define RB_SOFT_CFG_SIZE 0x1000
-
-#define RB_ART_SIZE 0x10000
-
-#define RB2011_FLAG_SFP BIT(0)
-#define RB2011_FLAG_USB BIT(1)
-#define RB2011_FLAG_WLAN BIT(2)
-
-static struct mtd_partition rb2011_spi_partitions[] = {
- {
- .name = "routerboot",
- .offset = RB_ROUTERBOOT_OFFSET,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "hard_config",
- .size = RB_HARD_CFG_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "bios",
- .offset = RB_BIOS_OFFSET,
- .size = RB_BIOS_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "soft_config",
- .size = RB_SOFT_CFG_SIZE,
- }
-};
-
-static void __init rb2011_init_partitions(const struct rb_info *info)
-{
- rb2011_spi_partitions[0].size = info->hard_cfg_offs;
- rb2011_spi_partitions[1].offset = info->hard_cfg_offs;
- rb2011_spi_partitions[3].offset = info->soft_cfg_offs;
-}
-
-static struct mtd_partition rb2011_nand_partitions[] = {
- {
- .name = "booter",
- .offset = 0,
- .size = (256 * 1024),
- .mask_flags = MTD_WRITEABLE,
- },
- {
- .name = "kernel",
- .offset = (256 * 1024),
- .size = (4 * 1024 * 1024) - (256 * 1024),
- },
- {
- .name = "ubi",
- .offset = MTDPART_OFS_NXTBLK,
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct flash_platform_data rb2011_spi_flash_data = {
- .parts = rb2011_spi_partitions,
- .nr_parts = ARRAY_SIZE(rb2011_spi_partitions),
-};
-
-static struct ar8327_pad_cfg rb2011_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL3,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_pad_cfg rb2011_ar8327_pad6_cfg;
-static struct ar8327_sgmii_cfg rb2011_ar8327_sgmii_cfg;
-
-static struct ar8327_led_cfg rb2011_ar8327_led_cfg = {
- .led_ctrl0 = 0xc731c731,
- .led_ctrl1 = 0x00000000,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x0030c300,
- .open_drain = false,
-};
-
-static const struct ar8327_led_info rb2011_ar8327_leds[] = {
- AR8327_LED_INFO(PHY0_0, HW, "rb:green:eth1"),
- AR8327_LED_INFO(PHY1_0, HW, "rb:green:eth2"),
- AR8327_LED_INFO(PHY2_0, HW, "rb:green:eth3"),
- AR8327_LED_INFO(PHY3_0, HW, "rb:green:eth4"),
- AR8327_LED_INFO(PHY4_0, HW, "rb:green:eth5"),
- AR8327_LED_INFO(PHY0_1, SW, "rb:green:eth6"),
- AR8327_LED_INFO(PHY1_1, SW, "rb:green:eth7"),
- AR8327_LED_INFO(PHY2_1, SW, "rb:green:eth8"),
- AR8327_LED_INFO(PHY3_1, SW, "rb:green:eth9"),
- AR8327_LED_INFO(PHY4_1, SW, "rb:green:eth10"),
- AR8327_LED_INFO(PHY4_2, SW, "rb:green:usr"),
-};
-
-static struct ar8327_platform_data rb2011_ar8327_data = {
- .pad0_cfg = &rb2011_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &rb2011_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(rb2011_ar8327_leds),
- .leds = rb2011_ar8327_leds,
-};
-
-static struct mdio_board_info rb2011_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rb2011_ar8327_data,
- },
-};
-
-static void __init rb2011_wlan_init(void)
-{
- char *art_buf;
- u8 wlan_mac[ETH_ALEN];
-
- art_buf = rb_get_wlan_data();
- if (art_buf == NULL)
- return;
-
- ath79_init_mac(wlan_mac, ath79_mac_base, 11);
- ath79_register_wmac(art_buf + 0x1000, wlan_mac);
-
- kfree(art_buf);
-}
-
-static void rb2011_nand_select_chip(int chip_no)
-{
- switch (chip_no) {
- case 0:
- gpio_set_value(RB2011_GPIO_NAND_NCE, 0);
- break;
- default:
- gpio_set_value(RB2011_GPIO_NAND_NCE, 1);
- break;
- }
- ndelay(500);
-}
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
-static struct nand_ecclayout rb2011_nand_ecclayout = {
- .eccbytes = 6,
- .eccpos = { 8, 9, 10, 13, 14, 15 },
- .oobavail = 9,
- .oobfree = { { 0, 4 }, { 6, 2 }, { 11, 2 }, { 4, 1 } }
-};
-
-#else
-
-static int rb2011_ooblayout_ecc(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 8;
- oobregion->length = 3;
- return 0;
- case 1:
- oobregion->offset = 13;
- oobregion->length = 3;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static int rb2011_ooblayout_free(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 0;
- oobregion->length = 4;
- return 0;
- case 1:
- oobregion->offset = 4;
- oobregion->length = 1;
- return 0;
- case 2:
- oobregion->offset = 6;
- oobregion->length = 2;
- return 0;
- case 3:
- oobregion->offset = 11;
- oobregion->length = 2;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static const struct mtd_ooblayout_ops rb2011_nand_ecclayout_ops = {
- .ecc = rb2011_ooblayout_ecc,
- .free = rb2011_ooblayout_free,
-};
-#endif /* < 4.6 */
-
-static int rb2011_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) {
- /*
- * Use the OLD Yaffs-1 OOB layout, otherwise RouterBoot
- * will not be able to find the kernel that we load.
- */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- chip->ecc.layout = &rb2011_nand_ecclayout;
-#else
- mtd_set_ooblayout(mtd, &rb2011_nand_ecclayout_ops);
-#endif
- }
-
- chip->options = NAND_NO_SUBPAGE_WRITE;
-
- return 0;
-}
-
-static void __init rb2011_nand_init(void)
-{
- gpio_request_one(RB2011_GPIO_NAND_NCE, GPIOF_OUT_INIT_HIGH, "NAND nCE");
-
- ath79_nfc_set_scan_fixup(rb2011_nand_scan_fixup);
- ath79_nfc_set_parts(rb2011_nand_partitions,
- ARRAY_SIZE(rb2011_nand_partitions));
- ath79_nfc_set_select_chip(rb2011_nand_select_chip);
- ath79_nfc_set_swap_dma(true);
- ath79_register_nfc();
-}
-
-static int rb2011_get_port_link(unsigned port)
-{
- if (port != 6)
- return -EINVAL;
-
- /* The Loss of signal line is active low */
- return !gpio_get_value(RB2011_GPIO_SFP_LOS);
-}
-
-static void __init rb2011_sfp_init(void)
-{
- gpio_request_one(RB2011_GPIO_SFP_LOS, GPIOF_IN, "SFP LOS");
-
- rb2011_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;
-
- rb2011_ar8327_data.pad6_cfg = &rb2011_ar8327_pad6_cfg;
-
- rb2011_ar8327_sgmii_cfg.sgmii_ctrl = 0xc70167d0;
- rb2011_ar8327_sgmii_cfg.serdes_aen = true;
-
- rb2011_ar8327_data.sgmii_cfg = &rb2011_ar8327_sgmii_cfg;
-
- rb2011_ar8327_data.port6_cfg.force_link = 1;
- rb2011_ar8327_data.port6_cfg.speed = AR8327_PORT_SPEED_1000;
- rb2011_ar8327_data.port6_cfg.duplex = 1;
-
- rb2011_ar8327_data.get_port_link = rb2011_get_port_link;
-}
-
-static int __init rb2011_setup(u32 flags)
-{
- const struct rb_info *info;
- char buf[64];
-
- info = rb_init_info((void *) KSEG1ADDR(0x1f000000), 0x10000);
- if (!info)
- return -ENODEV;
-
- scnprintf(buf, sizeof(buf), "Mikrotik RouterBOARD %s",
- (info->board_name) ? info->board_name : "");
- mips_set_machine_name(buf);
-
- rb2011_init_partitions(info);
-
- ath79_register_m25p80(&rb2011_spi_flash_data);
- rb2011_nand_init();
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_RXD_DELAY |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(rb2011_mdio0_info,
- ARRAY_SIZE(rb2011_mdio0_info));
-
- /* GMAC0 is connected to an ar8327 switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x6f000000;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 5);
- 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(1);
-
- if (flags & RB2011_FLAG_SFP)
- rb2011_sfp_init();
-
- if (flags & RB2011_FLAG_WLAN)
- rb2011_wlan_init();
-
- if (flags & RB2011_FLAG_USB)
- ath79_register_usb();
-
- return 0;
-}
-
-static void __init rb2011l_setup(void)
-{
- rb2011_setup(0);
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011L, "2011L", rb2011l_setup);
-
-static void __init rb2011us_setup(void)
-{
- rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB);
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011US, "2011US", rb2011us_setup);
-
-static void __init rb2011r5_setup(void)
-{
- rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB | RB2011_FLAG_WLAN);
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);
-
-static void __init rb2011g_setup(void)
-{
- rb2011_setup(RB2011_FLAG_SFP |
- RB2011_FLAG_USB |
- RB2011_FLAG_WLAN);
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011G, "2011G", rb2011g_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c
deleted file mode 100644
index edf90e1872..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * MikroTik RouterBOARD 4xx series support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/irq.h>
-#include <linux/platform_data/mdio-gpio.h>
-#include <linux/mmc/host.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/spi/mmc_spi.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/rb4xx_cpld.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define RB4XX_GPIO_USER_LED 4
-#define RB4XX_GPIO_RESET_SWITCH 7
-
-#define RB4XX_GPIO_CPLD_BASE 32
-#define RB4XX_GPIO_CPLD_LED1 (RB4XX_GPIO_CPLD_BASE + CPLD_GPIO_nLED1)
-#define RB4XX_GPIO_CPLD_LED2 (RB4XX_GPIO_CPLD_BASE + CPLD_GPIO_nLED2)
-#define RB4XX_GPIO_CPLD_LED3 (RB4XX_GPIO_CPLD_BASE + CPLD_GPIO_nLED3)
-#define RB4XX_GPIO_CPLD_LED4 (RB4XX_GPIO_CPLD_BASE + CPLD_GPIO_nLED4)
-#define RB4XX_GPIO_CPLD_LED5 (RB4XX_GPIO_CPLD_BASE + CPLD_GPIO_nLED5)
-
-#define RB4XX_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RB4XX_KEYS_DEBOUNCE_INTERVAL (3 * RB4XX_KEYS_POLL_INTERVAL)
-
-static struct gpio_led rb4xx_leds_gpio[] __initdata = {
- {
- .name = "rb4xx:yellow:user",
- .gpio = RB4XX_GPIO_USER_LED,
- .active_low = 0,
- }, {
- .name = "rb4xx:green:led1",
- .gpio = RB4XX_GPIO_CPLD_LED1,
- .active_low = 1,
- }, {
- .name = "rb4xx:green:led2",
- .gpio = RB4XX_GPIO_CPLD_LED2,
- .active_low = 1,
- }, {
- .name = "rb4xx:green:led3",
- .gpio = RB4XX_GPIO_CPLD_LED3,
- .active_low = 1,
- }, {
- .name = "rb4xx:green:led4",
- .gpio = RB4XX_GPIO_CPLD_LED4,
- .active_low = 1,
- }, {
- .name = "rb4xx:green:led5",
- .gpio = RB4XX_GPIO_CPLD_LED5,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button rb4xx_gpio_keys[] __initdata = {
- {
- .desc = "reset_switch",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RB4XX_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RB4XX_GPIO_RESET_SWITCH,
- .active_low = 1,
- }
-};
-
-static struct platform_device rb4xx_nand_device = {
- .name = "rb4xx-nand",
- .id = -1,
-};
-
-static struct ath79_pci_irq rb4xx_pci_irqs[] = {
- {
- .slot = 17,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(2),
- }, {
- .slot = 18,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(0),
- }, {
- .slot = 18,
- .pin = 2,
- .irq = ATH79_PCI_IRQ(1),
- }, {
- .slot = 19,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(1),
- }, {
- .slot = 19,
- .pin = 2,
- .irq = ATH79_PCI_IRQ(2),
- }, {
- .slot = 20,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(2),
- }, {
- .slot = 20,
- .pin = 2,
- .irq = ATH79_PCI_IRQ(0),
- }, {
- .slot = 21,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(0),
- }, {
- .slot = 22,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(1),
- }, {
- .slot = 22,
- .pin = 2,
- .irq = ATH79_PCI_IRQ(2),
- }, {
- .slot = 23,
- .pin = 1,
- .irq = ATH79_PCI_IRQ(2),
- }, {
- .slot = 23,
- .pin = 2,
- .irq = ATH79_PCI_IRQ(0),
- }
-};
-
-static struct mtd_partition rb4xx_partitions[] = {
- {
- .name = "routerboot",
- .offset = 0,
- .size = 0x0b000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "hard_config",
- .offset = 0x0b000,
- .size = 0x01000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "bios",
- .offset = 0x0d000,
- .size = 0x02000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "soft_config",
- .offset = 0x0f000,
- .size = 0x01000,
- }
-};
-
-static struct flash_platform_data rb4xx_flash_data = {
- .type = "pm25lv512",
- .parts = rb4xx_partitions,
- .nr_parts = ARRAY_SIZE(rb4xx_partitions),
-};
-
-static struct rb4xx_cpld_platform_data rb4xx_cpld_data = {
- .gpio_base = RB4XX_GPIO_CPLD_BASE,
-};
-
-static struct mmc_spi_platform_data rb4xx_mmc_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
-};
-
-static struct spi_board_info rb4xx_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- .platform_data = &rb4xx_flash_data,
- }, {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 25000000,
- .modalias = "spi-rb4xx-cpld",
- .platform_data = &rb4xx_cpld_data,
- }
-};
-
-static struct spi_board_info rb4xx_microsd_info[] = {
- {
- .bus_num = 0,
- .chip_select = 2,
- .max_speed_hz = 25000000,
- .modalias = "mmc_spi",
- .platform_data = &rb4xx_mmc_data,
- }
-};
-
-
-static struct resource rb4xx_spi_resources[] = {
- {
- .start = AR71XX_SPI_BASE,
- .end = AR71XX_SPI_BASE + AR71XX_SPI_SIZE - 1,
- .flags = IORESOURCE_MEM,
- },
-};
-
-static struct platform_device rb4xx_spi_device = {
- .name = "rb4xx-spi",
- .id = -1,
- .resource = rb4xx_spi_resources,
- .num_resources = ARRAY_SIZE(rb4xx_spi_resources),
-};
-
-static void __init rb4xx_generic_setup(void)
-{
- ath79_gpio_function_enable(AR71XX_GPIO_FUNC_SPI_CS1_EN |
- AR71XX_GPIO_FUNC_SPI_CS2_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb4xx_leds_gpio),
- rb4xx_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, RB4XX_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rb4xx_gpio_keys),
- rb4xx_gpio_keys);
-
- spi_register_board_info(rb4xx_spi_info, ARRAY_SIZE(rb4xx_spi_info));
- platform_device_register(&rb4xx_spi_device);
- platform_device_register(&rb4xx_nand_device);
-}
-
-static void __init rb411_setup(void)
-{
- rb4xx_generic_setup();
- spi_register_board_info(rb4xx_microsd_info,
- ARRAY_SIZE(rb4xx_microsd_info));
-
- ath79_register_mdio(0, 0xfffffffc);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = 0x00000003;
-
- ath79_register_eth(0);
-
- ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_411, "411", "MikroTik RouterBOARD 411/A/AH",
- rb411_setup);
-
-static void __init rb411u_setup(void)
-{
- rb411_setup();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_411U, "411U", "MikroTik RouterBOARD 411U",
- rb411u_setup);
-
-#define RB433_LAN_PHYMASK BIT(0)
-#define RB433_WAN_PHYMASK BIT(4)
-#define RB433_MDIO_PHYMASK (RB433_LAN_PHYMASK | RB433_WAN_PHYMASK)
-
-static void __init rb433_setup(void)
-{
- rb4xx_generic_setup();
- spi_register_board_info(rb4xx_microsd_info,
- ARRAY_SIZE(rb4xx_microsd_info));
-
- ath79_register_mdio(0, ~RB433_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 1);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = RB433_LAN_PHYMASK;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = RB433_WAN_PHYMASK;
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_433, "433", "MikroTik RouterBOARD 433/AH",
- rb433_setup);
-
-static void __init rb433u_setup(void)
-{
- rb433_setup();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_433U, "433U", "MikroTik RouterBOARD 433UAH",
- rb433u_setup);
-
-static void __init rb435g_setup(void)
-{
- rb4xx_generic_setup();
-
- spi_register_board_info(rb4xx_microsd_info,
- ARRAY_SIZE(rb4xx_microsd_info));
-
- ath79_register_mdio(0, ~RB433_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 1);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = RB433_LAN_PHYMASK;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = RB433_WAN_PHYMASK;
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
- ath79_register_pci();
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_435G, "435G", "MikroTik RouterBOARD 435G",
- rb435g_setup);
-
-#define RB450_LAN_PHYMASK BIT(0)
-#define RB450_WAN_PHYMASK BIT(4)
-#define RB450_MDIO_PHYMASK (RB450_LAN_PHYMASK | RB450_WAN_PHYMASK)
-
-static void __init rb450_generic_setup(int gige)
-{
- rb4xx_generic_setup();
- ath79_register_mdio(0, ~RB450_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 1);
- ath79_eth0_data.phy_if_mode = (gige) ?
- PHY_INTERFACE_MODE_RGMII : PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = RB450_LAN_PHYMASK;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
- ath79_eth1_data.phy_if_mode = (gige) ?
- PHY_INTERFACE_MODE_RGMII : PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = RB450_WAN_PHYMASK;
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-}
-
-static void __init rb450_setup(void)
-{
- rb450_generic_setup(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_450, "450", "MikroTik RouterBOARD 450",
- rb450_setup);
-
-static void __init rb450g_setup(void)
-{
- rb450_generic_setup(1);
- spi_register_board_info(rb4xx_microsd_info,
- ARRAY_SIZE(rb4xx_microsd_info));
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_450G, "450G", "MikroTik RouterBOARD 450G",
- rb450g_setup);
-
-static void __init rb493_setup(void)
-{
- rb4xx_generic_setup();
-
- ath79_register_mdio(0, 0x3fffff00);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x00000001;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_493, "493", "MikroTik RouterBOARD 493/AH",
- rb493_setup);
-
-#define RB493G_GPIO_MDIO_MDC 7
-#define RB493G_GPIO_MDIO_DATA 8
-
-#define RB493G_MDIO_PHYMASK BIT(0)
-
-static struct mdio_gpio_platform_data rb493g_mdio_data = {
- .mdc = RB493G_GPIO_MDIO_MDC,
- .mdio = RB493G_GPIO_MDIO_DATA,
-
- .phy_mask = ~RB493G_MDIO_PHYMASK,
-};
-
-static struct platform_device rb493g_mdio_device = {
- .name = "mdio-gpio",
- .id = -1,
- .dev = {
- .platform_data = &rb493g_mdio_data,
- },
-};
-
-static void __init rb493g_setup(void)
-{
- ath79_gpio_function_enable(AR71XX_GPIO_FUNC_SPI_CS1_EN |
- AR71XX_GPIO_FUNC_SPI_CS2_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb4xx_leds_gpio),
- rb4xx_leds_gpio);
-
- spi_register_board_info(rb4xx_spi_info, ARRAY_SIZE(rb4xx_spi_info));
- spi_register_board_info(rb4xx_microsd_info,
- ARRAY_SIZE(rb4xx_microsd_info));
-
- platform_device_register(&rb4xx_spi_device);
- platform_device_register(&rb4xx_nand_device);
-
- ath79_register_mdio(0, ~RB493G_MDIO_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = RB493G_MDIO_PHYMASK;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.mii_bus_dev = &rb493g_mdio_device.dev;
- ath79_eth1_data.phy_mask = RB493G_MDIO_PHYMASK;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- platform_device_register(&rb493g_mdio_device);
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_usb();
-
- ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_493G, "493G", "MikroTik RouterBOARD 493G",
- rb493g_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c
deleted file mode 100644
index 0ec94a80e3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
- * MikroTik RouterBOARD 750/750GL support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/export.h>
-#include <linux/pci.h>
-#include <linux/ath9k_platform.h>
-#include <linux/platform_device.h>
-#include <linux/phy.h>
-#include <linux/ar8216_platform.h>
-#include <linux/rle.h>
-#include <linux/routerboot.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/mach-rb750.h>
-
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-usb.h"
-#include "dev-eth.h"
-#include "machtypes.h"
-#include "routerboot.h"
-
-static struct rb750_led_data rb750_leds[] = {
- {
- .name = "rb750:green:act",
- .mask = RB750_LED_ACT,
- .active_low = 1,
- }, {
- .name = "rb750:green:port1",
- .mask = RB750_LED_PORT5,
- .active_low = 1,
- }, {
- .name = "rb750:green:port2",
- .mask = RB750_LED_PORT4,
- .active_low = 1,
- }, {
- .name = "rb750:green:port3",
- .mask = RB750_LED_PORT3,
- .active_low = 1,
- }, {
- .name = "rb750:green:port4",
- .mask = RB750_LED_PORT2,
- .active_low = 1,
- }, {
- .name = "rb750:green:port5",
- .mask = RB750_LED_PORT1,
- .active_low = 1,
- }
-};
-
-static struct rb750_led_data rb750gr3_leds[] = {
- {
- .name = "rb750:green:act",
- .mask = RB7XX_LED_ACT,
- .active_low = 1,
- },
-};
-
-static struct rb750_led_platform_data rb750_leds_data;
-static struct platform_device rb750_leds_device = {
- .name = "leds-rb750",
- .dev = {
- .platform_data = &rb750_leds_data,
- }
-};
-
-static struct rb7xx_nand_platform_data rb750_nand_data;
-static struct platform_device rb750_nand_device = {
- .name = "rb750-nand",
- .id = -1,
- .dev = {
- .platform_data = &rb750_nand_data,
- }
-};
-
-static void rb750_latch_change(u32 mask_clr, u32 mask_set)
-{
- static DEFINE_SPINLOCK(lock);
- static u32 latch_set = RB750_LED_BITS | RB750_LVC573_LE;
- static u32 latch_oe;
- static u32 latch_clr;
- unsigned long flags;
- u32 t;
-
- spin_lock_irqsave(&lock, flags);
-
- if ((mask_clr & BIT(31)) != 0 &&
- (latch_set & RB750_LVC573_LE) == 0) {
- goto unlock;
- }
-
- latch_set = (latch_set | mask_set) & ~mask_clr;
- latch_clr = (latch_clr | mask_clr) & ~mask_set;
-
- if (latch_oe == 0)
- latch_oe = __raw_readl(ath79_gpio_base + AR71XX_GPIO_REG_OE);
-
- if (likely(latch_set & RB750_LVC573_LE)) {
- void __iomem *base = ath79_gpio_base;
-
- t = __raw_readl(base + AR71XX_GPIO_REG_OE);
- t |= mask_clr | latch_oe | mask_set;
-
- __raw_writel(t, base + AR71XX_GPIO_REG_OE);
- __raw_writel(latch_clr, base + AR71XX_GPIO_REG_CLEAR);
- __raw_writel(latch_set, base + AR71XX_GPIO_REG_SET);
- } else if (mask_clr & RB750_LVC573_LE) {
- void __iomem *base = ath79_gpio_base;
-
- latch_oe = __raw_readl(base + AR71XX_GPIO_REG_OE);
- __raw_writel(RB750_LVC573_LE, base + AR71XX_GPIO_REG_CLEAR);
- /* flush write */
- __raw_readl(base + AR71XX_GPIO_REG_CLEAR);
- }
-
-unlock:
- spin_unlock_irqrestore(&lock, flags);
-}
-
-static void rb750_nand_enable_pins(void)
-{
- rb750_latch_change(RB750_LVC573_LE, 0);
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE,
- AR724X_GPIO_FUNC_SPI_EN);
-}
-
-static void rb750_nand_disable_pins(void)
-{
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_SPI_EN,
- AR724X_GPIO_FUNC_JTAG_DISABLE);
- rb750_latch_change(0, RB750_LVC573_LE);
-}
-
-static void __init rb750_setup(void)
-{
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- rb750_leds_data.num_leds = ARRAY_SIZE(rb750_leds);
- rb750_leds_data.leds = rb750_leds;
- rb750_leds_data.latch_change = rb750_latch_change;
- platform_device_register(&rb750_leds_device);
-
- rb750_nand_data.nce_line = RB750_NAND_NCE;
- rb750_nand_data.enable_pins = rb750_nand_enable_pins;
- rb750_nand_data.disable_pins = rb750_nand_disable_pins;
- rb750_nand_data.latch_change = rb750_latch_change;
- platform_device_register(&rb750_nand_device);
-
- /* USB */
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_750, "750i", "MikroTik RouterBOARD 750",
- rb750_setup);
-
-static struct ar8327_pad_cfg rb750gr3_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data rb750gr3_ar8327_data = {
- .pad0_cfg = &rb750gr3_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- }
-};
-
-static struct mdio_board_info rb750g3_mdio_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rb750gr3_ar8327_data,
- },
-};
-
-static void rb750gr3_nand_enable_pins(void)
-{
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE,
- AR724X_GPIO_FUNC_SPI_EN |
- AR724X_GPIO_FUNC_SPI_CS_EN2);
-}
-
-static void rb750gr3_nand_disable_pins(void)
-{
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_SPI_EN |
- AR724X_GPIO_FUNC_SPI_CS_EN2,
- AR724X_GPIO_FUNC_JTAG_DISABLE);
-}
-
-static void rb750gr3_latch_change(u32 mask_clr, u32 mask_set)
-{
- static DEFINE_SPINLOCK(lock);
- static u32 latch_set = RB7XX_LED_ACT;
- static u32 latch_clr;
- void __iomem *base = ath79_gpio_base;
- unsigned long flags;
- u32 t;
-
- spin_lock_irqsave(&lock, flags);
-
- latch_set = (latch_set | mask_set) & ~mask_clr;
- latch_clr = (latch_clr | mask_clr) & ~mask_set;
-
- mask_set = latch_set & (RB7XX_USB_POWERON | RB7XX_MONITOR);
- mask_clr = latch_clr & (RB7XX_USB_POWERON | RB7XX_MONITOR);
-
- if ((latch_set ^ RB7XX_LED_ACT) & RB7XX_LED_ACT) {
- /* enable output mode */
- t = __raw_readl(base + AR71XX_GPIO_REG_OE);
- t |= RB7XX_LED_ACT;
- __raw_writel(t, base + AR71XX_GPIO_REG_OE);
-
- mask_clr |= RB7XX_LED_ACT;
- } else {
- /* disable output mode */
- t = __raw_readl(base + AR71XX_GPIO_REG_OE);
- t &= ~RB7XX_LED_ACT;
- __raw_writel(t, base + AR71XX_GPIO_REG_OE);
- }
-
- __raw_writel(mask_set, base + AR71XX_GPIO_REG_SET);
- __raw_writel(mask_clr, base + AR71XX_GPIO_REG_CLEAR);
-
- spin_unlock_irqrestore(&lock, flags);
-}
-
-static void __init rb750gr3_setup(void)
-{
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(rb750g3_mdio_info,
- ARRAY_SIZE(rb750g3_mdio_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_pll_data.pll_1000 = 0x62000000;
-
- ath79_register_eth(0);
-
- rb750_leds_data.num_leds = ARRAY_SIZE(rb750gr3_leds);
- rb750_leds_data.leds = rb750gr3_leds;
- rb750_leds_data.latch_change = rb750gr3_latch_change;
- platform_device_register(&rb750_leds_device);
-
- rb750_nand_data.nce_line = RB7XX_NAND_NCE;
- rb750_nand_data.enable_pins = rb750gr3_nand_enable_pins;
- rb750_nand_data.disable_pins = rb750gr3_nand_disable_pins;
- rb750_nand_data.latch_change = rb750gr3_latch_change;
- platform_device_register(&rb750_nand_device);
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_750G_R3, "750Gr3", "MikroTik RouterBOARD 750GL",
- rb750gr3_setup);
-
-#define RB751_HARDCONFIG 0x1f00b000
-#define RB751_HARDCONFIG_SIZE 0x1000
-
-static void __init rb751_wlan_setup(void)
-{
- u8 *hardconfig = (u8 *) KSEG1ADDR(RB751_HARDCONFIG);
- struct ath9k_platform_data *wmac_data;
- u16 tag_len;
- u8 *tag;
- u16 mac_len;
- u8 *mac;
- int err;
-
- wmac_data = ap9x_pci_get_wmac_data(0);
- if (!wmac_data) {
- pr_err("rb75x: unable to get address of wlan data\n");
- return;
- }
-
- ap9x_pci_setup_wmac_led_pin(0, 9);
-
- err = routerboot_find_tag(hardconfig, RB751_HARDCONFIG_SIZE,
- RB_ID_WLAN_DATA, &tag, &tag_len);
- if (err) {
- pr_err("rb75x: no calibration data found\n");
- return;
- }
-
- err = rle_decode(tag, tag_len, (unsigned char *) wmac_data->eeprom_data,
- sizeof(wmac_data->eeprom_data), NULL, NULL);
- if (err) {
- pr_err("rb75x: unable to decode wlan eeprom data\n");
- return;
- }
-
- err = routerboot_find_tag(hardconfig, RB751_HARDCONFIG_SIZE,
- RB_ID_MAC_ADDRESS_PACK, &mac, &mac_len);
- if (err) {
- pr_err("rb75x: no mac address found\n");
- return;
- }
-
- ap91_pci_init(NULL, mac);
-}
-
-static void __init rb751_setup(void)
-{
- rb750_setup();
- ath79_register_usb();
- rb751_wlan_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_751, "751", "MikroTik RouterBOARD 751",
- rb751_setup);
-
-static void __init rb751g_setup(void)
-{
- rb750gr3_setup();
- ath79_register_usb();
- rb751_wlan_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_751G, "751g", "MikroTik RouterBOARD 751G",
- rb751g_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb91x.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb91x.c
deleted file mode 100644
index 9620718962..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb91x.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * MikroTik RouterBOARD 91X support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#define pr_fmt(fmt) "rb91x: " fmt
-
-#include <linux/version.h>
-#include <linux/phy.h>
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/74x164.h>
-#include <linux/spi/flash.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-#include <linux/platform_data/gpio-latch.h>
-#include <linux/platform_data/rb91x_nand.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/prom.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ath79_spi_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "routerboot.h"
-
-#define RB_ROUTERBOOT_OFFSET 0x0000
-#define RB_ROUTERBOOT_MIN_SIZE 0xb000
-#define RB_HARD_CFG_SIZE 0x1000
-#define RB_BIOS_OFFSET 0xd000
-#define RB_BIOS_SIZE 0x1000
-#define RB_SOFT_CFG_OFFSET 0xf000
-#define RB_SOFT_CFG_SIZE 0x1000
-
-#define RB91X_FLAG_USB BIT(0)
-#define RB91X_FLAG_PCIE BIT(1)
-
-#define RB91X_LATCH_GPIO_BASE 32
-#define RB91X_LATCH_GPIO(_x) (RB91X_LATCH_GPIO_BASE + (_x))
-
-#define RB91X_SSR_GPIO_BASE (RB91X_LATCH_GPIO_BASE + AR934X_GPIO_COUNT)
-#define RB91X_SSR_GPIO(_x) (RB91X_SSR_GPIO_BASE + (_x))
-
-#define RB91X_SSR_BIT_LED1 0
-#define RB91X_SSR_BIT_LED2 1
-#define RB91X_SSR_BIT_LED3 2
-#define RB91X_SSR_BIT_LED4 3
-#define RB91X_SSR_BIT_LED5 4
-#define RB91X_SSR_BIT_5 5
-#define RB91X_SSR_BIT_USB_POWER 6
-#define RB91X_SSR_BIT_PCIE_POWER 7
-
-#define RB91X_GPIO_SSR_STROBE RB91X_LATCH_GPIO(0)
-#define RB91X_GPIO_LED_POWER RB91X_LATCH_GPIO(1)
-#define RB91X_GPIO_LED_USER RB91X_LATCH_GPIO(2)
-#define RB91X_GPIO_NAND_READ RB91X_LATCH_GPIO(3)
-#define RB91X_GPIO_NAND_RDY RB91X_LATCH_GPIO(4)
-#define RB91X_GPIO_NLE RB91X_LATCH_GPIO(11)
-#define RB91X_GPIO_NAND_NRW RB91X_LATCH_GPIO(12)
-#define RB91X_GPIO_NAND_NCE RB91X_LATCH_GPIO(13)
-#define RB91X_GPIO_NAND_CLE RB91X_LATCH_GPIO(14)
-#define RB91X_GPIO_NAND_ALE RB91X_LATCH_GPIO(15)
-
-#define RB91X_GPIO_LED_1 RB91X_SSR_GPIO(RB91X_SSR_BIT_LED1)
-#define RB91X_GPIO_LED_2 RB91X_SSR_GPIO(RB91X_SSR_BIT_LED2)
-#define RB91X_GPIO_LED_3 RB91X_SSR_GPIO(RB91X_SSR_BIT_LED3)
-#define RB91X_GPIO_LED_4 RB91X_SSR_GPIO(RB91X_SSR_BIT_LED4)
-#define RB91X_GPIO_LED_5 RB91X_SSR_GPIO(RB91X_SSR_BIT_LED5)
-#define RB91X_GPIO_USB_POWER RB91X_SSR_GPIO(RB91X_SSR_BIT_USB_POWER)
-#define RB91X_GPIO_PCIE_POWER RB91X_SSR_GPIO(RB91X_SSR_BIT_PCIE_POWER)
-
-struct rb_board_info {
- const char *name;
- u32 flags;
-};
-
-static struct mtd_partition rb711gr100_spi_partitions[] = {
- {
- .name = "routerboot",
- .offset = RB_ROUTERBOOT_OFFSET,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "hard_config",
- .size = RB_HARD_CFG_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "bios",
- .offset = RB_BIOS_OFFSET,
- .size = RB_BIOS_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "soft_config",
- .size = RB_SOFT_CFG_SIZE,
- }
-};
-
-static struct flash_platform_data rb711gr100_spi_flash_data = {
- .parts = rb711gr100_spi_partitions,
- .nr_parts = ARRAY_SIZE(rb711gr100_spi_partitions),
-};
-
-static int rb711gr100_gpio_latch_gpios[AR934X_GPIO_COUNT] __initdata = {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
-};
-
-static struct gpio_latch_platform_data rb711gr100_gpio_latch_data __initdata = {
- .base = RB91X_LATCH_GPIO_BASE,
- .num_gpios = ARRAY_SIZE(rb711gr100_gpio_latch_gpios),
- .gpios = rb711gr100_gpio_latch_gpios,
- .le_gpio_index = 11,
- .le_active_low = true,
-};
-
-static struct rb91x_nand_platform_data rb711gr100_nand_data __initdata = {
- .gpio_nce = RB91X_GPIO_NAND_NCE,
- .gpio_ale = RB91X_GPIO_NAND_ALE,
- .gpio_cle = RB91X_GPIO_NAND_CLE,
- .gpio_rdy = RB91X_GPIO_NAND_RDY,
- .gpio_read = RB91X_GPIO_NAND_READ,
- .gpio_nrw = RB91X_GPIO_NAND_NRW,
- .gpio_nle = RB91X_GPIO_NLE,
-};
-
-static u8 rb711gr100_ssr_initdata[] = {
- BIT(RB91X_SSR_BIT_PCIE_POWER) |
- BIT(RB91X_SSR_BIT_USB_POWER) |
- BIT(RB91X_SSR_BIT_5)
-};
-
-static struct gen_74x164_chip_platform_data rb711gr100_ssr_data = {
- .base = RB91X_SSR_GPIO_BASE,
- .num_registers = ARRAY_SIZE(rb711gr100_ssr_initdata),
- .init_data = rb711gr100_ssr_initdata,
-};
-
-static struct spi_board_info rb711gr100_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- .platform_data = &rb711gr100_spi_flash_data,
- }, {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &rb711gr100_ssr_data,
- }
-};
-
-static int rb711gr100_spi_cs_gpios[2] = {
- -ENOENT,
- RB91X_GPIO_SSR_STROBE,
-};
-
-static struct ath79_spi_platform_data rb711gr100_spi_data __initdata = {
- .bus_num = 0,
- .num_chipselect = 2,
- .cs_gpios = rb711gr100_spi_cs_gpios,
-};
-
-static struct gpio_led rb711gr100_leds[] __initdata = {
- {
- .name = "rb:green:led1",
- .gpio = RB91X_GPIO_LED_1,
- .active_low = 0,
- },
- {
- .name = "rb:green:led2",
- .gpio = RB91X_GPIO_LED_2,
- .active_low = 0,
- },
- {
- .name = "rb:green:led3",
- .gpio = RB91X_GPIO_LED_3,
- .active_low = 0,
- },
- {
- .name = "rb:green:led4",
- .gpio = RB91X_GPIO_LED_4,
- .active_low = 0,
- },
- {
- .name = "rb:green:led5",
- .gpio = RB91X_GPIO_LED_5,
- .active_low = 0,
- },
- {
- .name = "rb:green:user",
- .gpio = RB91X_GPIO_LED_USER,
- .active_low = 0,
- },
- {
- .name = "rb:green:power",
- .gpio = RB91X_GPIO_LED_POWER,
- .active_low = 0,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- },
-};
-
-static struct at803x_platform_data rb91x_at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-
-static struct mdio_board_info rb91x_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rb91x_at803x_data,
- },
-};
-
-static void __init rb711gr100_init_partitions(const struct rb_info *info)
-{
- rb711gr100_spi_partitions[0].size = info->hard_cfg_offs;
- rb711gr100_spi_partitions[1].offset = info->hard_cfg_offs;
-
- rb711gr100_spi_partitions[3].offset = info->soft_cfg_offs;
-}
-
-void __init rb711gr100_wlan_init(void)
-{
- char *caldata;
- u8 wlan_mac[ETH_ALEN];
-
- caldata = rb_get_wlan_data();
- if (caldata == NULL)
- return;
-
- ath79_init_mac(wlan_mac, ath79_mac_base, 1);
- ath79_register_wmac(caldata + 0x1000, wlan_mac);
-
- kfree(caldata);
-}
-
-#define RB_BOARD_INFO(_name, _flags) \
- { \
- .name = (_name), \
- .flags = (_flags), \
- }
-
-static const struct rb_board_info rb711gr100_boards[] __initconst = {
- RB_BOARD_INFO("911G-2HPnD", 0),
- RB_BOARD_INFO("911G-5HPnD", 0),
- RB_BOARD_INFO("912UAG-2HPnD", RB91X_FLAG_USB | RB91X_FLAG_PCIE),
- RB_BOARD_INFO("912UAG-5HPnD", RB91X_FLAG_USB | RB91X_FLAG_PCIE),
-};
-
-static u32 rb711gr100_get_flags(const struct rb_info *info)
-{
- int i;
-
- for (i = 0; i < ARRAY_SIZE(rb711gr100_boards); i++) {
- const struct rb_board_info *bi;
-
- bi = &rb711gr100_boards[i];
- if (strcmp(info->board_name, bi->name) == 0)
- return bi->flags;
- }
-
- return 0;
-}
-
-static void __init rb711gr100_setup(void)
-{
- const struct rb_info *info;
- char buf[64];
- u32 flags;
-
- info = rb_init_info((void *) KSEG1ADDR(0x1f000000), 0x10000);
- if (!info)
- return;
-
- scnprintf(buf, sizeof(buf), "Mikrotik RouterBOARD %s",
- (info->board_name) ? info->board_name : "");
- mips_set_machine_name(buf);
-
- rb711gr100_init_partitions(info);
- ath79_register_spi(&rb711gr100_spi_data, rb711gr100_spi_info,
- ARRAY_SIZE(rb711gr100_spi_info));
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_RXD_DELAY |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(rb91x_mdio0_info,
- ARRAY_SIZE(rb91x_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_pll_data.pll_1000 = 0x02000000;
-
- ath79_register_eth(0);
-
- rb711gr100_wlan_init();
-
- platform_device_register_data(NULL, "rb91x-nand", -1,
- &rb711gr100_nand_data,
- sizeof(rb711gr100_nand_data));
-
- platform_device_register_data(NULL, "gpio-latch", -1,
- &rb711gr100_gpio_latch_data,
- sizeof(rb711gr100_gpio_latch_data));
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb711gr100_leds),
- rb711gr100_leds);
-
- flags = rb711gr100_get_flags(info);
-
- if (flags & RB91X_FLAG_USB)
- ath79_register_usb();
-
- if (flags & RB91X_FLAG_PCIE)
- ath79_register_pci();
-
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_711GR100, "711Gr100", rb711gr100_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb922.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb922.c
deleted file mode 100644
index 1c1cae1e76..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb922.c
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * MikroTik RouterBOARD 92X support
- *
- * Copyright (C) 2015 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/version.h>
-#include <linux/phy.h>
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/version.h>
-
-#include <asm/prom.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-spi.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "routerboot.h"
-
-#define RB922_GPIO_LED_USR 12
-#define RB922_GPIO_USB_POWER 13
-#define RB922_GPIO_FAN_CTRL 14
-#define RB922_GPIO_BTN_RESET 20
-#define RB922_GPIO_NAND_NCE 23
-
-#define RB92X_FLAG_USB BIT(0)
-#define RB92X_FLAG_USB_POWER BIT(1)
-#define RB92X_FLAG_PCIE BIT(2)
-
-#define RB922_PHY_ADDR 4
-
-#define RB922_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RB922_KEYS_DEBOUNCE_INTERVAL (3 * RB922_KEYS_POLL_INTERVAL)
-
-#define RB_ROUTERBOOT_OFFSET 0x0000
-#define RB_ROUTERBOOT_MIN_SIZE 0xb000
-#define RB_HARD_CFG_SIZE 0x1000
-#define RB_BIOS_OFFSET 0xd000
-#define RB_BIOS_SIZE 0x1000
-#define RB_SOFT_CFG_OFFSET 0xf000
-#define RB_SOFT_CFG_SIZE 0x1000
-
-struct rb_board_info {
- const char *name;
- u32 flags;
-};
-
-static struct mtd_partition rb922gs_spi_partitions[] = {
- {
- .name = "routerboot",
- .offset = RB_ROUTERBOOT_OFFSET,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "hard_config",
- .size = RB_HARD_CFG_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "bios",
- .offset = RB_BIOS_OFFSET,
- .size = RB_BIOS_SIZE,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "soft_config",
- .size = RB_SOFT_CFG_SIZE,
- }
-};
-
-static void __init rb922gs_init_partitions(const struct rb_info *info)
-{
- rb922gs_spi_partitions[0].size = info->hard_cfg_offs;
- rb922gs_spi_partitions[1].offset = info->hard_cfg_offs;
- rb922gs_spi_partitions[3].offset = info->soft_cfg_offs;
-}
-
-static struct mtd_partition rb922gs_nand_partitions[] = {
- {
- .name = "booter",
- .offset = 0,
- .size = (256 * 1024),
- .mask_flags = MTD_WRITEABLE,
- },
- {
- .name = "kernel",
- .offset = (256 * 1024),
- .size = (4 * 1024 * 1024) - (256 * 1024),
- },
- {
- .name = "ubi",
- .offset = MTDPART_OFS_NXTBLK,
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct flash_platform_data rb922gs_spi_flash_data = {
- .parts = rb922gs_spi_partitions,
- .nr_parts = ARRAY_SIZE(rb922gs_spi_partitions),
-};
-
-static struct gpio_led rb922gs_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RB922_GPIO_LED_USR,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button rb922gs_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RB922_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RB922_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct at803x_platform_data rb922gs_at803x_data = {
- .disable_smarteee = 1,
-};
-
-static struct mdio_board_info rb922gs_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = RB922_PHY_ADDR,
- .platform_data = &rb922gs_at803x_data,
- },
-};
-
-
-
-static void rb922gs_nand_select_chip(int chip_no)
-{
- switch (chip_no) {
- case 0:
- gpio_set_value(RB922_GPIO_NAND_NCE, 0);
- break;
- default:
- gpio_set_value(RB922_GPIO_NAND_NCE, 1);
- break;
- }
- ndelay(500);
-}
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
-static struct nand_ecclayout rb922gs_nand_ecclayout = {
- .eccbytes = 6,
- .eccpos = { 8, 9, 10, 13, 14, 15 },
- .oobavail = 9,
- .oobfree = { { 0, 4 }, { 6, 2 }, { 11, 2 }, { 4, 1 } }
-};
-
-#else
-
-static int rb922gs_ooblayout_ecc(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 8;
- oobregion->length = 3;
- return 0;
- case 1:
- oobregion->offset = 13;
- oobregion->length = 3;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static int rb922gs_ooblayout_free(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 0;
- oobregion->length = 4;
- return 0;
- case 1:
- oobregion->offset = 4;
- oobregion->length = 1;
- return 0;
- case 2:
- oobregion->offset = 6;
- oobregion->length = 2;
- return 0;
- case 3:
- oobregion->offset = 11;
- oobregion->length = 2;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static const struct mtd_ooblayout_ops rb922gs_nand_ecclayout_ops = {
- .ecc = rb922gs_ooblayout_ecc,
- .free = rb922gs_ooblayout_free,
-};
-#endif /* < 4.6 */
-
-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;
-#else
- struct nand_chip *chip = mtd_to_nand(mtd);
-#endif /* < 4.6.0 */
-
- if (mtd->writesize == 512) {
- /*
- * Use the OLD Yaffs-1 OOB layout, otherwise RouterBoot
- * will not be able to find the kernel that we load.
- */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- chip->ecc.layout = &rb922gs_nand_ecclayout;
-#else
- mtd_set_ooblayout(mtd, &rb922gs_nand_ecclayout_ops);
-#endif
- }
-
- chip->options = NAND_NO_SUBPAGE_WRITE;
-
- return 0;
-}
-
-static void __init rb922gs_nand_init(void)
-{
- gpio_request_one(RB922_GPIO_NAND_NCE, GPIOF_OUT_INIT_HIGH, "NAND nCE");
-
- ath79_nfc_set_scan_fixup(rb922gs_nand_scan_fixup);
- ath79_nfc_set_parts(rb922gs_nand_partitions,
- ARRAY_SIZE(rb922gs_nand_partitions));
- ath79_nfc_set_select_chip(rb922gs_nand_select_chip);
- ath79_nfc_set_swap_dma(true);
- ath79_register_nfc();
-}
-
-#define RB_BOARD_INFO(_name, _flags) \
- { \
- .name = (_name), \
- .flags = (_flags), \
- }
-
-static const struct rb_board_info rb92x_boards[] __initconst = {
- RB_BOARD_INFO("921GS-5HPacD r2", RB92X_FLAG_PCIE),
- RB_BOARD_INFO("922UAGS-5HPacD", RB92X_FLAG_USB | RB92X_FLAG_USB_POWER | RB92X_FLAG_PCIE),
-};
-
-static u32 rb92x_get_flags(const struct rb_info *info)
-{
- int i;
-
- for (i = 0; i < ARRAY_SIZE(rb92x_boards); i++) {
- const struct rb_board_info *bi;
-
- bi = &rb92x_boards[i];
- if (strcmp(info->board_name, bi->name) == 0)
- return bi->flags;
- }
-
- return 0;
-}
-
-static void __init rb922gs_setup(void)
-{
- const struct rb_info *info;
- char buf[64];
- u32 flags;
-
- info = rb_init_info((void *) KSEG1ADDR(0x1f000000), 0x10000);
- if (!info)
- return;
-
- scnprintf(buf, sizeof(buf), "MikroTik RouterBOARD %s",
- (info->board_name) ? info->board_name : "");
- mips_set_machine_name(buf);
-
- rb922gs_init_partitions(info);
- ath79_register_m25p80(&rb922gs_spi_flash_data);
-
- rb922gs_nand_init();
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(rb922gs_mdio0_info,
- ARRAY_SIZE(rb922gs_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 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(RB922_PHY_ADDR);
- if (strcmp(info->board_name, "921GS-5HPacD r2") == 0 ||
- strcmp(info->board_name, "922UAGS-5HPacD") == 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);
-
- flags = rb92x_get_flags(info);
-
- if (flags & RB92X_FLAG_USB)
- ath79_register_usb();
-
- if (flags & RB92X_FLAG_USB_POWER)
- gpio_request_one(RB922_GPIO_USB_POWER, GPIOF_OUT_INIT_LOW |
- GPIOF_EXPORT_DIR_FIXED, "USB power");
-
- if (flags & RB92X_FLAG_PCIE)
- ath79_register_pci();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb922gs_leds), rb922gs_leds);
- ath79_register_gpio_keys_polled(-1, RB922_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rb922gs_gpio_keys),
- rb922gs_gpio_keys);
-
- /* NOTE:
- * This only supports the RB911G-5HPacD board for now. For other boards
- * more devices must be registered based on the hardware options which
- * can be found in the hardware configuration of RouterBOOT.
- */
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_922GS, "922gs", rb922gs_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
deleted file mode 100644
index c4cf5f12a8..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * MikroTik RouterBOARD 95X support
- *
- * Copyright (C) 2012 Stijn Tintel <stijn@linux-ipv6.be>
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 Kamil Trzcinski <ayufan@ayufan.eu>
- *
- * 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.
- */
-
-#define pr_fmt(fmt) "rb95x: " fmt
-
-#include <linux/version.h>
-#include <linux/phy.h>
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-#include <linux/version.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-#include "routerboot.h"
-#include "dev-leds-gpio.h"
-
-#define RB95X_GPIO_NAND_NCE 14
-
-static struct mtd_partition rb95x_nand_partitions[] = {
- {
- .name = "booter",
- .offset = 0,
- .size = (256 * 1024),
- .mask_flags = MTD_WRITEABLE,
- },
- {
- .name = "kernel",
- .offset = (256 * 1024),
- .size = (4 * 1024 * 1024) - (256 * 1024),
- },
- {
- .name = "ubi",
- .offset = MTDPART_OFS_NXTBLK,
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct gpio_led rb951ui_leds_gpio[] __initdata = {
- {
- .name = "rb:green:wlan",
- .gpio = 11,
- .active_low = 1,
- }, {
- .name = "rb:green:act",
- .gpio = 3,
- .active_low = 1,
- }, {
- .name = "rb:green:port1",
- .gpio = 13,
- .active_low = 1,
- }, {
- .name = "rb:green:port2",
- .gpio = 12,
- .active_low = 1,
- }, {
- .name = "rb:green:port3",
- .gpio = 4,
- .active_low = 1,
- }, {
- .name = "rb:green:port4",
- .gpio = 21,
- .active_low = 1,
- }, {
- .name = "rb:green:port5",
- .gpio = 16,
- .active_low = 1,
- }
-};
-
-static struct ar8327_pad_cfg rb95x_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data rb95x_ar8327_data = {
- .pad0_cfg = &rb95x_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- }
-};
-
-static struct mdio_board_info rb95x_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rb95x_ar8327_data,
- },
-};
-
-void __init rb95x_wlan_init(void)
-{
- char *art_buf;
- u8 wlan_mac[ETH_ALEN];
-
- art_buf = rb_get_wlan_data();
- if (art_buf == NULL)
- return;
-
- ath79_init_mac(wlan_mac, ath79_mac_base, 11);
- ath79_register_wmac(art_buf + 0x1000, wlan_mac);
-
- kfree(art_buf);
-}
-
-static void rb95x_nand_select_chip(int chip_no)
-{
- switch (chip_no) {
- case 0:
- gpio_set_value(RB95X_GPIO_NAND_NCE, 0);
- break;
- default:
- gpio_set_value(RB95X_GPIO_NAND_NCE, 1);
- break;
- }
- ndelay(500);
-}
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
-static struct nand_ecclayout rb95x_nand_ecclayout = {
- .eccbytes = 6,
- .eccpos = { 8, 9, 10, 13, 14, 15 },
- .oobavail = 9,
- .oobfree = { { 0, 4 }, { 6, 2 }, { 11, 2 }, { 4, 1 } }
-};
-
-#else
-
-static int rb95x_ooblayout_ecc(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 8;
- oobregion->length = 3;
- return 0;
- case 1:
- oobregion->offset = 13;
- oobregion->length = 3;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static int rb95x_ooblayout_free(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 0;
- oobregion->length = 4;
- return 0;
- case 1:
- oobregion->offset = 4;
- oobregion->length = 1;
- return 0;
- case 2:
- oobregion->offset = 6;
- oobregion->length = 2;
- return 0;
- case 3:
- oobregion->offset = 11;
- oobregion->length = 2;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static const struct mtd_ooblayout_ops rb95x_nand_ecclayout_ops = {
- .ecc = rb95x_ooblayout_ecc,
- .free = rb95x_ooblayout_free,
-};
-#endif /* < 4.6 */
-
-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) {
- /*
- * Use the OLD Yaffs-1 OOB layout, otherwise RouterBoot
- * will not be able to find the kernel that we load.
- */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- chip->ecc.layout = &rb95x_nand_ecclayout;
-#else
- mtd_set_ooblayout(mtd, &rb95x_nand_ecclayout_ops);
-#endif
- }
-
- chip->options = NAND_NO_SUBPAGE_WRITE;
-
- return 0;
-}
-
-void __init rb95x_nand_init(void)
-{
- gpio_request_one(RB95X_GPIO_NAND_NCE, GPIOF_OUT_INIT_HIGH, "NAND nCE");
-
- ath79_nfc_set_scan_fixup(rb95x_nand_scan_fixup);
- ath79_nfc_set_parts(rb95x_nand_partitions,
- ARRAY_SIZE(rb95x_nand_partitions));
- ath79_nfc_set_select_chip(rb95x_nand_select_chip);
- ath79_nfc_set_swap_dma(true);
- ath79_register_nfc();
-}
-
-static int __init rb95x_setup(void)
-{
- const struct rb_info *info;
-
- info = rb_init_info((void *)(KSEG1ADDR(AR71XX_SPI_BASE)), 0x10000);
- if (!info)
- return -EINVAL;
-
- rb95x_nand_init();
-
- return 0;
-}
-
-static void __init rb951g_setup(void)
-{
- if (rb95x_setup())
- return;
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_RXD_DELAY |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(rb95x_mdio0_info,
- ARRAY_SIZE(rb95x_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_pll_data.pll_1000 = 0x6f000000;
-
- ath79_register_eth(0);
-
- rb95x_wlan_init();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_951G, "951G", "MikroTik RouterBOARD 951G-2HnD",
- rb951g_setup);
-
-static void __init rb951ui_setup(void)
-{
- if (rb95x_setup())
- return;
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
-
- 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_register_eth(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- gpio_request_one(20, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- gpio_request_one(2, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "POE power");
-
- rb95x_wlan_init();
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb951ui_leds_gpio),
- rb951ui_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_RB_951U, "951HnD", "MikroTik RouterBOARD 951Ui-2HnD",
- rb951ui_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c
deleted file mode 100644
index cb05c9142c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c
+++ /dev/null
@@ -1,1262 +0,0 @@
-/*
- * MikroTik SPI-NOR RouterBOARDs support
- *
- * - MikroTik RouterBOARD mAP 2nD
- * - MikroTik RouterBOARD mAP L-2nD
- * - MikroTik RouterBOARD 911-2Hn (911 Lite2)
- * - MikroTik RouterBOARD 911-5Hn (911 Lite5)
- * - MikroTik RouterBOARD 931-2nD (hAP mini)
- * - MikroTik RouterBOARD 941L-2nD
- * - MikroTik RouterBOARD 951Ui-2nD
- * - MikroTik RouterBOARD 952Ui-5ac2nD
- * - MikroTik RouterBOARD 962UiGS-5HacT2HnT
- * - MikroTik RouterBOARD 750UP r2
- * - MikroTik RouterBOARD 750P-PBr2
- * - MikroTik RouterBOARD 750 r2
- * - MikroTik RouterBOARD LHG 5nD
- * - MikroTik RouterBOARD wAP2nD
- * - MikroTik RouterBOARD wAP G-5HacT2HnDwAP (wAP AC)
- * - MikroTik RouterBOARD wAP R-2nD
- *
- * Preliminary support for the following hardware
- * - MikroTik RouterBOARD cAP2nD
- * 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.
- *
- * Copyright (C) 2017-2018 Thibaut VARENE <varenet@parisc-linux.org>
- * Copyright (C) 2016 David Hutchison <dhutchison@bluemesh.net>
- * Copyright (C) 2017 Ryan Mounce <ryan@mounce.com.au>
- *
- * 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/platform_device.h>
-#include <linux/phy.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-
-#include <linux/spi/spi.h>
-#include <linux/spi/74x164.h>
-
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <linux/ar8216_platform.h>
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/platform_data/mdio-gpio.h>
-
-#include <asm/prom.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-spi.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"
-#include "routerboot.h"
-
-#define RBSPI_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RBSPI_KEYS_DEBOUNCE_INTERVAL (3 * RBSPI_KEYS_POLL_INTERVAL)
-
-#define RBSPI_HAS_USB BIT(0)
-#define RBSPI_HAS_WLAN0 BIT(1)
-#define RBSPI_HAS_WLAN1 BIT(2)
-#define RBSPI_HAS_WAN4 BIT(3) /* has WAN port on PHY4 */
-#define RBSPI_HAS_SSR BIT(4) /* has an SSR on SPI bus 0 */
-#define RBSPI_HAS_POE BIT(5)
-#define RBSPI_HAS_MDIO1 BIT(6)
-#define RBSPI_HAS_PCI BIT(7)
-
-#define RB_ROUTERBOOT_OFFSET 0x0000
-#define RB_BIOS_SIZE 0x1000
-#define RB_SOFT_CFG_SIZE 0x1000
-
-/* Flash partitions indexes */
-enum {
- RBSPI_PART_RBOOT,
- RBSPI_PART_HCONF,
- RBSPI_PART_BIOS,
- RBSPI_PART_RBOOT2,
- RBSPI_PART_SCONF,
- RBSPI_PART_FIRMW,
- RBSPI_PARTS
-};
-
-static struct mtd_partition rbspi_spi_partitions[RBSPI_PARTS];
-
-/*
- * Setup the SPI flash partition table based on initial parsing.
- * The kernel can be at any aligned position and have any size.
- */
-static void __init rbspi_init_partitions(const struct rb_info *info)
-{
- struct mtd_partition *parts = rbspi_spi_partitions;
- memset(parts, 0x0, sizeof(*parts));
-
- parts[RBSPI_PART_RBOOT].name = "routerboot";
- parts[RBSPI_PART_RBOOT].offset = RB_ROUTERBOOT_OFFSET;
- parts[RBSPI_PART_RBOOT].size = info->hard_cfg_offs;
- parts[RBSPI_PART_RBOOT].mask_flags = MTD_WRITEABLE;
-
- parts[RBSPI_PART_HCONF].name = "hard_config";
- parts[RBSPI_PART_HCONF].offset = info->hard_cfg_offs;
- parts[RBSPI_PART_HCONF].size = info->hard_cfg_size;
- parts[RBSPI_PART_HCONF].mask_flags = MTD_WRITEABLE;
-
- parts[RBSPI_PART_BIOS].name = "bios";
- parts[RBSPI_PART_BIOS].offset = info->hard_cfg_offs
- + info->hard_cfg_size;
- parts[RBSPI_PART_BIOS].size = RB_BIOS_SIZE;
- parts[RBSPI_PART_BIOS].mask_flags = MTD_WRITEABLE;
-
- parts[RBSPI_PART_RBOOT2].name = "routerboot2";
- parts[RBSPI_PART_RBOOT2].offset = parts[RBSPI_PART_BIOS].offset
- + RB_BIOS_SIZE;
- parts[RBSPI_PART_RBOOT2].size = info->soft_cfg_offs
- - parts[RBSPI_PART_RBOOT2].offset;
- parts[RBSPI_PART_RBOOT2].mask_flags = MTD_WRITEABLE;
-
- parts[RBSPI_PART_SCONF].name = "soft_config";
- parts[RBSPI_PART_SCONF].offset = info->soft_cfg_offs;
- parts[RBSPI_PART_SCONF].size = RB_SOFT_CFG_SIZE;
-
- parts[RBSPI_PART_FIRMW].name = "firmware";
- parts[RBSPI_PART_FIRMW].offset = parts[RBSPI_PART_SCONF].offset
- + parts[RBSPI_PART_SCONF].size;
- parts[RBSPI_PART_FIRMW].size = MTDPART_SIZ_FULL;
-}
-
-static struct flash_platform_data rbspi_spi_flash_data = {
- .parts = rbspi_spi_partitions,
- .nr_parts = ARRAY_SIZE(rbspi_spi_partitions),
-};
-
-/*
- * Several boards only have a single reset button, use a common
- * structure for that.
- */
-static struct gpio_keys_button rbspi_gpio_keys_reset[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RBSPI_KEYS_DEBOUNCE_INTERVAL,
- .gpio = -ENOENT, /* filled dynamically */
- .active_low = 1,
- },
-};
-
-/* RB mAP L-2nD gpios */
-#define RBMAPL_GPIO_LED_POWER 17
-#define RBMAPL_GPIO_LED_USER 14
-#define RBMAPL_GPIO_LED_ETH 4
-#define RBMAPL_GPIO_LED_WLAN 11
-#define RBMAPL_GPIO_BTN_RESET 16
-
-static struct gpio_led rbmapl_leds[] __initdata = {
- {
- .name = "rb:green:power",
- .gpio = RBMAPL_GPIO_LED_POWER,
- .active_low = 0,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }, {
- .name = "rb:green:user",
- .gpio = RBMAPL_GPIO_LED_USER,
- .active_low = 0,
- }, {
- .name = "rb:green:eth",
- .gpio = RBMAPL_GPIO_LED_ETH,
- .active_low = 0,
- }, {
- .name = "rb:green:wlan",
- .gpio = RBMAPL_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-/* RB 941L-2nD gpios */
-#define RBHAPL_GPIO_LED_USER 14
-#define RBHAPL_GPIO_BTN_RESET 16
-
-static struct gpio_led rbhapl_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RBHAPL_GPIO_LED_USER,
- .active_low = 1,
- },
-};
-
-/* common RB SSRs */
-#define RBSPI_SSR_GPIO_BASE 40
-#define RBSPI_SSR_GPIO(bit) (RBSPI_SSR_GPIO_BASE + (bit))
-
-/* RB 951Ui-2nD gpios */
-#define RB952_SSR_BIT_LED_LAN1 0
-#define RB952_SSR_BIT_LED_LAN2 1
-#define RB952_SSR_BIT_LED_LAN3 2
-#define RB952_SSR_BIT_LED_LAN4 3
-#define RB952_SSR_BIT_LED_LAN5 4
-#define RB952_SSR_BIT_USB_POWER 5
-#define RB952_SSR_BIT_LED_WLAN 6
-#define RB952_GPIO_SSR_CS 11
-#define RB952_GPIO_LED_USER 4
-#define RB952_GPIO_POE_POWER 14
-#define RB952_GPIO_POE_STATUS 12
-#define RB952_GPIO_BTN_RESET 16
-#define RB952_GPIO_USB_PWROFF RBSPI_SSR_GPIO(RB952_SSR_BIT_USB_POWER)
-#define RB952_GPIO_LED_LAN1 RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_LAN1)
-#define RB952_GPIO_LED_LAN2 RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_LAN2)
-#define RB952_GPIO_LED_LAN3 RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_LAN3)
-#define RB952_GPIO_LED_LAN4 RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_LAN4)
-#define RB952_GPIO_LED_LAN5 RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_LAN5)
-#define RB952_GPIO_LED_WLAN RBSPI_SSR_GPIO(RB952_SSR_BIT_LED_WLAN)
-
-static struct gpio_led rb952_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RB952_GPIO_LED_USER,
- .active_low = 0,
- }, {
- .name = "rb:blue:wlan",
- .gpio = RB952_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "rb:green:port1",
- .gpio = RB952_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "rb:green:port2",
- .gpio = RB952_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "rb:green:port3",
- .gpio = RB952_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "rb:green:port4",
- .gpio = RB952_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "rb:green:port5",
- .gpio = RB952_GPIO_LED_LAN5,
- .active_low = 1,
- },
-};
-
-
-/* RB 962UiGS-5HacT2HnT gpios */
-#define RB962_WIFI_LED_1 1
-#define RB962_WIFI_LED_2 2
-#define RB962_GPIO_POE_STATUS 2
-#define RB962_GPIO_POE_POWER 3
-#define RB962_GPIO_LED_USER 12
-#define RB962_GPIO_USB_PWROFF 13
-#define RB962_GPIO_BTN_RESET 20
-
-static struct gpio_led rb962_leds_gpio[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RB962_GPIO_LED_USER,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info rb962_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "rb:green:port1"),
- AR8327_LED_INFO(PHY1_0, HW, "rb:green:port2"),
- AR8327_LED_INFO(PHY2_0, HW, "rb:green:port3"),
- AR8327_LED_INFO(PHY3_0, HW, "rb:green:port4"),
- AR8327_LED_INFO(PHY4_0, HW, "rb:green:port5"),
-};
-
-static struct ar8327_pad_cfg rb962_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .mac06_exchange_dis = true,
-};
-
-static struct ar8327_pad_cfg rb962_ar8327_pad6_cfg = {
- /* Use SGMII interface for GMAC6 of the AR8337 switch */
- .mode = AR8327_PAD_MAC_SGMII,
- .rxclk_delay_en = true,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL0,
-};
-
-static struct ar8327_led_cfg rb962_ar8327_led_cfg = {
- .led_ctrl0 = 0xc737c737,
- .led_ctrl1 = 0x00000000,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x0030c300,
- .open_drain = false,
-};
-
-static struct ar8327_platform_data rb962_ar8327_data = {
- .pad0_cfg = &rb962_ar8327_pad0_cfg,
- .pad6_cfg = &rb962_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &rb962_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(rb962_leds_ar8327),
- .leds = rb962_leds_ar8327,
-};
-
-static struct mdio_board_info rb962_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &rb962_ar8327_data,
- },
-};
-
-/* RB wAP-2nD gpios */
-#define RBWAP_GPIO_LED_USER 14
-#define RBWAP_GPIO_LED_WLAN 11
-#define RBWAP_GPIO_BTN_RESET 16
-
-static struct gpio_led rbwap_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RBWAP_GPIO_LED_USER,
- .active_low = 1,
- }, {
- .name = "rb:green:wlan",
- .gpio = RBWAP_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-/* RB cAP-2nD gpios */
-#define RBCAP_GPIO_LED_1 14
-#define RBCAP_GPIO_LED_2 12
-#define RBCAP_GPIO_LED_3 11
-#define RBCAP_GPIO_LED_4 4
-#define RBCAP_GPIO_LED_ALL 13
-
-static struct gpio_led rbcap_leds[] __initdata = {
- {
- .name = "rb:green:rssi1",
- .gpio = RBCAP_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi2",
- .gpio = RBCAP_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi3",
- .gpio = RBCAP_GPIO_LED_3,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi4",
- .gpio = RBCAP_GPIO_LED_4,
- .active_low = 1,
- },
-};
-
-/* RB mAP-2nD gpios */
-#define RBMAP_SSR_BIT_LED_LAN1 0
-#define RBMAP_SSR_BIT_LED_LAN2 1
-#define RBMAP_SSR_BIT_LED_POEO 2
-#define RBMAP_SSR_BIT_LED_USER 3
-#define RBMAP_SSR_BIT_LED_WLAN 4
-#define RBMAP_SSR_BIT_USB_POWER 5
-#define RBMAP_SSR_BIT_LED_APCAP 6
-#define RBMAP_GPIO_BTN_RESET 16
-#define RBMAP_GPIO_SSR_CS 11
-#define RBMAP_GPIO_LED_POWER 4
-#define RBMAP_GPIO_POE_POWER 14
-#define RBMAP_GPIO_POE_STATUS 12
-#define RBMAP_GPIO_USB_PWROFF RBSPI_SSR_GPIO(RBMAP_SSR_BIT_USB_POWER)
-#define RBMAP_GPIO_LED_LAN1 RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_LAN1)
-#define RBMAP_GPIO_LED_LAN2 RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_LAN2)
-#define RBMAP_GPIO_LED_POEO RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_POEO)
-#define RBMAP_GPIO_LED_USER RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_USER)
-#define RBMAP_GPIO_LED_WLAN RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_WLAN)
-#define RBMAP_GPIO_LED_APCAP RBSPI_SSR_GPIO(RBMAP_SSR_BIT_LED_APCAP)
-
-static struct gpio_led rbmap_leds[] __initdata = {
- {
- .name = "rb:green:power",
- .gpio = RBMAP_GPIO_LED_POWER,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }, {
- .name = "rb:green:eth1",
- .gpio = RBMAP_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "rb:green:eth2",
- .gpio = RBMAP_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "rb:red:poe_out",
- .gpio = RBMAP_GPIO_LED_POEO,
- .active_low = 1,
- }, {
- .name = "rb:green:user",
- .gpio = RBMAP_GPIO_LED_USER,
- .active_low = 1,
- }, {
- .name = "rb:green:wlan",
- .gpio = RBMAP_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "rb:green:ap_cap",
- .gpio = RBMAP_GPIO_LED_APCAP,
- .active_low = 1,
- },
-};
-
-/* RB LHG 5nD gpios */
-#define RBLHG_GPIO_LED_0 13
-#define RBLHG_GPIO_LED_1 12
-#define RBLHG_GPIO_LED_2 4
-#define RBLHG_GPIO_LED_3 21
-#define RBLHG_GPIO_LED_4 18
-#define RBLHG_GPIO_LED_ETH 14
-#define RBLHG_GPIO_LED_POWER 11
-#define RBLHG_GPIO_LED_USER 20
-#define RBLHG_GPIO_BTN_RESET 15
-
-static struct gpio_led rblhg_leds[] __initdata = {
- {
- .name = "rb:green:rssi0",
- .gpio = RBLHG_GPIO_LED_0,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi1",
- .gpio = RBLHG_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi2",
- .gpio = RBLHG_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi3",
- .gpio = RBLHG_GPIO_LED_3,
- .active_low = 1,
- }, {
- .name = "rb:green:rssi4",
- .gpio = RBLHG_GPIO_LED_4,
- .active_low = 1,
- }, {
- .name = "rb:green:eth",
- .gpio = RBLHG_GPIO_LED_ETH,
- .active_low = 1,
- }, {
- .name = "rb:green:user",
- .gpio = RBLHG_GPIO_LED_USER,
- .active_low = 1,
- }, {
- .name = "rb:blue:power",
- .gpio = RBLHG_GPIO_LED_POWER,
- .active_low = 0,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- },
-};
-
-/* RB w APG-5HacT2HnD (wAP AC) gpios*/
-#define RBWAPGSC_WIFI_LED_1 1
-#define RBWAPGSC_WIFI_LED_2 8
-#define RBWAPGSC_WIFI_LED_3 9
-#define RBWAPGSC_GPIO_LED_POWER 16
-#define RBWAPGSC_GPIO_BTN_RESET 1
-#define RBWAPGSC_GPIO_MDIO_MDC 12
-#define RBWAPGSC_GPIO_MDIO_DATA 11
-#define RBWAPGSC_MDIO_PHYADDR 0
-
-static struct gpio_led rbwapgsc_leds[] __initdata = {
- {
- .name = "rb:green:power",
- .gpio = RBWAPGSC_GPIO_LED_POWER,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- },
-};
-
-static struct mdio_gpio_platform_data rbwapgsc_mdio_data = {
- .mdc = RBWAPGSC_GPIO_MDIO_MDC,
- .mdio = RBWAPGSC_GPIO_MDIO_DATA,
- .phy_mask = ~BIT(RBWAPGSC_MDIO_PHYADDR),
-};
-
-static struct platform_device rbwapgsc_phy_device = {
- .name = "mdio-gpio",
- .id = 1,
- .dev = {
- .platform_data = &rbwapgsc_mdio_data
- },
-};
-
-static struct at803x_platform_data rbwapgsc_at803x_data = {
- .override_sgmii_aneg = 1,
-};
-
-static struct mdio_board_info rbwapgsc_mdio_info[] = {
- {
- .bus_id = "gpio-1",
- .mdio_addr = RBWAPGSC_MDIO_PHYADDR,
- .platform_data = &rbwapgsc_at803x_data,
- },
-};
-
-/* RB911L GPIOs */
-#define RB911L_GPIO_BTN_RESET 15
-#define RB911L_GPIO_LED_1 13
-#define RB911L_GPIO_LED_2 12
-#define RB911L_GPIO_LED_3 4
-#define RB911L_GPIO_LED_4 21
-#define RB911L_GPIO_LED_5 18
-#define RB911L_GPIO_LED_ETH 20
-#define RB911L_GPIO_LED_POWER 11
-#define RB911L_GPIO_LED_USER 3
-#define RB911L_GPIO_PIN_HOLE 14 /* for reference, active low */
-
-static struct gpio_led rb911l_leds[] __initdata = {
- {
- .name = "rb:green:eth",
- .gpio = RB911L_GPIO_LED_ETH,
- .active_low = 1,
- }, {
- .name = "rb:green:led1",
- .gpio = RB911L_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "rb:green:led2",
- .gpio = RB911L_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "rb:green:led3",
- .gpio = RB911L_GPIO_LED_3,
- .active_low = 1,
- }, {
- .name = "rb:green:led4",
- .gpio = RB911L_GPIO_LED_4,
- .active_low = 1,
- }, {
- .name = "rb:green:led5",
- .gpio = RB911L_GPIO_LED_5,
- .active_low = 1,
- }, {
- .name = "rb:green:power",
- .gpio = RB911L_GPIO_LED_POWER,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- .active_low = 1,
- .open_drain = 1,
- }, {
- .name = "rb:green:user",
- .gpio = RB911L_GPIO_LED_USER,
- .active_low = 1,
- .open_drain = 1,
- },
-};
-
-/* RB 931-2nD gpios */
-#define RB931_GPIO_BTN_RESET 0
-#define RB931_GPIO_BTN_MODE 9
-#define RB931_GPIO_LED_USER 1
-
-static struct gpio_keys_button rb931_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RBSPI_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RB931_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "Mode button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = RBSPI_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RB931_GPIO_BTN_MODE,
- .active_low = 1,
- }
-};
-
-static struct gpio_led rb931_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RB931_GPIO_LED_USER,
- .active_low = 1,
- },
-};
-
-/* RB wAP R-2nD (wAP R) gpios*/
-#define RBWAPR_GPIO_LED_USER 14
-#define RBWAPR_GPIO_LED1 12
-#define RBWAPR_GPIO_LED2 13
-#define RBWAPR_GPIO_LED3 3
-#define RBWAPR_GPIO_PCIE_PWROFF 15
-#define RBWAPR_GPIO_CONTROL 10
-#define RBWAPR_GPIO_BTN_RESET 16
-
-static struct gpio_led rbwapr_leds[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = RBWAPR_GPIO_LED_USER,
- .active_low = 0,
- },{
- .name = "rb:green:led1",
- .gpio = RBWAPR_GPIO_LED1,
- .active_low = 1,
- },{
- .name = "rb:green:led2",
- .gpio = RBWAPR_GPIO_LED2,
- .active_low = 1,
- },{
- .name = "rb:green:led3",
- .gpio = RBWAPR_GPIO_LED3,
- .active_low = 0,
- },
-};
-
-
-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 */
-static int rbspi_spi_cs_gpios[] = {
- -ENOENT, /* CS0 is always -ENOENT: natively handled */
- -ENOENT, /* CS1 can be updated by the code as necessary */
-};
-
-static struct ath79_spi_platform_data rbspi_ath79_spi_data = {
- .bus_num = 0,
- .cs_gpios = rbspi_spi_cs_gpios,
-};
-
-/*
- * Global spi_board_info: devices that don't have an SSR only have the SPI NOR
- * flash on bus0 CS0, while devices that have an SSR add it on the same bus CS1
- */
-static struct spi_board_info rbspi_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "m25p80",
- .platform_data = &rbspi_spi_flash_data,
- }, {
- .bus_num = 0,
- .chip_select = 1,
- .max_speed_hz = 25000000,
- .modalias = "74x164",
- .platform_data = &rbspi_ssr_data,
- }
-};
-
-void __init rbspi_wlan_init(int wmac_offset)
-{
- char *art_buf;
- u8 wlan_mac[ETH_ALEN];
-
- art_buf = rb_get_wlan_data();
- if (!art_buf)
- return;
-
- ath79_init_mac(wlan_mac, ath79_mac_base, wmac_offset);
- ath79_register_wmac(art_buf + 0x1000, wlan_mac);
-
- kfree(art_buf);
-}
-
-#define RBSPI_MACH_BUFLEN 64
-/*
- * Common platform init routine for all SPI NOR devices.
- */
-static __init const struct rb_info *rbspi_platform_setup(void)
-{
- const struct rb_info *info;
- char buf[RBSPI_MACH_BUFLEN] = "MikroTik ";
- char *str;
- int len = RBSPI_MACH_BUFLEN - strlen(buf) - 1;
-
- info = rb_init_info((void *)(KSEG1ADDR(AR71XX_SPI_BASE)), 0x20000);
- if (!info)
- return NULL;
-
- if (info->board_name) {
- str = "RouterBOARD ";
- if (strncmp(info->board_name, str, strlen(str))) {
- strncat(buf, str, len);
- len -= strlen(str);
- }
- strncat(buf, info->board_name, len);
- }
- else
- strncat(buf, "UNKNOWN", len);
-
- mips_set_machine_name(buf);
-
- /* fix partitions based on flash parsing */
- rbspi_init_partitions(info);
-
- return info;
-}
-
-/*
- * Common peripherals init routine for all SPI NOR devices.
- * Sets SPI and USB.
- */
-static void __init rbspi_peripherals_setup(u32 flags)
-{
- unsigned spi_n;
-
- if (flags & RBSPI_HAS_SSR)
- spi_n = ARRAY_SIZE(rbspi_spi_info);
- else
- spi_n = 1; /* only one device on bus0 */
-
- rbspi_ath79_spi_data.num_chipselect = spi_n;
- rbspi_ath79_spi_data.cs_gpios = rbspi_spi_cs_gpios;
- ath79_register_spi(&rbspi_ath79_spi_data, rbspi_spi_info, spi_n);
-
- if (flags & RBSPI_HAS_USB)
- ath79_register_usb();
-
- if (flags & RBSPI_HAS_PCI)
- ath79_register_pci();
-}
-
-/*
- * Common network init routine for all SPI NOR devices.
- * Sets LAN/WAN/WLAN.
- */
-static void __init rbspi_network_setup(u32 flags, int gmac1_offset,
- int wmac0_offset, int wmac1_offset)
-{
- /* for QCA953x that will init mdio1_device/data */
- ath79_register_mdio(0, 0x0);
- if (flags & RBSPI_HAS_MDIO1)
- ath79_register_mdio(1, 0x0);
-
- if (flags & RBSPI_HAS_WAN4) {
- ath79_setup_ar934x_eth_cfg(0);
-
- /* set switch to oper mode 1, PHY4 connected to CPU */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(4);
-
- /* init GMAC0 connected to PHY4 at 100M */
- 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, ath79_mac_base, 0);
- ath79_register_eth(0);
- } else {
- /* set the SoC to SW_ONLY_MODE, which connects all PHYs
- * to the internal switch.
- * We hijack ath79_setup_ar934x_eth_cfg() to set the switch in
- * the QCA953x, this works because this configuration bit is
- * the same as the AR934x. There's no equivalent function for
- * QCA953x for now. */
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
- }
-
- /* init GMAC1 */
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, gmac1_offset);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- if (flags & RBSPI_HAS_WLAN0)
- rbspi_wlan_init(wmac0_offset);
-
- if (flags & RBSPI_HAS_WLAN1)
- rbspi_wlan_init(wmac1_offset);
-}
-
-static __init void rbspi_register_reset_button(int gpio)
-{
- rbspi_gpio_keys_reset[0].gpio = gpio;
- ath79_register_gpio_keys_polled(-1, RBSPI_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rbspi_gpio_keys_reset),
- rbspi_gpio_keys_reset);
-}
-
-/*
- * Init the mAP lite hardware (QCA953x).
- * The mAP L-2nD (mAP lite) has a single ethernet port, connected to PHY0.
- * Trying to use GMAC0 in direct mode was unsucessful, so we're
- * using SW_ONLY_MODE, which connects PHY0 to MAC1 on the internal
- * switch, which is connected to GMAC1 on the SoC. GMAC0 is unused.
- */
-static void __init rbmapl_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 1 */
- rbspi_network_setup(flags, 0, 1, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbmapl_leds), rbmapl_leds);
-
- /* mAP lite has a single reset button as gpio 16 */
- rbspi_register_reset_button(RBMAPL_GPIO_BTN_RESET);
-
- /* clear internal multiplexing */
- ath79_gpio_output_select(RBMAPL_GPIO_LED_ETH, AR934X_GPIO_OUT_GPIO);
- ath79_gpio_output_select(RBMAPL_GPIO_LED_POWER, AR934X_GPIO_OUT_GPIO);
-}
-
-/*
- * Init the hAP lite hardware (QCA953x).
- * The 941-2nD (hAP lite) has 4 ethernet ports, with port 2-4
- * being assigned to LAN on the casing, and port 1 being assigned
- * to "internet" (WAN) on the casing. Port 1 is connected to PHY3.
- * Since WAN is neither PHY0 nor PHY4, we cannot use GMAC0 with this device.
- */
-static void __init rbhapl_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 4 */
- rbspi_network_setup(flags, 0, 4, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbhapl_leds), rbhapl_leds);
-
- /* hAP lite has a single reset button as gpio 16 */
- rbspi_register_reset_button(RBHAPL_GPIO_BTN_RESET);
-}
-
-/*
- * The hAP, hAP ac lite, hEX lite and hEX PoE lite share the same platform
- */
-static void __init rbspi_952_750r2_setup(u32 flags)
-{
- if (flags & RBSPI_HAS_SSR)
- rbspi_spi_cs_gpios[1] = RB952_GPIO_SSR_CS;
-
- rbspi_peripherals_setup(flags);
-
- /*
- * GMAC1 is HW MAC + 1, WLAN0 MAC IS HW MAC + 5 (hAP),
- * WLAN1 MAC IS HW MAC + 6 (hAP ac lite)
- */
- rbspi_network_setup(flags, 1, 5, 6);
-
- if (flags & RBSPI_HAS_USB)
- gpio_request_one(RB952_GPIO_USB_PWROFF, GPIOF_ACTIVE_LOW |
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power off");
-
- if (flags & RBSPI_HAS_POE)
- gpio_request_one(RB952_GPIO_POE_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "POE power");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb952_leds), rb952_leds);
-
- /* These devices have a single reset button as gpio 16 */
- rbspi_register_reset_button(RB952_GPIO_BTN_RESET);
-}
-
-/*
- * Init the hAP (ac lite) hardware (QCA953x).
- * The 951Ui-2nD (hAP) has 5 ethernet ports, with ports 2-5 being assigned
- * to LAN on the casing, and port 1 being assigned to "internet" (WAN).
- * Port 1 is connected to PHY4 (the ports are labelled in reverse physical
- * number), so the SoC can be set to connect GMAC0 to PHY4 and GMAC1 to the
- * internal switch for the LAN ports.
- * The device also has USB, PoE output and an SSR used for LED multiplexing.
- * The 952Ui-5ac2nD (hAP ac lite) is nearly identical to the hAP, it adds a
- * QCA9887 5GHz radio via PCI and moves 2.4GHz from WLAN0 to WLAN1.
- */
-static void __init rb952_setup(void)
-{
- u32 flags = RBSPI_HAS_WAN4 | RBSPI_HAS_USB |
- RBSPI_HAS_SSR | RBSPI_HAS_POE;
-
- if (!rbspi_platform_setup())
- return;
-
- /* differentiate the hAP from the hAP ac lite */
- if (strstr(mips_get_machine_name(), "952Ui-5ac2nD"))
- flags |= RBSPI_HAS_WLAN1 | RBSPI_HAS_PCI;
- else
- flags |= RBSPI_HAS_WLAN0;
-
- rbspi_952_750r2_setup(flags);
-}
-
-/*
- * Init the hEX (PoE) lite hardware (QCA953x).
- * The 750UP r2 (hEX PoE lite) is nearly identical to the hAP, only without
- * WLAN. The 750 r2 (hEX lite) is nearly identical to the 750UP r2, only
- * without USB and POE. The 750P Pbr2 (Powerbox) is nearly identical to hEX PoE
- * lite, only without USB. It shares the same bootloader board identifier.
- */
-static void __init rb750upr2_setup(void)
-{
- u32 flags = RBSPI_HAS_WAN4 | RBSPI_HAS_SSR;
-
- if (!rbspi_platform_setup())
- return;
-
- /* differentiate the hEX lite from the hEX PoE lite */
- if (strstr(mips_get_machine_name(), "750UP r2"))
- flags |= RBSPI_HAS_USB | RBSPI_HAS_POE;
-
- /* differentiate the Powerbox from the hEX lite */
- else if (strstr(mips_get_machine_name(), "750P r2"))
- flags |= RBSPI_HAS_POE;
-
- rbspi_952_750r2_setup(flags);
-}
-
-/*
- * Init the hAP ac / 962UiGS-5HacT2HnT hardware (QCA9558).
- * The hAP ac has 5 ethernet ports provided by an AR8337 switch. Port 1 is
- * assigned to WAN, ports 2-5 are assigned to LAN. Port 0 is connected to the
- * SoC, ports 1-5 of the switch are connected to physical ports 1-5 in order.
- * The SFP cage is not assigned by default on RouterOS. Extra work is required
- * to support this interface as it is directly connected to the SoC (eth1).
- * Wireless is provided by a 2.4GHz radio on the SoC (WLAN1) and a 5GHz radio
- * attached via PCI (QCA9880). Red and green WLAN LEDs are populated however
- * they are not attached to GPIOs, extra work is required to support these.
- * PoE and USB output power control is supported.
- */
-static void __init rb962_setup(void)
-{
- u32 flags = RBSPI_HAS_USB | RBSPI_HAS_POE | RBSPI_HAS_PCI;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* Do not call rbspi_network_setup as we have a discrete switch chip */
- ath79_eth0_pll_data.pll_1000 = 0xae000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0xa0001313;
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(rb962_mdio0_info,
- ARRAY_SIZE(rb962_mdio0_info));
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_register_eth(0);
-
- /* WLAN1 MAC is HW MAC + 7 */
- rbspi_wlan_init(7);
-
- if (flags & RBSPI_HAS_USB)
- gpio_request_one(RB962_GPIO_USB_PWROFF, GPIOF_ACTIVE_LOW |
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power off");
-
- /* PoE output GPIO is inverted, set GPIOF_ACTIVE_LOW for consistency */
- if (flags & RBSPI_HAS_POE)
- gpio_request_one(RB962_GPIO_POE_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_ACTIVE_LOW |
- GPIOF_EXPORT_DIR_FIXED,
- "POE power");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb962_leds_gpio),
- rb962_leds_gpio);
-
- /* This device has a single reset button as gpio 20 */
- rbspi_register_reset_button(RB962_GPIO_BTN_RESET);
-}
-
-/*
- * Init the LHG hardware (AR9344).
- * The LHG 5nD has a single ethernet port connected to PHY0.
- * Wireless is provided via 5GHz WLAN1.
- */
-static void __init rblhg_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN1 | RBSPI_HAS_MDIO1;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN1 MAC is HW MAC + 1 */
- rbspi_network_setup(flags, 0, 0, 1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rblhg_leds), rblhg_leds);
-
- rbspi_register_reset_button(RBLHG_GPIO_BTN_RESET);
-}
-
-/*
- * Init the wAP hardware.
- * The wAP 2nD has a single ethernet port.
- */
-static void __init rbwap_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 1 */
- 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 */
- rbspi_register_reset_button(RBWAP_GPIO_BTN_RESET);
-}
-
-/*
- * Init the cAP hardware (EXPERIMENTAL).
- * The cAP 2nD has a single ethernet port, and a global LED switch.
- */
-static void __init rbcap_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 1 */
- rbspi_network_setup(flags, 0, 1, 0);
-
- gpio_request_one(RBCAP_GPIO_LED_ALL,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LEDs enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbcap_leds), rbcap_leds);
-}
-
-/*
- * 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_USB | RBSPI_HAS_WLAN0 |
- RBSPI_HAS_SSR | RBSPI_HAS_POE;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_spi_cs_gpios[1] = RBMAP_GPIO_SSR_CS;
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 2 */
- rbspi_network_setup(flags, 0, 2, 0);
-
- if (flags & RBSPI_HAS_POE)
- gpio_request_one(RBMAP_GPIO_POE_POWER,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "POE power");
-
- if (flags & RBSPI_HAS_USB)
- gpio_request_one(RBMAP_GPIO_USB_PWROFF,
- GPIOF_OUT_INIT_HIGH | GPIOF_ACTIVE_LOW |
- GPIOF_EXPORT_DIR_FIXED,
- "USB power off");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbmap_leds), rbmap_leds);
-
- /* mAP 2nD has a single reset button as gpio 16 */
- rbspi_register_reset_button(RBMAP_GPIO_BTN_RESET);
-}
-
-/*
- * Init the wAPGSC (RB wAPG-5HacT2HnD // wAP AC) hardware.
- * The wAPGSC has one Ethernet port via AR8033 with PoE input, dual radio (SoC
- * 2.4 GHz and external QCA9880) and a ZT2046Q temperature and voltage sensor
- * (currently not supported).
- */
-static void __init rbwapgsc_setup(void)
-{
- u32 flags = RBSPI_HAS_PCI;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- platform_device_register(&rbwapgsc_phy_device);
-
- mdiobus_register_board_info(rbwapgsc_mdio_info,
- ARRAY_SIZE(rbwapgsc_mdio_info));
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
- ath79_eth1_data.mii_bus_dev = &rbwapgsc_phy_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.phy_mask = BIT(RBWAPGSC_MDIO_PHYADDR);
- ath79_eth1_data.enable_sgmii_fixup = 1;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
- ath79_eth1_pll_data.pll_100 = 0x80000101;
- ath79_eth1_pll_data.pll_10 = 0x80001313;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_register_eth(1);
-
- rbspi_wlan_init(2);
-
- rbspi_register_reset_button(RBWAPGSC_GPIO_BTN_RESET);
-
- ath79_gpio_function_enable(QCA955X_GPIO_FUNC_JTAG_DISABLE|
- QCA955X_GPIO_REG_OUT_FUNC4|
- QCA955X_GPIO_REG_OUT_FUNC3);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbwapgsc_leds),
- rbwapgsc_leds);
-}
-
-/*
- * Setup the 911L hardware (AR9344).
- */
-static void __init rb911l_setup(void)
-{
- const struct rb_info *info;
-
- info = rbspi_platform_setup();
- if (!info)
- return;
-
- if (!rb_has_hw_option(info, RB_HW_OPT_NO_NAND)) {
- /*
- * Old hardware revisions might be equipped with a NAND flash
- * chip instead of the 16MiB SPI NOR device. Those boards are
- * not supported at the moment, so throw a warning and skip
- * the peripheral setup to avoid messing up the data in the
- * flash chip.
- */
- WARN(1, "The NAND flash on this board is not supported.\n");
- } else {
- rbspi_peripherals_setup(0);
- }
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
-
- 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(1);
-
- rbspi_wlan_init(1);
-
- rbspi_register_reset_button(RB911L_GPIO_BTN_RESET);
-
- /* Make the eth LED controllable by software. */
- ath79_gpio_output_select(RB911L_GPIO_LED_ETH, AR934X_GPIO_OUT_GPIO);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb911l_leds), rb911l_leds);
-}
-
-/*
- * Init the hAP mini hardware (QCA953x).
- * The 931-2nD (hAP mini) has 3 ethernet ports, with port 2-3
- * being assigned to LAN on the casing, and port 1 being assigned
- * to "internet" (WAN) on the casing. Port 1 is connected to PHY2.
- * Since WAN is neither PHY0 nor PHY4, we cannot use GMAC0 with this device.
- */
-static void __init rb931_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 3 */
- rbspi_network_setup(flags, 0, 3, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rb931_leds), rb931_leds);
-
- /* hAP mini has two buttons */
- ath79_register_gpio_keys_polled(-1, RBSPI_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rb931_gpio_keys),
- rb931_gpio_keys);
-}
-
-/*
- * Init the wAP R hardware.
- * The wAP R-2nD has a single ethernet port and a mini PCIe slot.
- * The OEM source shows it has usb (used over PCIe for LTE devices),
- * and the 'control' GPIO is assumed to be an output pin not tied to an LED.
- */
-static void __init rbwapr_setup(void)
-{
- u32 flags = RBSPI_HAS_WLAN0 | RBSPI_HAS_USB | RBSPI_HAS_PCI;
-
- if (!rbspi_platform_setup())
- return;
-
- rbspi_peripherals_setup(flags);
-
- /* GMAC1 is HW MAC, WLAN0 MAC is HW MAC + 1 */
- rbspi_network_setup(flags, 0, 1, 0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbwapr_leds), rbwapr_leds);
-
- gpio_request_one(RBWAPR_GPIO_PCIE_PWROFF, GPIOF_OUT_INIT_HIGH |
- GPIOF_ACTIVE_LOW | GPIOF_EXPORT_DIR_FIXED,
- "PCIE power off");
-
- gpio_request_one(RBWAPR_GPIO_CONTROL, GPIOF_OUT_INIT_LOW |
- GPIOF_ACTIVE_LOW | GPIOF_EXPORT_DIR_FIXED,
- "control");
-
- rbspi_register_reset_button(RBWAPR_GPIO_BTN_RESET);
-}
-
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_MAPL, "map-hb", rbmapl_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_941, "H951L", rbhapl_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_911L, "911L", rb911l_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_952, "952-hb", rb952_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_962, "962", rb962_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_750UPR2, "750-hb", rb750upr2_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_LHG5, "lhg", rblhg_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_WAP, "wap-hb", rbwap_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_WAPR, "wap-lte", rbwapr_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_CAP, "cap-hb", rbcap_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_MAP, "map2-hb", rbmap_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_WAPAC, "wapg-sc", rbwapgsc_setup);
-MIPS_MACHINE_NONAME(ATH79_MACH_RB_931, "931", rb931_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbsxtlite.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbsxtlite.c
deleted file mode 100644
index 7eb0e54151..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbsxtlite.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/*
- * MikroTik RouterBOARD SXT Lite support
- *
- * Copyright (C) 2012 Stijn Tintel <stijn@linux-ipv6.be>
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 Vyacheslav Adamanov <adamanov@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.
- */
-
-#define pr_fmt(fmt) "sxtlite: " fmt
-
-#include <linux/version.h>
-#include <linux/phy.h>
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/mtd/partitions.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/rle.h>
-#include <linux/routerboot.h>
-#include <linux/gpio.h>
-#include <linux/version.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-wmac.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "routerboot.h"
-#include <linux/ar8216_platform.h>
-
-#define SXTLITE_GPIO_NAND_NCE 14
-#define SXTLITE_GPIO_LED_USER 3
-#define SXTLITE_GPIO_LED_1 13
-#define SXTLITE_GPIO_LED_2 12
-#define SXTLITE_GPIO_LED_3 4
-#define SXTLITE_GPIO_LED_4 21
-#define SXTLITE_GPIO_LED_5 18
-#define SXTLITE_GPIO_LED_POWER 11
-
-#define SXTLITE_GPIO_BUZZER 19
-
-#define SXTLITE_GPIO_BTN_RESET 15
-
-#define SXTLITE_KEYS_POLL_INTERVAL 20
-#define SXTLITE_KEYS_DEBOUNCE_INTERVAL (3 * SXTLITE_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition rbsxtlite_nand_partitions[] = {
- {
- .name = "booter",
- .offset = 0,
- .size = (256 * 1024),
- .mask_flags = MTD_WRITEABLE,
- },
- {
- .name = "kernel",
- .offset = (256 * 1024),
- .size = (4 * 1024 * 1024) - (256 * 1024),
- },
- {
- .name = "ubi",
- .offset = MTDPART_OFS_NXTBLK,
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct gpio_led rbsxtlite_leds_gpio[] __initdata = {
- {
- .name = "rb:green:user",
- .gpio = SXTLITE_GPIO_LED_USER,
- .active_low = 1,
- },
- {
- .name = "rb:green:led1",
- .gpio = SXTLITE_GPIO_LED_1,
- .active_low = 1,
- },
- {
- .name = "rb:green:led2",
- .gpio = SXTLITE_GPIO_LED_2,
- .active_low = 1,
- },
- {
- .name = "rb:green:led3",
- .gpio = SXTLITE_GPIO_LED_3,
- .active_low = 1,
- },
- {
- .name = "rb:green:led4",
- .gpio = SXTLITE_GPIO_LED_4,
- .active_low = 1,
- },
- {
- .name = "rb:green:led5",
- .gpio = SXTLITE_GPIO_LED_5,
- .active_low = 1,
- },
- {
- .name = "rb:green:power",
- .gpio = SXTLITE_GPIO_LED_POWER,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- },
-};
-
-static struct gpio_keys_button rbsxtlite_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SXTLITE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SXTLITE_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static int __init rbsxtlite_rbinfo_init(void)
-{
- const struct rb_info *info;
-
- info = rb_init_info((void *)(KSEG1ADDR(AR71XX_SPI_BASE)), 0x10000);
- if (!info)
- return -EINVAL;
- return 0;
-
-}
-
-void __init rbsxtlite_wlan_init(void)
-{
- char *art_buf;
- u8 wlan_mac[ETH_ALEN];
-
- art_buf = rb_get_wlan_data();
- if (art_buf == NULL)
- return;
-
- ath79_init_mac(wlan_mac, ath79_mac_base, 1);
- ath79_register_wmac(art_buf + 0x1000, wlan_mac);
-
- kfree(art_buf);
-}
-
-static void rbsxtlite_nand_select_chip(int chip_no)
-{
- switch (chip_no) {
- case 0:
- gpio_set_value(SXTLITE_GPIO_NAND_NCE, 0);
- break;
- default:
- gpio_set_value(SXTLITE_GPIO_NAND_NCE, 1);
- break;
- }
- ndelay(500);
-}
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
-static struct nand_ecclayout rbsxtlite_nand_ecclayout = {
- .eccbytes = 6,
- .eccpos = { 8, 9, 10, 13, 14, 15 },
- .oobavail = 9,
- .oobfree = { { 0, 4 }, { 6, 2 }, { 11, 2 }, { 4, 1 } }
-};
-
-#else
-
-static int rbsxtlite_ooblayout_ecc(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 8;
- oobregion->length = 3;
- return 0;
- case 1:
- oobregion->offset = 13;
- oobregion->length = 3;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static int rbsxtlite_ooblayout_free(struct mtd_info *mtd, int section,
- struct mtd_oob_region *oobregion)
-{
- switch (section) {
- case 0:
- oobregion->offset = 0;
- oobregion->length = 4;
- return 0;
- case 1:
- oobregion->offset = 4;
- oobregion->length = 1;
- return 0;
- case 2:
- oobregion->offset = 6;
- oobregion->length = 2;
- return 0;
- case 3:
- oobregion->offset = 11;
- oobregion->length = 2;
- return 0;
- default:
- return -ERANGE;
- }
-}
-
-static const struct mtd_ooblayout_ops rbsxtlite_nand_ecclayout_ops = {
- .ecc = rbsxtlite_ooblayout_ecc,
- .free = rbsxtlite_ooblayout_free,
-};
-#endif /* < 4.6 */
-
-static int rbsxtlite_nand_scan_fixup(struct mtd_info *mtd)
-{
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- struct nand_chip *chip = mtd->priv;
-#endif
-
- if (mtd->writesize == 512) {
- /*
- * Use the OLD Yaffs-1 OOB layout, otherwise RouterBoot
- * will not be able to find the kernel that we load.
- */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
- chip->ecc.layout = &rbsxtlite_nand_ecclayout;
-#else
- mtd_set_ooblayout(mtd, &rbsxtlite_nand_ecclayout_ops);
-#endif
- }
-
- return 0;
-}
-
-void __init rbsxtlite_gpio_init(void)
-{
- gpio_request_one(SXTLITE_GPIO_NAND_NCE, GPIOF_OUT_INIT_HIGH, "NAND nCE");
-}
-
-void __init rbsxtlite_nand_init(void)
-{
- ath79_nfc_set_scan_fixup(rbsxtlite_nand_scan_fixup);
- ath79_nfc_set_parts(rbsxtlite_nand_partitions,
- ARRAY_SIZE(rbsxtlite_nand_partitions));
- ath79_nfc_set_select_chip(rbsxtlite_nand_select_chip);
- ath79_nfc_set_swap_dma(true);
- ath79_register_nfc();
-}
-
-
-static void __init rbsxtlite_setup(void)
-{
- if(rbsxtlite_rbinfo_init())
- return;
- rbsxtlite_nand_init();
- rbsxtlite_wlan_init();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rbsxtlite_leds_gpio),
- rbsxtlite_leds_gpio);
- ath79_register_gpio_keys_polled(-1, SXTLITE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rbsxtlite_gpio_keys),
- rbsxtlite_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* GMAC0 is left unused */
-
- /* GMAC1 is connected to MAC0 on the internal switch */
- /* The ethernet port connects to PHY P0, which connects to MAC1
- on the internal switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
-
-}
-
-
-MIPS_MACHINE(ATH79_MACH_RB_SXTLITE2ND, "sxt2n", "MikroTik RouterBOARD SXT Lite2",
- rbsxtlite_setup);
-
-MIPS_MACHINE(ATH79_MACH_RB_SXTLITE5ND, "sxt5n", "MikroTik RouterBOARD SXT Lite5",
- rbsxtlite_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c
deleted file mode 100644
index 991aa1c9a9..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * TP-LINK RE355/RE450 board support
- *
- * Copyright (c) 2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2016 Tal Keren <kooolk@gmail.com>
- * Copyright (c) 2018 Henryk Heisig <hyniu@o2.pl>
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- *
- * 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_data/mdio-gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ath79.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-wmac.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define RE450_GPIO_LED_SYSTEM 12
-#define RE450_GPIO_LED_WLAN2G 13
-#define RE450_GPIO_LED_WLAN5G 14
-#define RE450_GPIO_LED_LAN_DATA 17
-#define RE450_GPIO_LED_JUMPSTART 21
-#define RE450_GPIO_LED_JUMPSTART_RED 22
-#define RE450_GPIO_LED_LAN_LINK 23
-
-#define RE450_GPIO_BTN_RESET 18
-#define RE450_GPIO_BTN_LED 19
-#define RE450_GPIO_BTN_JUMPSTART 20
-
-#define RE450_GPIO_SMI_MDIO 1
-#define RE450_GPIO_SMI_MDC 3
-
-#define RE450_LAN_PHYADDR 4
-
-#define RE450_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RE450_KEYS_DEBOUNCE_INTERVAL (3 * RE450_KEYS_POLL_INTERVAL)
-
-#define RE450_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *tl_re450_part_probes[] = {
- "cmdlinepart",
- NULL,
-};
-
-static struct flash_platform_data tl_re450_flash_data = {
- .part_probes = tl_re450_part_probes,
-};
-
-static struct gpio_led re355_leds_gpio[] __initdata = {
- {
- .name = "re355:blue:power",
- .gpio = RE450_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "re355:blue:wlan2g",
- .gpio = RE450_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "re355:blue:wlan5g",
- .gpio = RE450_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
- {
- .name = "re355:blue:wps",
- .gpio = RE450_GPIO_LED_JUMPSTART,
- },
- {
- .name = "re355:red:wps",
- .gpio = RE450_GPIO_LED_JUMPSTART_RED,
- },
- {
- .name = "re355:green:lan_data",
- .gpio = RE450_GPIO_LED_LAN_DATA,
- .active_low = 1,
- },
- {
- .name = "re355:green:lan_link",
- .gpio = RE450_GPIO_LED_LAN_LINK,
- .active_low = 1,
- },
-};
-
-static struct gpio_led re450_leds_gpio[] __initdata = {
- {
- .name = "re450:blue:power",
- .gpio = RE450_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "re450:blue:wlan2g",
- .gpio = RE450_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "re450:blue:wlan5g",
- .gpio = RE450_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
- {
- .name = "re450:blue:wps",
- .gpio = RE450_GPIO_LED_JUMPSTART,
- },
- {
- .name = "re450:red:wps",
- .gpio = RE450_GPIO_LED_JUMPSTART_RED,
- },
- {
- .name = "re450:green:lan_data",
- .gpio = RE450_GPIO_LED_LAN_DATA,
- .active_low = 1,
- },
- {
- .name = "re450:green:lan_link",
- .gpio = RE450_GPIO_LED_LAN_LINK,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button re450_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RE450_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RE450_GPIO_BTN_JUMPSTART,
- .active_low = 1,
- },
- {
- .desc = "Control LED button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RE450_GPIO_BTN_LED,
- .active_low = 1,
- },
-};
-
-static struct mdio_gpio_platform_data re450_mdio = {
- .mdc = RE450_GPIO_SMI_MDC,
- .mdio = RE450_GPIO_SMI_MDIO,
- .phy_mask = ~BIT(RE450_LAN_PHYADDR),
-};
-
-static struct platform_device re450_phy_device = {
- .name = "mdio-gpio",
- .id = 0,
- .dev = {
- .platform_data = &re450_mdio,
- },
-};
-
-static void __init rex5x_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f610008);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&tl_re450_flash_data);
- ath79_register_gpio_keys_polled(-1, RE450_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(re450_gpio_keys),
- re450_gpio_keys);
-
- ath79_init_mac(tmpmac, mac, -1);
- ath79_register_wmac(art + RE450_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_register_pci();
-
- /* MDIO Interface */
- platform_device_register(&re450_phy_device);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RGMII interface to an Atheros AR8035-A */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.mii_bus_dev = &re450_phy_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(RE450_LAN_PHYADDR);
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth0_pll_data.pll_100 = 0xa0000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
- ath79_register_eth(0);
-}
-
-static void __init re355_setup(void)
-{
- rex5x_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(re355_leds_gpio),
- re355_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_RE355, "RE355", "TP-LINK RE355",
- re355_setup)
-
-static void __init re450_setup(void)
-{
- rex5x_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(re450_leds_gpio),
- re450_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_RE450, "RE450", "TP-LINK RE450",
- re450_setup)
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rme-eg200.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rme-eg200.c
deleted file mode 100644
index 332b0780d0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rme-eg200.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * eTactica EG-200 board, based on 8devices Carambola2 module
- *
- * Copyright (C) 2015 Karl Palsson <karlp@etactica.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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define RME_EG200_GPIO_LED_WLAN 0
-#define RME_EG200_GPIO_LED_ETH0 13
-#define RME_EG200_GPIO_LED_ETACTICA 15
-#define RME_EG200_GPIO_LED_MODBUS 16
-
-#define RME_EG200_GPIO_BTN_RESTORE 11
-
-#define RME_EG200_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RME_EG200_KEYS_DEBOUNCE_INTERVAL (3 * RME_EG200_KEYS_POLL_INTERVAL)
-
-#define RME_EG200_MAC0_OFFSET 0x0000
-#define RME_EG200_CALDATA_OFFSET 0x1000
-#define RME_EG200_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led rme_eg200_leds_gpio[] __initdata = {
- {
- .name = "eg200:red:wlan",
- .gpio = RME_EG200_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "eg200:red:eth0",
- .gpio = RME_EG200_GPIO_LED_ETH0,
- .active_low = 1,
- }, {
- .name = "eg200:red:etactica",
- .gpio = RME_EG200_GPIO_LED_ETACTICA,
- .active_low = 0,
- }, {
- .name = "eg200:red:modbus",
- .gpio = RME_EG200_GPIO_LED_MODBUS,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button rme_eg200_keys[] __initdata = {
- {
- .desc = "restore button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = RME_EG200_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RME_EG200_GPIO_BTN_RESTORE,
- .active_low = 1,
- },
-};
-
-static void __init rme_eg200_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_wmac(art + RME_EG200_CALDATA_OFFSET,
- art + RME_EG200_WMAC_MAC_OFFSET);
-
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + RME_EG200_MAC0_OFFSET, 0);
-
- ath79_register_mdio(0, 0x0);
-
- /* WAN port */
- ath79_register_eth(0);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rme_eg200_leds_gpio),
- rme_eg200_leds_gpio);
- ath79_register_gpio_keys_polled(-1, RME_EG200_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rme_eg200_keys),
- rme_eg200_keys);
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RME_EG200, "RME-EG200", "eTactica EG-200",
- rme_eg200_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rut9xx.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rut9xx.c
deleted file mode 100644
index 43a2a78c67..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rut9xx.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Teltonika RUT900 series boards support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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/i2c.h>
-#include <linux/i2c-algo-bit.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_data/pca953x.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define RUT9XX_GPIO_LED_LAN1 14
-#define RUT9XX_GPIO_LED_LAN2 13
-#define RUT9XX_GPIO_LED_LAN3 22
-#define RUT9XX_GPIO_LED_WAN 1
-
-#define RUT9XX_PCA9539_GPIO_BASE 32
-#define RUT9XX_PCA9539_GPIO_SIGNAL1 (0 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_SIGNAL2 (1 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_SIGNAL3 (2 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_SIGNAL4 (3 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_SIGNAL5 (4 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_STATUS_R (5 + RUT9XX_PCA9539_GPIO_BASE)
-#define RUT9XX_PCA9539_GPIO_STATUS_G (6 + RUT9XX_PCA9539_GPIO_BASE)
-
-#define RUT9XX_GPIO_BTN_RESET 15
-
-#define RUT9XX_GPIO_I2C_SCK 16
-#define RUT9XX_GPIO_I2C_SDA 17
-
-#define RUT9XX_GPIO_EXT_LNA0 2
-
-#define RUT9XX_WMAC_CALDATA_OFFSET 0x1000
-
-#define RUT9XX_KEYS_POLL_INTERVAL 20
-#define RUT9XX_KEYS_DEBOUNCE_INTERVAL (3 * RUT9XX_KEYS_POLL_INTERVAL)
-
-static struct gpio_led rut900_leds_gpio[] __initdata = {
- {
- .name = "rut900:green:lan1",
- .gpio = RUT9XX_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "rut900:green:lan2",
- .gpio = RUT9XX_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "rut900:green:lan3",
- .gpio = RUT9XX_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "rut900:green:signal1",
- .gpio = RUT9XX_PCA9539_GPIO_SIGNAL1,
- .active_low = 0,
- }, {
- .name = "rut900:green:signal2",
- .gpio = RUT9XX_PCA9539_GPIO_SIGNAL2,
- .active_low = 0,
- }, {
- .name = "rut900:green:signal3",
- .gpio = RUT9XX_PCA9539_GPIO_SIGNAL3,
- .active_low = 0,
- }, {
- .name = "rut900:green:signal4",
- .gpio = RUT9XX_PCA9539_GPIO_SIGNAL4,
- .active_low = 0,
- }, {
- .name = "rut900:green:signal5",
- .gpio = RUT9XX_PCA9539_GPIO_SIGNAL5,
- .active_low = 0,
- }, {
- .name = "rut900:green:status",
- .gpio = RUT9XX_PCA9539_GPIO_STATUS_G,
- .active_low = 0,
- }, {
- .name = "rut900:green:wan",
- .gpio = RUT9XX_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "rut900:red:status",
- .gpio = RUT9XX_PCA9539_GPIO_STATUS_R,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button rut900_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RUT9XX_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RUT9XX_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct i2c_gpio_platform_data rut900_i2c_gpio_data = {
- .sda_pin = RUT9XX_GPIO_I2C_SDA,
- .scl_pin = RUT9XX_GPIO_I2C_SCK,
- .udelay = 10,
-};
-
-static struct platform_device rut900_i2c_device = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &rut900_i2c_gpio_data,
- },
-};
-
-static struct pca953x_platform_data rut9xx_pca9539_data = {
- .gpio_base = RUT9XX_PCA9539_GPIO_BASE,
- .irq_base = -1,
-};
-
-static struct i2c_board_info rut900_i2c_devs[] __initdata = {
- {
- I2C_BOARD_INFO("pca9539", 0x74),
- .platform_data = &rut9xx_pca9539_data,
- },
-};
-
-static void __init rut900_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f030000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f020000);
- u8 wlan_mac[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xf1;
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- platform_device_register(&rut900_i2c_device);
- i2c_register_board_info(0, rut900_i2c_devs,
- ARRAY_SIZE(rut900_i2c_devs));
-
- /* Disable JTAG (enables GPIO0-3) */
- ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rut900_leds_gpio),
- rut900_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, RUT9XX_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rut900_gpio_keys),
- rut900_gpio_keys);
-
- ath79_wmac_set_ext_lna_gpio(0, RUT9XX_GPIO_EXT_LNA0);
-
- ath79_init_mac(wlan_mac, mac, 2);
- ath79_register_wmac(art + RUT9XX_WMAC_CALDATA_OFFSET, wlan_mac);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_RUT9XX, "RUT900", "Teltonika RUT900", rut900_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rw2458n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rw2458n.c
deleted file mode 100644
index bb7c2475bd..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rw2458n.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Redwave RW2458N support
- *
- * Copyright (C) 2011-2013 Cezary Jackiewicz <cezary@eko.one.pl>
- *
- * 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 <asm/mach-ath79/ath79.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 "machtypes.h"
-#include "pci.h"
-
-#define RW2458N_GPIO_LED_D3 1
-#define RW2458N_GPIO_LED_D4 0
-#define RW2458N_GPIO_LED_D5 11
-#define RW2458N_GPIO_LED_D6 7
-#define RW2458N_GPIO_BTN_RESET 12
-
-#define RW2458N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define RW2458N_KEYS_DEBOUNCE_INTERVAL (3 * RW2458N_KEYS_POLL_INTERVAL)
-
-static struct gpio_keys_button rw2458n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = RW2458N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = RW2458N_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-#define RW2458N_WAN_PHYMASK BIT(4)
-
-static struct gpio_led rw2458n_leds_gpio[] __initdata = {
- {
- .name = "rw2458n:green:d3",
- .gpio = RW2458N_GPIO_LED_D3,
- .active_low = 1,
- }, {
- .name = "rw2458n:green:d4",
- .gpio = RW2458N_GPIO_LED_D4,
- .active_low = 1,
- }, {
- .name = "rw2458n:green:d5",
- .gpio = RW2458N_GPIO_LED_D5,
- .active_low = 1,
- }, {
- .name = "rw2458n:green:d6",
- .gpio = RW2458N_GPIO_LED_D6,
- .active_low = 1,
- }
-};
-
-static void __init rw2458n_setup(void)
-{
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, ~RW2458N_WAN_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(rw2458n_leds_gpio),
- rw2458n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, RW2458N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(rw2458n_gpio_keys),
- rw2458n_gpio_keys);
- ath79_register_usb();
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_RW2458N, "RW2458N", "Redwave RW2458N",
- rw2458n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-sc1750.c
deleted file mode 100644
index 3a7d654b85..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc1750.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Abicom International Scorpion SC1750 support.
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2017 Conor O'Gorman <i@conorogorman.net>
- *
- * 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/platform_device.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define SC1750_GPIO_LED_POWER 11
-#define SC1750_GPIO_LED_ERR1 12
-#define SC1750_GPIO_LED_WLAN 13
-#define SC1750_GPIO_LED_ERR2 14
-#define SC1750_GPIO_LED_OK3 15
-#define SC1750_GPIO_LED_ERR3 16
-#define SC1750_GPIO_BTN_RESET 4
-
-#define SC1750_KEYS_POLL_INTERVAL 20 /* msecs */
-#define SC1750_KEYS_DEBOUNCE_INTERVAL (3 * SC1750_KEYS_POLL_INTERVAL)
-
-#define SC1750_MAC0_OFFSET 0
-#define SC1750_MAC1_OFFSET 6
-#define SC1750_WMAC_CALDATA_OFFSET 0x1000
-#define SC1750_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led sc1750_leds_gpio[] __initdata = {
- {
- .name = "sc1750:green:power",
- .gpio = SC1750_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "sc1750:red:power",
- .gpio = SC1750_GPIO_LED_ERR1,
- .active_low = 1,
- },
- {
- .name = "sc1750:green:wlan",
- .gpio = SC1750_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "sc1750:red:wlan",
- .gpio = SC1750_GPIO_LED_ERR2,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button sc1750_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SC1750_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SC1750_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static struct at803x_platform_data at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 0,
- .enable_rgmii_tx_delay = 0,
-};
-
-static struct mdio_board_info sc1750_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &at803x_data,
- },
-};
-
-static void __init sc1750_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(sc1750_leds_gpio),
- sc1750_leds_gpio);
- ath79_register_gpio_keys_polled(-1, SC1750_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(sc1750_gpio_keys),
- sc1750_gpio_keys);
-
- ath79_register_usb();
- ath79_register_nfc();
-
- ath79_register_wmac(art + SC1750_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0);
- mdiobus_register_board_info(sc1750_mdio0_info,
- ARRAY_SIZE(sc1750_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + SC1750_MAC0_OFFSET, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000101;
- ath79_eth0_pll_data.pll_100 = 0xa4000101;
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = 0xF;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_SC1750, "SC1750", "Abicom SC1750", sc1750_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc300m.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-sc300m.c
deleted file mode 100644
index 6dd81ecd5a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc300m.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Abicom International Scorpion SC300M Module support.
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2017 Conor O'Gorman <i@conorogorman.net>
- *
- * 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/platform_device.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define SC300M_GPIO_LED_WLAN 0
-#define SC300M_GPIO_LED_POWER 1
-
-#define SC300M_GPIO_BTN_RESET 17
-
-#define SC300M_KEYS_POLL_INTERVAL 20 /* msecs */
-#define SC300M_KEYS_DEBOUNCE_INTERVAL (3 * SC300M_KEYS_POLL_INTERVAL)
-
-#define SC300M_MAC0_OFFSET 0
-#define SC300M_MAC1_OFFSET 6
-#define SC300M_WMAC_CALDATA_OFFSET 0x1000
-#define SC300M_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led sc300m_leds_gpio[] __initdata = {
- {
- .name = "sc300m:blue:wlan",
- .gpio = SC300M_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "sc300m:blue:power",
- .gpio = SC300M_GPIO_LED_POWER,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button sc300m_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SC300M_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SC300M_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct at803x_platform_data at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 0,
- .enable_rgmii_tx_delay = 0,
-};
-
-static struct mdio_board_info sc300m_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &at803x_data,
- },
-};
-
-static void __init sc300m_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(sc300m_leds_gpio),
- sc300m_leds_gpio);
- ath79_register_gpio_keys_polled(-1, SC300M_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(sc300m_gpio_keys),
- sc300m_gpio_keys);
-
- ath79_register_usb();
- ath79_register_nfc();
-
- ath79_register_wmac(art + SC300M_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0);
- mdiobus_register_board_info(sc300m_mdio0_info,
- ARRAY_SIZE(sc300m_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + SC300M_MAC0_OFFSET, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000101;
- ath79_eth0_pll_data.pll_100 = 0xa4000101;
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = 0xF;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_SC300M, "SC300M", "Abicom SC300M", sc300m_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc450.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-sc450.c
deleted file mode 100644
index dee183e790..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-sc450.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Abicom International Scorpion SC450 support.
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2017 Conor O'Gorman <i@conorogorman.net>
- *
- * 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/platform_device.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define SC450_GPIO_LED_POWER 13
-#define SC450_GPIO_LED_ERR1 14
-#define SC450_GPIO_LED_ERR2 15
-#define SC450_GPIO_LED_WLAN 16
-#define SC450_GPIO_BTN_RESET 17
-#define SC450_GPIO_WP 18
-#define SC450_GPIO_POE 19
-#define SC450_GPIO_RX_LOS 20
-#define SC450_GPIO_MOD_GND 21
-#define SC450_GPIO_MOD_SCL 22
-#define SC450_GPIO_MOD_SDA 23
-
-#define SC450_KEYS_POLL_INTERVAL 20 /* msecs */
-#define SC450_KEYS_DEBOUNCE_INTERVAL (3 * SC450_KEYS_POLL_INTERVAL)
-
-#define SC450_MAC0_OFFSET 0
-#define SC450_MAC1_OFFSET 6
-#define SC450_WMAC_CALDATA_OFFSET 0x1000
-#define SC450_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led sc450_leds_gpio[] __initdata = {
- {
- .name = "sc450:green:power",
- .gpio = SC450_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "sc450:red:power",
- .gpio = SC450_GPIO_LED_ERR1,
- .active_low = 1,
- },
- {
- .name = "sc450:green:wlan",
- .gpio = SC450_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "sc450:red:wlan",
- .gpio = SC450_GPIO_LED_ERR2,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button sc450_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SC450_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SC450_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct at803x_platform_data at803x_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 0,
- .enable_rgmii_tx_delay = 0,
-};
-
-static struct mdio_board_info sc450_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &at803x_data,
- },
-};
-
-static void __init sc450_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(sc450_leds_gpio),
- sc450_leds_gpio);
- ath79_register_gpio_keys_polled(-1, SC450_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(sc450_gpio_keys),
- sc450_gpio_keys);
-
- ath79_register_usb();
- ath79_register_nfc();
-
- ath79_register_wmac(art + SC450_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0);
- mdiobus_register_board_info(sc450_mdio0_info,
- ARRAY_SIZE(sc450_mdio0_info));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + SC450_MAC0_OFFSET, 0);
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000101;
- ath79_eth0_pll_data.pll_100 = 0xa4000101;
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = 0xF;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_SC450, "SC450", "Abicom SC450", sc450_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-smart-300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-smart-300.c
deleted file mode 100644
index 2520e960d3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-smart-300.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * NC-LINK SMART-300 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/gpio.h>
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ag71xx_platform.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 SMART_300_GPIO_LED_WLAN 13
-#define SMART_300_GPIO_LED_WAN 18
-#define SMART_300_GPIO_LED_LAN4 19
-#define SMART_300_GPIO_LED_LAN3 12
-#define SMART_300_GPIO_LED_LAN2 21
-#define SMART_300_GPIO_LED_LAN1 20
-#define SMART_300_GPIO_LED_SYSTEM 15
-#define SMART_300_GPIO_LED_POWER 14
-
-#define SMART_300_GPIO_BTN_RESET 17
-#define SMART_300_GPIO_SW_RFKILL 16
-
-#define SMART_300_KEYS_POLL_INTERVAL 20 /* msecs */
-#define SMART_300_KEYS_DEBOUNCE_INTERVAL (3 * SMART_300_KEYS_POLL_INTERVAL)
-
-#define SMART_300_GPIO_MASK 0x007fffff
-
-static const char *smart_300_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data smart_300_flash_data = {
- .part_probes = smart_300_part_probes,
-};
-
-static struct gpio_led smart_300_leds_gpio[] __initdata = {
- {
- .name = "nc-link:green:lan1",
- .gpio = SMART_300_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "nc-link:green:lan2",
- .gpio = SMART_300_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "nc-link:green:lan3",
- .gpio = SMART_300_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "nc-link:green:lan4",
- .gpio = SMART_300_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "nc-link:green:system",
- .gpio = SMART_300_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "nc-link:green:wan",
- .gpio = SMART_300_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "nc-link:green:wlan",
- .gpio = SMART_300_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button smart_300_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SMART_300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SMART_300_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init smart_300_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(smart_300_leds_gpio),
- smart_300_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, SMART_300_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(smart_300_gpio_keys),
- smart_300_gpio_keys);
-
- ath79_register_m25p80(&smart_300_flash_data);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- 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_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
- gpio_request(SMART_300_GPIO_LED_POWER, "power");
- gpio_direction_output(SMART_300_GPIO_LED_POWER, GPIOF_OUT_INIT_LOW);
-}
-
-MIPS_MACHINE(ATH79_MACH_SMART_300, "SMART-300", "NC-LINK SMART-300",
- smart_300_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-som9331.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-som9331.c
deleted file mode 100644
index eef5bcedc2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-som9331.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * OpenEmbed SOM9331 board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 5/27/2016 - Modified by Allan Nick Pedrana <nik9993@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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define SOM9331_GPIO_LED_WLAN 27
-#define SOM9331_GPIO_LED_SYSTEM 0
-#define SOM9331_GPIO_LED_2 13
-#define SOM9331_GPIO_LED_3 14
-#define SOM9331_GPIO_LED_5 16
-#define SOM9331_GPIO_LED_WAN SOM9331_GPIO_LED_2
-#define SOM9331_GPIO_LED_LAN1 SOM9331_GPIO_LED_3
-#define SOM9331_GPIO_LED_LAN2 SOM9331_GPIO_LED_5
-#define SOM9331_GPIO_BTN_RESET 11
-
-#define SOM9331_KEYS_POLL_INTERVAL 20 /* msecs */
-#define SOM9331_KEYS_DEBOUNCE_INTERVAL (3 * SOM9331_KEYS_POLL_INTERVAL)
-
-static const char *som9331_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data som9331_flash_data = {
- .part_probes = som9331_part_probes,
-};
-
-static struct gpio_led som9331_leds_gpio[] __initdata = {
- {
- .name = "som9331:red:wlan",
- .gpio = SOM9331_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "som9331:orange:wan",
- .gpio = SOM9331_GPIO_LED_WAN,
- .active_low = 0,
- },
- {
- .name = "som9331:orange:lan1",
- .gpio = SOM9331_GPIO_LED_LAN1,
- .active_low = 0,
- },
- {
- .name = "som9331:orange:lan2",
- .gpio = SOM9331_GPIO_LED_LAN2,
- .active_low = 0,
- },
- {
- .name = "som9331:blue:system",
- .gpio = SOM9331_GPIO_LED_SYSTEM,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button som9331_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SOM9331_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SOM9331_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init som9331_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_m25p80(&som9331_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(som9331_leds_gpio),
- som9331_leds_gpio);
- ath79_register_gpio_keys_polled(-1, SOM9331_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(som9331_gpio_keys),
- som9331_gpio_keys);
-
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_SOM9331, "SOM9331", "OpenEmbed SOM9331", som9331_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-sr3200.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-sr3200.c
deleted file mode 100644
index 72d46c0c47..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-sr3200.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Support for YunCore SR3200 and XD3200 boards
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@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/phy.h>
-#include <linux/gpio.h>
-#include <linux/ar8216_platform.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define SR3200_XD3200_GPIO_LED_SYSTEM 1
-#define SR3200_XD3200_GPIO_LED_WLAN2G 19
-
-#define SR3200_XD3200_GPIO_BTN_RESET 2
-
-#define SR3200_XD3200_KEYS_POLL_INTERVAL 20
-#define SR3200_XD3200_KEYS_DEBOUNCE_INTERVAL \
- (3 * SR3200_XD3200_KEYS_POLL_INTERVAL)
-
-static struct gpio_led xd3200_leds_gpio[] __initdata = {
- {
- .name = "xd3200:green:system",
- .gpio = SR3200_XD3200_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "xd3200:blue:wlan2g",
- .gpio = SR3200_XD3200_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_led sr3200_leds_gpio[] __initdata = {
- {
- .name = "sr3200:green:system",
- .gpio = SR3200_XD3200_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "sr3200:green:wlan2g",
- .gpio = SR3200_XD3200_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button sr3200_xd3200_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = SR3200_XD3200_KEYS_DEBOUNCE_INTERVAL,
- .gpio = SR3200_XD3200_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info sr3200_leds_qca833x[] = {
- AR8327_LED_INFO(PHY0_0, HW, "sr3200:green:lan1"),
- AR8327_LED_INFO(PHY1_0, HW, "sr3200:green:lan2"),
- AR8327_LED_INFO(PHY2_0, HW, "sr3200:green:lan3"),
- AR8327_LED_INFO(PHY3_0, HW, "sr3200:green:lan4"),
- AR8327_LED_INFO(PHY4_0, HW, "sr3200:green:wan"),
-};
-
-static const struct ar8327_led_info xd3200_leds_qca833x[] = {
- AR8327_LED_INFO(PHY1_0, HW, "xd3200:green:lan"),
- AR8327_LED_INFO(PHY2_0, HW, "xd3200:green:wan"),
-};
-
-/* Blink rate: 1 Gbps -> 8 hz, 100 Mbs -> 4 Hz, 10 Mbps -> 2 Hz */
-static struct ar8327_led_cfg sr3200_xd3200_qca833x_led_cfg = {
- .led_ctrl0 = 0xcf37cf37,
- .led_ctrl1 = 0xcf37cf37,
- .led_ctrl2 = 0xcf37cf37,
- .led_ctrl3 = 0x0,
- .open_drain = true,
-};
-
-static struct ar8327_pad_cfg sr3200_xd3200_qca833x_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data sr3200_xd3200_qca833x_data = {
- .pad0_cfg = &sr3200_xd3200_qca833x_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &sr3200_xd3200_qca833x_led_cfg,
-};
-
-static struct mdio_board_info sr3200_xd3200_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &sr3200_xd3200_qca833x_data,
- },
-};
-
-static void __init sr3200_xd3200_common_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(sr3200_xd3200_mdio0_info,
- ARRAY_SIZE(sr3200_xd3200_mdio0_info));
-
- /* GMAC0 is connected to QCA8334/QCA8337N switch */
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(mac + 0x1000, NULL);
-
- ap91_pci_init(mac + 0x5000, NULL);
-
- ath79_gpio_direction_select(SR3200_XD3200_GPIO_LED_SYSTEM, true);
- ath79_gpio_direction_select(SR3200_XD3200_GPIO_LED_WLAN2G, true);
-
- /* Mute LEDs on boot */
- gpio_set_value(SR3200_XD3200_GPIO_LED_SYSTEM, 1);
- gpio_set_value(SR3200_XD3200_GPIO_LED_WLAN2G, 1);
-
- ath79_gpio_output_select(SR3200_XD3200_GPIO_LED_SYSTEM, 0);
- ath79_gpio_output_select(SR3200_XD3200_GPIO_LED_WLAN2G, 0);
-
- ath79_register_gpio_keys_polled(-1, SR3200_XD3200_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(sr3200_xd3200_gpio_keys),
- sr3200_xd3200_gpio_keys);
-}
-
-static void __init sr3200_setup(void)
-{
- sr3200_xd3200_qca833x_data.leds = sr3200_leds_qca833x;
- sr3200_xd3200_qca833x_data.num_leds = ARRAY_SIZE(sr3200_leds_qca833x);
-
- sr3200_xd3200_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(sr3200_leds_gpio),
- sr3200_leds_gpio);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_SR3200, "SR3200", "YunCore SR3200", sr3200_setup);
-
-static void __init xd3200_setup(void)
-{
- sr3200_xd3200_qca833x_data.leds = xd3200_leds_qca833x;
- sr3200_xd3200_qca833x_data.num_leds = ARRAY_SIZE(xd3200_leds_qca833x);
-
- sr3200_xd3200_common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(xd3200_leds_gpio),
- xd3200_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_XD3200, "XD3200", "YunCore XD3200", xd3200_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-t830.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-t830.c
deleted file mode 100644
index ffdb2ca533..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-t830.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * YunCore T830 board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define T830_GPIO_LED_LAN1 16
-#define T830_GPIO_LED_LAN2 15
-#define T830_GPIO_LED_LAN3 14
-#define T830_GPIO_LED_LAN4 11
-#define T830_GPIO_LED_USB 13
-#define T830_GPIO_LED_WAN 4
-#define T830_GPIO_LED_WLAN 12
-
-#define T830_GPIO_BTN_RESET 17
-
-#define T830_KEYS_POLL_INTERVAL 20 /* msec */
-#define T830_KEYS_DEBOUNCE_INTERVAL (3 * T830_KEYS_POLL_INTERVAL)
-
-#define T830_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led t830_gpio_leds[] __initdata = {
- {
- .name = "t830:green:lan1",
- .gpio = T830_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "t830:green:lan2",
- .gpio = T830_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "t830:green:lan3",
- .gpio = T830_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "t830:green:lan4",
- .gpio = T830_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "t830:green:usb",
- .gpio = T830_GPIO_LED_USB,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_KEEP,
- }, {
- .name = "t830:green:wan",
- .gpio = T830_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "t830:green:wlan",
- .gpio = T830_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button t830_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = T830_KEYS_DEBOUNCE_INTERVAL,
- .gpio = T830_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init t830_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(4);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac + 6, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(t830_gpio_leds),
- t830_gpio_leds);
-
- ath79_register_gpio_keys_polled(-1, T830_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(t830_gpio_keys),
- t830_gpio_keys);
-
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_T830, "T830", "YunCore T830", t830_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tellstick-znet-lite.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tellstick-znet-lite.c
deleted file mode 100644
index 0950d9a99d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tellstick-znet-lite.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Telldus TellStick ZNet Lite board support
- *
- * Copyright (C) 2016 Micke Prag <micke.prag@telldus.se>
- *
- * 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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TELLSTICK_GPIO_LED_SYSTEM 27
-#define TELLSTICK_GPIO_LED_BLUE 0
-#define TELLSTICK_GPIO_LED_RED 14
-#define TELLSTICK_GPIO_LED_GREEN 15
-#define TELLSTICK_GPIO_LED_LAN_GREEN 16
-#define TELLSTICK_GPIO_LED_LAN_ORANGE 17
-
-#define TELLSTICK_GPIO_BTN_RESET 11
-
-#define TELLSTICK_GPIO_RF433_RESET 13
-
-#define TELLSTICK_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TELLSTICK_KEYS_DEBOUNCE_INTERVAL (3 * TELLSTICK_KEYS_POLL_INTERVAL)
-
-static const char *tellstick_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tellstick_flash_data = {
- .part_probes = tellstick_part_probes,
-};
-
-static struct gpio_led tellstick_leds_gpio[] __initdata = {
- {
- .name = "tellstick:white:system",
- .gpio = TELLSTICK_GPIO_LED_SYSTEM,
- .active_low = 0,
- },
- {
- .name = "tellstick:blue:status",
- .gpio = TELLSTICK_GPIO_LED_BLUE,
- .active_low = 0,
- },
- {
- .name = "tellstick:red:status",
- .gpio = TELLSTICK_GPIO_LED_RED,
- .active_low = 0,
- },
- {
- .name = "tellstick:green:status",
- .gpio = TELLSTICK_GPIO_LED_GREEN,
- .active_low = 0,
- },
- {
- .name = "tellstick:green:lan",
- .gpio = TELLSTICK_GPIO_LED_LAN_GREEN,
- .active_low = 0,
- },
- {
- .name = "tellstick:orange:lan",
- .gpio = TELLSTICK_GPIO_LED_LAN_ORANGE,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tellstick_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TELLSTICK_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TELLSTICK_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init tellstick_znet_lite_setup(void)
-{
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[ETH_ALEN];
- memcpy(&mac, (u8 *) KSEG1ADDR(0x1f01fc00), sizeof(mac));
-
- ath79_gpio_function_disable(
- AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN
- );
-
- ath79_register_m25p80(&tellstick_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tellstick_leds_gpio),
- tellstick_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TELLSTICK_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tellstick_gpio_keys),
- tellstick_gpio_keys);
-
- gpio_request_one(TELLSTICK_GPIO_RF433_RESET,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "rf433 reset");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, (u8 *)mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- // wlan0 mac needs to be different then eth0
- mac[3] += 1;
- ath79_register_wmac(ee, (u8 *)mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TELLSTICK_ZNET_LITE, "TELLSTICK-ZNET-LITE", "Telldus TellStick ZNet Lite",
- tellstick_znet_lite_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-632brp.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-632brp.c
deleted file mode 100644
index 855664e562..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-632brp.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * TrendNET TEW-632BRP board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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"
-#include "nvram.h"
-
-#define TEW_632BRP_GPIO_LED_STATUS 1
-#define TEW_632BRP_GPIO_LED_WPS 3
-#define TEW_632BRP_GPIO_LED_WLAN 6
-#define TEW_632BRP_GPIO_BTN_WPS 12
-#define TEW_632BRP_GPIO_BTN_RESET 21
-
-#define TEW_632BRP_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TEW_632BRP_KEYS_DEBOUNCE_INTERVAL (3 * TEW_632BRP_KEYS_POLL_INTERVAL)
-
-#define TEW_632BRP_CONFIG_ADDR 0x1f020000
-#define TEW_632BRP_CONFIG_SIZE 0x10000
-
-static struct gpio_led tew_632brp_leds_gpio[] __initdata = {
- {
- .name = "tew-632brp:green:status",
- .gpio = TEW_632BRP_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "tew-632brp:blue:wps",
- .gpio = TEW_632BRP_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "tew-632brp:green:wlan",
- .gpio = TEW_632BRP_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tew_632brp_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TEW_632BRP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_632BRP_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TEW_632BRP_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_632BRP_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-#define TEW_632BRP_LAN_PHYMASK BIT(0)
-#define TEW_632BRP_WAN_PHYMASK BIT(4)
-#define TEW_632BRP_MDIO_MASK (~(TEW_632BRP_LAN_PHYMASK | \
- TEW_632BRP_WAN_PHYMASK))
-
-static void __init tew_632brp_setup(void)
-{
- const char *config = (char *) KSEG1ADDR(TEW_632BRP_CONFIG_ADDR);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[6];
- u8 *wlan_mac = NULL;
-
- if (ath79_nvram_parse_mac_addr(config, TEW_632BRP_CONFIG_SIZE,
- "lan_mac=", mac) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- wlan_mac = mac;
- }
-
- ath79_register_mdio(0, TEW_632BRP_MDIO_MASK);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.phy_mask = TEW_632BRP_LAN_PHYMASK;
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = TEW_632BRP_WAN_PHYMASK;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tew_632brp_leds_gpio),
- tew_632brp_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TEW_632BRP_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tew_632brp_gpio_keys),
- tew_632brp_gpio_keys);
-
- ath79_register_wmac(eeprom, wlan_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TEW_632BRP, "TEW-632BRP", "TRENDnet TEW-632BRP",
- tew_632brp_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-673gru.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-673gru.c
deleted file mode 100644
index 80a5443c70..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-673gru.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * TRENDnet TEW-673GRU board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-#include <linux/rtl8366.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/spi_gpio.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "machtypes.h"
-
-#define TEW673GRU_GPIO_LCD_SCK 0
-#define TEW673GRU_GPIO_LCD_MOSI 1
-#define TEW673GRU_GPIO_LCD_MISO 2
-#define TEW673GRU_GPIO_LCD_CS 6
-
-#define TEW673GRU_GPIO_LED_WPS 9
-
-#define TEW673GRU_GPIO_BTN_RESET 3
-#define TEW673GRU_GPIO_BTN_WPS 8
-
-#define TEW673GRU_GPIO_RTL8366_SDA 5
-#define TEW673GRU_GPIO_RTL8366_SCK 7
-
-#define TEW673GRU_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TEW673GRU_KEYS_DEBOUNCE_INTERVAL (3 * TEW673GRU_KEYS_POLL_INTERVAL)
-
-#define TEW673GRU_CAL0_OFFSET 0x1000
-#define TEW673GRU_CAL1_OFFSET 0x5000
-#define TEW673GRU_MAC0_OFFSET 0xffa0
-#define TEW673GRU_MAC1_OFFSET 0xffb4
-
-#define TEW673GRU_CAL_LOCATION_0 0x1f660000
-#define TEW673GRU_CAL_LOCATION_1 0x1f7f0000
-
-static struct gpio_led tew673gru_leds_gpio[] __initdata = {
- {
- .name = "trendnet:blue:wps",
- .gpio = TEW673GRU_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tew673gru_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TEW673GRU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW673GRU_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TEW673GRU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW673GRU_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct rtl8366_initval tew673gru_rtl8366s_initvals[] = {
- { .reg = 0x06, .val = 0x0108 },
-};
-
-static struct rtl8366_platform_data tew673gru_rtl8366s_data = {
- .gpio_sda = TEW673GRU_GPIO_RTL8366_SDA,
- .gpio_sck = TEW673GRU_GPIO_RTL8366_SCK,
- .num_initvals = ARRAY_SIZE(tew673gru_rtl8366s_initvals),
- .initvals = tew673gru_rtl8366s_initvals,
-};
-
-static struct platform_device tew673gru_rtl8366s_device = {
- .name = RTL8366S_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &tew673gru_rtl8366s_data,
- }
-};
-
-static struct spi_board_info tew673gru_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 400000,
- .modalias = "spidev",
- .mode = SPI_MODE_2,
- .controller_data = (void *) TEW673GRU_GPIO_LCD_CS,
- },
-};
-
-static struct spi_gpio_platform_data tew673gru_spi_data = {
- .sck = TEW673GRU_GPIO_LCD_SCK,
- .miso = TEW673GRU_GPIO_LCD_MISO,
- .mosi = TEW673GRU_GPIO_LCD_MOSI,
- .num_chipselect = 1,
-};
-
-static struct platform_device tew673gru_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &tew673gru_spi_data,
- },
-};
-
-static bool __init tew673gru_is_caldata_valid(u8 *p)
-{
- u16 *magic0, *magic1;
-
- magic0 = (u16 *)(p + TEW673GRU_CAL0_OFFSET);
- magic1 = (u16 *)(p + TEW673GRU_CAL1_OFFSET);
-
- return (*magic0 == 0xa55a && *magic1 == 0xa55a);
-}
-
-static void __init tew673gru_wlan_init(void)
-{
- u8 mac1[ETH_ALEN], mac2[ETH_ALEN];
- u8 *caldata;
-
- caldata = (u8 *) KSEG1ADDR(TEW673GRU_CAL_LOCATION_0);
- if (!tew673gru_is_caldata_valid(caldata)) {
- caldata = (u8 *)KSEG1ADDR(TEW673GRU_CAL_LOCATION_1);
- if (!tew673gru_is_caldata_valid(caldata)) {
- pr_err("no calibration data found\n");
- return;
- }
- }
-
- ath79_parse_ascii_mac(caldata + TEW673GRU_MAC0_OFFSET, mac1);
- ath79_parse_ascii_mac(caldata + TEW673GRU_MAC1_OFFSET, mac2);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 2);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac1, 3);
-
- ap9x_pci_setup_wmac_led_pin(0, 5);
- ap9x_pci_setup_wmac_led_pin(1, 5);
-
- ap94_pci_init(caldata + TEW673GRU_CAL0_OFFSET, mac1,
- caldata + TEW673GRU_CAL1_OFFSET, mac2);
-}
-
-static void __init tew673gru_setup(void)
-{
- tew673gru_wlan_init();
-
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.mii_bus_dev = &tew673gru_rtl8366s_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_pll_data.pll_1000 = 0x11110000;
-
- ath79_eth1_data.mii_bus_dev = &tew673gru_rtl8366s_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = 0x10;
- ath79_eth1_pll_data.pll_1000 = 0x11110000;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tew673gru_leds_gpio),
- tew673gru_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TEW673GRU_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tew673gru_gpio_keys),
- tew673gru_gpio_keys);
-
- ath79_register_usb();
-
- platform_device_register(&tew673gru_rtl8366s_device);
-
- spi_register_board_info(tew673gru_spi_info,
- ARRAY_SIZE(tew673gru_spi_info));
- platform_device_register(&tew673gru_spi_device);
-}
-
-MIPS_MACHINE(ATH79_MACH_TEW_673GRU, "TEW-673GRU", "TRENDnet TEW-673GRU",
- tew673gru_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-712br.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-712br.c
deleted file mode 100644
index 304b994887..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-712br.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * TRENDnet TEW-712BR board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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 TEW_712BR_GPIO_BTN_WPS 11
-#define TEW_712BR_GPIO_BTN_RESET 12
-
-#define TEW_712BR_GPIO_LED_LAN1 13
-#define TEW_712BR_GPIO_LED_LAN2 14
-#define TEW_712BR_GPIO_LED_LAN3 15
-#define TEW_712BR_GPIO_LED_LAN4 16
-#define TEW_712BR_GPIO_LED_POWER_GREEN 20
-#define TEW_712BR_GPIO_LED_POWER_ORANGE 27
-#define TEW_712BR_GPIO_LED_WAN_GREEN 17
-#define TEW_712BR_GPIO_LED_WAN_ORANGE 23
-#define TEW_712BR_GPIO_LED_WLAN 0
-#define TEW_712BR_GPIO_LED_WPS 26
-
-#define TEW_712BR_GPIO_WAN_LED_ENABLE 1
-
-#define TEW_712BR_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TEW_712BR_KEYS_DEBOUNCE_INTERVAL (3 * TEW_712BR_KEYS_POLL_INTERVAL)
-
-#define TEW_712BR_ART_ADDRESS 0x1f010000
-#define TEW_712BR_CALDATA_OFFSET 0x1000
-
-#define TEW_712BR_MAC_PART_ADDRESS 0x1f020000
-#define TEW_712BR_LAN_MAC_OFFSET 0x04
-#define TEW_712BR_WAN_MAC_OFFSET 0x16
-
-static struct gpio_led tew_712br_leds_gpio[] __initdata = {
- {
- .name = "trendnet:green:lan1",
- .gpio = TEW_712BR_GPIO_LED_LAN1,
- .active_low = 0,
- }, {
- .name = "trendnet:green:lan2",
- .gpio = TEW_712BR_GPIO_LED_LAN2,
- .active_low = 0,
- }, {
- .name = "trendnet:green:lan3",
- .gpio = TEW_712BR_GPIO_LED_LAN3,
- .active_low = 0,
- }, {
- .name = "trendnet:green:lan4",
- .gpio = TEW_712BR_GPIO_LED_LAN4,
- .active_low = 0,
- }, {
- .name = "trendnet:blue:wps",
- .gpio = TEW_712BR_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "trendnet:green:power",
- .gpio = TEW_712BR_GPIO_LED_POWER_GREEN,
- .active_low = 0,
- }, {
- .name = "trendnet:orange:power",
- .gpio = TEW_712BR_GPIO_LED_POWER_ORANGE,
- .active_low = 0,
- }, {
- .name = "trendnet:green:wan",
- .gpio = TEW_712BR_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "trendnet:orange:wan",
- .gpio = TEW_712BR_GPIO_LED_WAN_ORANGE,
- .active_low = 0,
- }, {
- .name = "trendnet:green:wlan",
- .gpio = TEW_712BR_GPIO_LED_WLAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tew_712br_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TEW_712BR_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_712BR_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TEW_712BR_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_712BR_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init tew_712br_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(TEW_712BR_ART_ADDRESS);
- u8 *mac = (u8 *) KSEG1ADDR(TEW_712BR_MAC_PART_ADDRESS);
- u8 lan_mac[ETH_ALEN];
- u8 wan_mac[ETH_ALEN];
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- gpio_request_one(TEW_712BR_GPIO_WAN_LED_ENABLE,
- GPIOF_OUT_INIT_LOW, "WAN LED enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tew_712br_leds_gpio),
- tew_712br_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TEW_712BR_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tew_712br_gpio_keys),
- tew_712br_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- ath79_parse_ascii_mac(mac + TEW_712BR_LAN_MAC_OFFSET, lan_mac);
- ath79_parse_ascii_mac(mac + TEW_712BR_WAN_MAC_OFFSET, wan_mac);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, wan_mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, lan_mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + TEW_712BR_CALDATA_OFFSET, wan_mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TEW_712BR, "TEW-712BR",
- "TRENDnet TEW-712BR", tew_712br_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-732br.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-732br.c
deleted file mode 100644
index 1f26f6f4b0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-732br.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * TRENDnet TEW-732BR board support
- *
- * Copyright (C) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 TEW_732BR_GPIO_BTN_WPS 16
-#define TEW_732BR_GPIO_BTN_RESET 17
-
-#define TEW_732BR_GPIO_LED_POWER_GREEN 4
-#define TEW_732BR_GPIO_LED_POWER_AMBER 14
-#define TEW_732BR_GPIO_LED_PLANET_GREEN 12
-#define TEW_732BR_GPIO_LED_PLANET_AMBER 22
-
-#define TEW_732BR_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TEW_732BR_KEYS_DEBOUNCE_INTERVAL (3 * TEW_732BR_KEYS_POLL_INTERVAL)
-
-#define TEW_732BR_ART_ADDRESS 0x1fff0000
-#define TEW_732BR_CALDATA_OFFSET 0x1000
-#define TEW_732BR_LAN_MAC_OFFSET 0xffa0
-#define TEW_732BR_WAN_MAC_OFFSET 0xffb4
-
-static struct gpio_led tew_732br_leds_gpio[] __initdata = {
- {
- .name = "trendnet:green:power",
- .gpio = TEW_732BR_GPIO_LED_POWER_GREEN,
- .active_low = 0,
- },
- {
- .name = "trendnet:amber:power",
- .gpio = TEW_732BR_GPIO_LED_POWER_AMBER,
- .active_low = 0,
- },
- {
- .name = "trendnet:green:wan",
- .gpio = TEW_732BR_GPIO_LED_PLANET_GREEN,
- .active_low = 1,
- },
- {
- .name = "trendnet:amber:wan",
- .gpio = TEW_732BR_GPIO_LED_PLANET_AMBER,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tew_732br_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TEW_732BR_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_732BR_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TEW_732BR_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_732BR_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void __init tew_732br_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(TEW_732BR_ART_ADDRESS);
- u8 lan_mac[ETH_ALEN];
- u8 wan_mac[ETH_ALEN];
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tew_732br_leds_gpio),
- tew_732br_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TEW_732BR_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tew_732br_gpio_keys),
- tew_732br_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- ath79_parse_ascii_mac(art + TEW_732BR_LAN_MAC_OFFSET, lan_mac);
- ath79_parse_ascii_mac(art + TEW_732BR_WAN_MAC_OFFSET, wan_mac);
-
- ath79_register_wmac(art + TEW_732BR_CALDATA_OFFSET, lan_mac);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* LAN: GMAC1 is connected to the internal switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, lan_mac, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN: GMAC0 is connected to the PHY4 of the internal switch */
- ath79_init_mac(ath79_eth0_data.mac_addr, wan_mac, 0);
-
- 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_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_TEW_732BR, "TEW-732BR", "TRENDnet TEW-732BR",
- tew_732br_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-823dru.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-823dru.c
deleted file mode 100644
index e631828a65..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tew-823dru.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * TRENDnet TEW-823DRU board support
- *
- * Copyright (C) 2015 Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TEW_823DRU_GPIO_LED_POWER_ORANGE 14
-#define TEW_823DRU_GPIO_LED_POWER_GREEN 19
-#define TEW_823DRU_GPIO_LED_PLANET_GREEN 22
-#define TEW_823DRU_GPIO_LED_PLANET_ORANGE 23
-
-#define TEW_823DRU_GPIO_BTN_WPS 16
-#define TEW_823DRU_GPIO_BTN_RESET 17
-
-#define TEW_823DRU_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TEW_823DRU_KEYS_DEBOUNCE_INTERVAL \
- (3 * TEW_823DRU_KEYS_POLL_INTERVAL)
-
-#define TEW_823DRU_WMAC_CALDATA_OFFSET 0x1000
-
-#define TEW_823DRU_LAN_MAC_OFFSET 0x04
-#define TEW_823DRU_WAN_MAC_OFFSET 0x18
-
-static struct gpio_led tew_823dru_leds_gpio[] __initdata = {
- {
- .name = "trendnet:green:power",
- .gpio = TEW_823DRU_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "trendnet:orange:power",
- .gpio = TEW_823DRU_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- },
- {
- .name = "trendnet:green:planet",
- .gpio = TEW_823DRU_GPIO_LED_PLANET_GREEN,
- .active_low = 1,
- },
- {
- .name = "trendnet:orange:planet",
- .gpio = TEW_823DRU_GPIO_LED_PLANET_ORANGE,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tew_823dru_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TEW_823DRU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_823DRU_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TEW_823DRU_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TEW_823DRU_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-/* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg tew_823dru_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg tew_823dru_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data tew_823dru_ar8327_data = {
- .pad0_cfg = &tew_823dru_ar8327_pad0_cfg,
- .pad6_cfg = &tew_823dru_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info tew_823dru_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &tew_823dru_ar8327_data,
- },
-};
-
-static void __init tew_823dru_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1ffe0000);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 lan_mac[ETH_ALEN];
- u8 wan_mac[ETH_ALEN];
-
- ath79_parse_ascii_mac(mac + TEW_823DRU_LAN_MAC_OFFSET, lan_mac);
- ath79_parse_ascii_mac(mac + TEW_823DRU_WAN_MAC_OFFSET, wan_mac);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tew_823dru_leds_gpio),
- tew_823dru_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TEW_823DRU_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tew_823dru_gpio_keys),
- tew_823dru_gpio_keys);
-
- ath79_register_wmac(art + TEW_823DRU_WMAC_CALDATA_OFFSET, lan_mac);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, lan_mac, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr, wan_mac, 0);
-
-
- mdiobus_register_board_info(tew_823dru_mdio0_info,
- ARRAY_SIZE(tew_823dru_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_register_eth(1);
-
- ath79_register_usb();
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_TEW_823DRU, "TEW-823DRU", "TRENDnet TEW-823DRU",
- tew_823dru_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c
deleted file mode 100644
index 74ccf639e0..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * TP-LINK TL-MR11U/TL-MR3040 board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_MR11U_GPIO_LED_3G 27
-#define TL_MR11U_GPIO_LED_WLAN 26
-#define TL_MR11U_GPIO_LED_LAN 17
-
-#define TL_MR11U_GPIO_BTN_WPS 20
-#define TL_MR11U_GPIO_BTN_RESET 11
-
-#define TL_MR11U_GPIO_USB_POWER 8
-#define TL_MR3040_GPIO_USB_POWER 18
-
-#define TL_MR3040_V2_GPIO_BTN_SW1 19
-#define TL_MR3040_V2_GPIO_BTN_SW2 20
-
-#define TL_MR11U_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_MR11U_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR11U_KEYS_POLL_INTERVAL)
-
-static const char *tl_mr11u_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_mr11u_flash_data = {
- .part_probes = tl_mr11u_part_probes,
-};
-
-static struct gpio_led tl_mr11u_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:3g",
- .gpio = TL_MR11U_GPIO_LED_3G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan",
- .gpio = TL_MR11U_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:lan",
- .gpio = TL_MR11U_GPIO_LED_LAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_mr11u_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR11U_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR11U_GPIO_BTN_WPS,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tl_mr3040_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR11U_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "sw1",
- .type = EV_SW,
- .code = BTN_0,
- .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3040_V2_GPIO_BTN_SW1,
- .active_low = 0,
- },
- {
- .desc = "sw2",
- .type = EV_SW,
- .code = BTN_1,
- .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3040_V2_GPIO_BTN_SW2,
- .active_low = 0,
- }
-};
-
-static void __init common_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* Disable hardware control LAN1 and LAN2 LEDs, enabling GPIO14 and GPIO15 */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&tl_mr11u_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr11u_leds_gpio),
- tl_mr11u_leds_gpio);
-
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_mr11u_setup(void)
-{
- common_setup();
-
- ath79_register_gpio_keys_polled(-1, TL_MR11U_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr11u_gpio_keys),
- tl_mr11u_gpio_keys);
- gpio_request_one(TL_MR11U_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR11U, "TL-MR11U", "TP-LINK TL-MR11U",
- tl_mr11u_setup);
-
-static void __init tl_mr3040_setup(void)
-{
- common_setup();
-
- ath79_register_gpio_keys_polled(-1, TL_MR11U_KEYS_POLL_INTERVAL,
- 1, tl_mr11u_gpio_keys);
- gpio_request_one(TL_MR3040_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3040, "TL-MR3040", "TP-LINK TL-MR3040",
- tl_mr3040_setup);
-
-static void __init tl_mr3040_v2_setup(void)
-{
- common_setup();
-
- ath79_register_gpio_keys_polled(-1, TL_MR11U_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr3040_v2_gpio_keys),
- tl_mr3040_v2_gpio_keys);
- gpio_request_one(TL_MR3040_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3040_V2, "TL-MR3040-v2", "TP-LINK TL-MR3040 v2",
- tl_mr3040_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c
deleted file mode 100644
index 84b6937849..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * TP-LINK TL-MR13U board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define TL_MR13U_GPIO_LED_SYSTEM 27
-
-#define TL_MR13U_GPIO_BTN_RESET 11
-#define TL_MR13U_GPIO_BTN_SW1 6
-#define TL_MR13U_GPIO_BTN_SW2 7
-
-#define TL_MR13U_GPIO_USB_POWER 18
-
-#define TL_MR13U_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_MR13U_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR13U_KEYS_POLL_INTERVAL)
-
-static const char *tl_mr13u_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_mr13u_flash_data = {
- .part_probes = tl_mr13u_part_probes,
-};
-
-static struct gpio_led tl_mr13u_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:system",
- .gpio = TL_MR13U_GPIO_LED_SYSTEM,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tl_mr13u_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR13U_GPIO_BTN_RESET,
- .active_low = 0,
- },
- {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR13U_GPIO_BTN_SW1,
- .active_low = 0,
- },
- {
- .desc = "sw2",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = TL_MR13U_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR13U_GPIO_BTN_SW2,
- .active_low = 0,
- },
-};
-
-static void __init tl_mr13u_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&tl_mr13u_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr13u_leds_gpio),
- tl_mr13u_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_MR13U_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr13u_gpio_keys),
- tl_mr13u_gpio_keys);
-
- gpio_request_one(TL_MR13U_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR13U, "TL-MR13U", "TP-LINK TL-MR13U v1",
- tl_mr13u_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3020.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3020.c
deleted file mode 100644
index e3b4087eff..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3020.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * TP-LINK TL-MR3020 board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "dev-eth.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"
-
-#define TL_MR3020_GPIO_LED_3G 27
-#define TL_MR3020_GPIO_LED_WLAN 0
-#define TL_MR3020_GPIO_LED_LAN 17
-#define TL_MR3020_GPIO_LED_WPS 26
-
-#define TL_MR3020_GPIO_BTN_WPS 11
-#define TL_MR3020_GPIO_BTN_SW1 18
-#define TL_MR3020_GPIO_BTN_SW2 20
-
-#define TL_MR3020_GPIO_USB_POWER 8
-
-#define TL_MR3020_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_MR3020_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR3020_KEYS_POLL_INTERVAL)
-
-static const char *tl_mr3020_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_mr3020_flash_data = {
- .part_probes = tl_mr3020_part_probes,
-};
-
-static struct gpio_led tl_mr3020_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:3g",
- .gpio = TL_MR3020_GPIO_LED_3G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan",
- .gpio = TL_MR3020_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "tp-link:green:lan",
- .gpio = TL_MR3020_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wps",
- .gpio = TL_MR3020_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_mr3020_gpio_keys[] __initdata = {
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_MR3020_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3020_GPIO_BTN_WPS,
- .active_low = 0,
- },
- {
- .desc = "sw1",
- .type = EV_SW,
- .code = BTN_0,
- .debounce_interval = TL_MR3020_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3020_GPIO_BTN_SW1,
- .active_low = 0,
- },
- {
- .desc = "sw2",
- .type = EV_SW,
- .code = BTN_1,
- .debounce_interval = TL_MR3020_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3020_GPIO_BTN_SW2,
- .active_low = 0,
- }
-};
-
-static void __init tl_mr3020_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&tl_mr3020_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr3020_leds_gpio),
- tl_mr3020_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_MR3020_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr3020_gpio_keys),
- tl_mr3020_gpio_keys);
-
- gpio_request_one(TL_MR3020_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3020, "TL-MR3020", "TP-LINK TL-MR3020",
- tl_mr3020_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3x20.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3x20.c
deleted file mode 100644
index 5924ac5048..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3x20.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * TP-LINK TL-MR3220/3420 board support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define TL_MR3X20_GPIO_LED_QSS 0
-#define TL_MR3X20_GPIO_LED_SYSTEM 1
-#define TL_MR3X20_GPIO_LED_3G 8
-
-#define TL_MR3X20_GPIO_BTN_RESET 11
-#define TL_MR3X20_GPIO_BTN_QSS 12
-
-#define TL_MR3X20_GPIO_USB_POWER 6
-
-#define TL_MR3X20_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_MR3X20_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR3X20_KEYS_POLL_INTERVAL)
-
-static const char *tl_mr3x20_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_mr3x20_flash_data = {
- .part_probes = tl_mr3x20_part_probes,
-};
-
-static struct gpio_led tl_mr3x20_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_MR3X20_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_MR3X20_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:3g",
- .gpio = TL_MR3X20_GPIO_LED_3G,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_mr3x20_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_MR3X20_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3X20_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_MR3X20_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3X20_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static void __init tl_ap99_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_mr3x20_flash_data);
-
- ath79_register_gpio_keys_polled(-1, TL_MR3X20_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr3x20_gpio_keys),
- tl_mr3x20_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
- /* WAN port */
- ath79_register_eth(0);
-
- ap91_pci_init(ee, mac);
-}
-
-static void __init tl_mr3x20_usb_setup(void)
-{
- /* enable power for the USB port */
- gpio_request_one(TL_MR3X20_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-}
-
-static void __init tl_mr3220_setup(void)
-{
- tl_ap99_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio),
- tl_mr3x20_leds_gpio);
- ap9x_pci_setup_wmac_led_pin(0, 1);
- tl_mr3x20_usb_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3220, "TL-MR3220", "TP-LINK TL-MR3220",
- tl_mr3220_setup);
-
-static void __init tl_mr3420_setup(void)
-{
- tl_ap99_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio),
- tl_mr3x20_leds_gpio);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- tl_mr3x20_usb_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3420, "TL-MR3420", "TP-LINK TL-MR3420",
- tl_mr3420_setup);
-
-static void __init tl_wr841n_v7_setup(void)
-{
- tl_ap99_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio) - 1,
- tl_mr3x20_leds_gpio);
- ap9x_pci_setup_wmac_led_pin(0, 0);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR841N_V7, "TL-WR841N-v7",
- "TP-LINK TL-WR841N/ND v7", tl_wr841n_v7_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr6400.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr6400.c
deleted file mode 100644
index be49c89cab..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr6400.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * TP-LINK TL-MR6400 board support
- *
- * Copyright (C) 2017 Filip Moc <lede@moc6.cz>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE.
- */
-
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_MR6400_GPIO_LTE_POWER 4
-#define TL_MR6400_GPIO_BTN_RESET 12 /* SW2 */
-#define TL_MR6400_GPIO_BTN_RFKILL 14 /* SW3 */
-#define TL_MR6400_GPIO_LED_WAN 0 /* D12 */
-#define TL_MR6400_GPIO_LED_4G 1 /* D11 */
-#define TL_MR6400_GPIO_LED_WPS 3 /* D5 */
-#define TL_MR6400_GPIO_LED_WLAN 11 /* D3 */
-#define TL_MR6400_GPIO_LED_POWER 13 /* D2 */
-#define TL_MR6400_GPIO_LED_LAN 16 /* D4 */
-
-#define TL_MR6400_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_MR6400_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR6400_KEYS_POLL_INTERVAL)
-
-#define TL_MR6400_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *tl_mr6400_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_mr6400_flash_data = {
- .part_probes = tl_mr6400_part_probes,
- .type = "w25q64",
-};
-
-static struct gpio_led tl_mr6400_leds_gpio[] __initdata = {
- {
- .name = "tp-link:white:wan",
- .gpio = TL_MR6400_GPIO_LED_WAN,
- .active_low = 0,
- },
- {
- .name = "tp-link:white:4g",
- .gpio = TL_MR6400_GPIO_LED_4G,
- .active_low = 0,
- },
- {
- .name = "tp-link:white:wps",
- .gpio = TL_MR6400_GPIO_LED_WPS,
- .active_low = 0,
- },
- {
- .name = "tp-link:white:wlan",
- .gpio = TL_MR6400_GPIO_LED_WLAN,
- .active_low = 0,
- },
- {
- .name = "tp-link:white:power",
- .gpio = TL_MR6400_GPIO_LED_POWER,
- .active_low = 0,
- },
- {
- .name = "tp-link:white:lan",
- .gpio = TL_MR6400_GPIO_LED_LAN,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tl_mr6400_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_MR6400_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR6400_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_MR6400_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR6400_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static void __init tl_mr6400_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&tl_mr6400_flash_data);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN1, LAN2, LAN3 */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask |= BIT(0);
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
- ath79_register_eth(1);
-
- /* LAN4 / WAN */
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + TL_MR6400_WMAC_CALDATA_OFFSET, mac);
-
- ath79_register_leds_gpio(-1,
- ARRAY_SIZE(tl_mr6400_leds_gpio),
- tl_mr6400_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1,
- TL_MR6400_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr6400_gpio_keys),
- tl_mr6400_gpio_keys);
-
- gpio_request_one(TL_MR6400_GPIO_LTE_POWER,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED | GPIOF_ACTIVE_LOW,
- "LTE power");
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR6400, "TL-MR6400", "TP-LINK TL-MR6400",
- tl_mr6400_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa701nd-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa701nd-v2.c
deleted file mode 100644
index aab92b30d4..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa701nd-v2.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * TP-LINK TL-WA701ND v2 board support
- *
- * Copyright (C) 2015 Luigi Tarenga <luigi.tarenga@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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define TL_WA701NDV2_GPIO_LED_WLAN 0
-#define TL_WA701NDV2_GPIO_LED_QSS 1
-#define TL_WA701NDV2_GPIO_LED_LAN 17
-#define TL_WA701NDV2_GPIO_LED_SYSTEM 27
-
-#define TL_WA701NDV2_GPIO_BTN_RESET 11
-#define TL_WA701NDV2_GPIO_BTN_QSS 26
-
-#define TL_WA701NDV2_GPIO_USB_POWER 8
-
-#define TL_WA701NDV2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WA701NDV2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WA701NDV2_KEYS_POLL_INTERVAL)
-
-static const char *tl_wa701ndv2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa701ndv2_flash_data = {
- .part_probes = tl_wa701ndv2_part_probes,
-};
-
-static struct gpio_led tl_wa701ndv2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA701NDV2_GPIO_LED_WLAN,
- .active_low = 0,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WA701NDV2_GPIO_LED_QSS,
- .active_low = 0,
- }, {
- .name = "tp-link:green:lan",
- .gpio = TL_WA701NDV2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WA701NDV2_GPIO_LED_SYSTEM,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wa701ndv2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA701NDV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA701NDV2_GPIO_BTN_RESET,
- .active_low = 0,
- } , {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WA701NDV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA701NDV2_GPIO_BTN_QSS,
- .active_low = 0,
- }
-
-};
-
-static void __init tl_wa701ndv2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa701ndv2_leds_gpio),
- tl_wa701ndv2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WA701NDV2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa701ndv2_gpio_keys),
- tl_wa701ndv2_gpio_keys);
-
- gpio_request_one(TL_WA701NDV2_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_m25p80(&tl_wa701ndv2_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- /* ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1); */
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA701ND_V2, "TL-WA701ND-v2",
- "TP-LINK TL-WA701ND v2", tl_wa701ndv2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7210n-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7210n-v2.c
deleted file mode 100644
index 276353a6c3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7210n-v2.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * TP-LINK TL-WA7210N v2.1 board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
- * Copyright (C) 2014 Alexander List <alex@graz.funkfeuer.at>
- * Copyright (C) 2015 Hendrik Frenzel <hfrenzel@scunc.net>
- *
- * rebased on TL-WA7510Nv1 support,
- * Copyright (C) 2012 Stefan Helmert <helst_listen@aol.de>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/gpio.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-dsa.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"
-#include "pci.h"
-
-#include "common.h"
-
-#define TL_WA7210N_V2_GPIO_BTN_RESET 11
-#define TL_WA7210N_V2_KEYS_POLL_INT 20
-#define TL_WA7210N_V2_KEYS_DEBOUNCE_INT (3 * TL_WA7210N_V2_KEYS_POLL_INT)
-
-#define TL_WA7210N_V2_GPIO_LED_LAN 17
-#define TL_WA7210N_V2_GPIO_LED_SIG1 0
-#define TL_WA7210N_V2_GPIO_LED_SIG2 1
-#define TL_WA7210N_V2_GPIO_LED_SIG3 27
-#define TL_WA7210N_V2_GPIO_LED_SIG4 26
-
-#define TL_WA7210N_V2_GPIO_LNA_EN 28
-
-static const char *tl_wa7210n_v2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct gpio_keys_button tl_wa7210n_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA7210N_V2_KEYS_DEBOUNCE_INT,
- .gpio = TL_WA7210N_V2_GPIO_BTN_RESET,
- .active_low = 0,
- },
-};
-
-static struct gpio_led tl_wa7210n_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan",
- .gpio = TL_WA7210N_V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:signal1",
- .gpio = TL_WA7210N_V2_GPIO_LED_SIG1,
- .active_low = 0,
- }, {
- .name = "tp-link:green:signal2",
- .gpio = TL_WA7210N_V2_GPIO_LED_SIG2,
- .active_low = 0,
- }, {
- .name = "tp-link:green:signal3",
- .gpio = TL_WA7210N_V2_GPIO_LED_SIG3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:signal4",
- .gpio = TL_WA7210N_V2_GPIO_LED_SIG4,
- .active_low = 1,
- },
-};
-
-static struct flash_platform_data tl_wa7210n_v2_flash_data = {
- .part_probes = tl_wa7210n_v2_part_probes,
-};
-
-static void __init tl_wa7210n_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_gpio_keys_polled(-1, TL_WA7210N_V2_KEYS_POLL_INT,
- ARRAY_SIZE(tl_wa7210n_v2_gpio_keys),
- tl_wa7210n_v2_gpio_keys);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa7210n_v2_leds_gpio),
- tl_wa7210n_v2_leds_gpio);
-
- ath79_gpio_function_enable(TL_WA7210N_V2_GPIO_LNA_EN);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_wmac(ee, mac);
-
- ath79_register_m25p80(&tl_wa7210n_v2_flash_data);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA7210N_V2, "TL-WA7210N-v2", "TP-LINK TL-WA7210N v2",
- tl_wa7210n_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa801nd-v3.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa801nd-v3.c
deleted file mode 100644
index 1637382192..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa801nd-v3.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * TP-LINK TL-WA801ND v3 adapted from TP-LINK TL-WR841N/ND v9
- * TP-LINK TL-WA801ND v4
- *
- * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
- * Copyright (C) 2016 Tiziano Bacocco <tizbac2@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_WA801NDV3_GPIO_LED_WLAN 12
-#define TL_WA801NDV3_GPIO_LED_SYSTEM 13
-#define TL_WA801NDV3_GPIO_LED_SECURITY_RED 11
-#define TL_WA801NDV3_GPIO_LED_SECURITY_GREEN 15
-#define TL_WA801NDV3_GPIO_LED_LAN 3
-
-#define TL_WA801NDV3_GPIO_BTN_RESET 2
-#define TL_WA801NDV3_GPIO_BTN_WIFI 1
-
-#define TL_WA801NDV3_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WA801NDV3_KEYS_DEBOUNCE_INTERVAL (3 * TL_WA801NDV3_KEYS_POLL_INTERVAL)
-
-static const char *tl_wa801n_v3_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa801n_v3_flash_data = {
- .part_probes = tl_wa801n_v3_part_probes,
-};
-
-static struct gpio_led tl_wa801n_v3_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WA801NDV3_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan",
- .gpio = TL_WA801NDV3_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA801NDV3_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tp-link:red:security",
- .gpio = TL_WA801NDV3_GPIO_LED_SECURITY_RED,
- .active_low = 0,
- }, {
- .name = "tp-link:green:security",
- .gpio = TL_WA801NDV3_GPIO_LED_SECURITY_GREEN,
- .active_low = 0,
- }
-
-};
-
-static struct gpio_keys_button tl_wa801n_v3_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA801NDV3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA801NDV3_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WIFI button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WA801NDV3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA801NDV3_GPIO_BTN_WIFI,
- .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_m25p80(&tl_wa801n_v3_flash_data);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- 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.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_wa801n_v3_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa801n_v3_leds_gpio),
- tl_wa801n_v3_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WA801NDV3_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa801n_v3_gpio_keys),
- tl_wa801n_v3_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA801ND_V3, "TL-WA801ND-v3", "TP-LINK TL-WA801ND v3",
- tl_wa801n_v3_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa830re-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa830re-v2.c
deleted file mode 100644
index 1c74fed98e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa830re-v2.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * TP-LINK TL-WA830RE v2 board support
- *
- * Copyright (C) 2014 Fredrik Jonson <fredrik@famjonson.se>
- *
- * 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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WA830REV2_GPIO_LED_WLAN 13
-#define TL_WA830REV2_GPIO_LED_QSS 15
-#define TL_WA830REV2_GPIO_LED_LAN 18
-#define TL_WA830REV2_GPIO_LED_SYSTEM 14
-
-#define TL_WA830REV2_GPIO_BTN_RESET 17
-#define TL_WA830REV2_GPIO_SW_RFKILL 16 /* WPS for MR3420 v2 */
-
-#define TL_WA830REV2_GPIO_USB_POWER 4
-
-#define TL_WA830REV2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WA830REV2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WA830REV2_KEYS_POLL_INTERVAL)
-
-static const char *tl_wa830re_v2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa830re_v2_flash_data = {
- .part_probes = tl_wa830re_v2_part_probes,
-};
-
-static struct gpio_led tl_wa830re_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:qss",
- .gpio = TL_WA830REV2_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WA830REV2_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan",
- .gpio = TL_WA830REV2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA830REV2_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wa830re_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA830REV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA830REV2_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WA830REV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA830REV2_GPIO_SW_RFKILL,
- .active_low = 0,
- }
-};
-
-static void __init tl_ap123_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* Disable JTAG, enabling GPIOs 0-3 */
- /* Configure OBS4 line, for GPIO 4*/
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- /* config gpio4 as normal gpio function */
- ath79_gpio_output_select(TL_WA830REV2_GPIO_USB_POWER,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(&tl_wa830re_v2_flash_data);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_wa830re_v2_setup(void)
-{
- tl_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa830re_v2_leds_gpio) - 1,
- tl_wa830re_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WA830REV2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa830re_v2_gpio_keys),
- tl_wa830re_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA830RE_V2, "TL-WA830RE-v2", "TP-LINK TL-WA830RE v2",
- tl_wa830re_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v2.c
deleted file mode 100644
index b4fb2a9f91..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v2.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * TP-LINK TL-WA901N/ND v2 board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Pieter Hollants <pieter@hollants.com>
- * Copyright (C) 2011 Jonathan Bennett <jbscience87@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 <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WA901ND_V2_GPIO_LED_QSS 4
-#define TL_WA901ND_V2_GPIO_LED_SYSTEM 2
-#define TL_WA901ND_V2_GPIO_LED_WLAN 9
-
-#define TL_WA901ND_V2_GPIO_BTN_RESET 3
-#define TL_WA901ND_V2_GPIO_BTN_QSS 7
-
-#define TL_WA901ND_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL \
- (3 * TL_WA901ND_V2_KEYS_POLL_INTERVAL)
-
-static const char *tl_wa901nd_v2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa901nd_v2_flash_data = {
- .part_probes = tl_wa901nd_v2_part_probes,
-};
-
-static struct gpio_led tl_wa901nd_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WA901ND_V2_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WA901ND_V2_GPIO_LED_QSS,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA901ND_V2_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wa901nd_v2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA901ND_V2_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA901ND_V2_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static void __init tl_wa901nd_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = 0x00001000;
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.reset_bit = AR71XX_RESET_GE0_MAC |
- AR71XX_RESET_GE0_PHY;
- ath79_register_eth(0);
-
- ath79_register_m25p80(&tl_wa901nd_v2_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa901nd_v2_leds_gpio),
- tl_wa901nd_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WA901ND_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa901nd_v2_gpio_keys),
- tl_wa901nd_v2_gpio_keys);
-
- ath79_register_wmac(eeprom, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V2, "TL-WA901ND-v2",
- "TP-LINK TL-WA901ND v2", tl_wa901nd_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v4.c
deleted file mode 100644
index ffbcd6fe42..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v4.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * TP-LINK TL-WA901ND v4, v5 board
- *
- * Copyright (C) 2015 Matthias Schiffer <mschiffer@universe-factory.net>
- * Copyright (C) 2016 Tiziano Bacocco <tizbac2@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_WA901ND_V4_GPIO_LED_QSS 3
-#define TL_WA901ND_V4_GPIO_LED_LAN 7
-#define TL_WA901ND_V4_GPIO_LED_WLAN 8
-#define TL_WA901ND_V4_GPIO_LED_SYSTEM 18
-
-#define TL_WA901ND_V4_GPIO_BTN_RESET 1
-
-#define TL_WA901ND_V4_KEYS_POLL_INTERVAL 20
-#define TL_WA901ND_V4_KEYS_DEBOUNCE_INTERVAL (3 * TL_WA901ND_V4_KEYS_POLL_INTERVAL)
-
-
-static struct gpio_led TL_WA901ND_V4_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:qss",
- .gpio = TL_WA901ND_V4_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:lan",
- .gpio = TL_WA901ND_V4_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA901ND_V4_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:system",
- .gpio = TL_WA901ND_V4_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button TL_WA901ND_V4_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA901ND_V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA901ND_V4_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-
-static const char *tl_wa901nd_v4_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa901nd_v4_flash_data = {
- .part_probes = tl_wa901nd_v4_part_probes,
-};
-
-
-static void __init TL_WA901ND_V4_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wa901nd_v4_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(TL_WA901ND_V4_leds_gpio),
- TL_WA901ND_V4_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WA901ND_V4_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(TL_WA901ND_V4_gpio_keys),
- TL_WA901ND_V4_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_switch_data.phy4_mii_en = 1;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
-}
-
-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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd.c
deleted file mode 100644
index 957b92cba6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * TP-LINK TL-WA901N/ND v1, TL-WA7510N v1 board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Pieter Hollants <pieter@hollants.com>
- * Copyright (C) 2012 Stefan Helmert <helst_listen@aol.de>
- *
- * 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 <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-#include "pci.h"
-
-#define TL_WA901ND_GPIO_LED_QSS 0
-#define TL_WA901ND_GPIO_LED_SYSTEM 1
-#define TL_WA901ND_GPIO_LED_LAN 13
-
-#define TL_WA901ND_GPIO_BTN_RESET 11
-#define TL_WA901ND_GPIO_BTN_QSS 12
-
-#define TL_WA901ND_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WA901ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WA901ND_KEYS_POLL_INTERVAL)
-
-static const char *tl_wa901nd_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wa901nd_flash_data = {
- .part_probes = tl_wa901nd_part_probes,
-};
-
-static struct gpio_led tl_wa901nd_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan",
- .gpio = TL_WA901ND_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WA901ND_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WA901ND_GPIO_LED_QSS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wa901nd_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WA901ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA901ND_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WA901ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA901ND_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static void __init common_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-
- /*
- * ath79_eth0 would be the WAN port, but is not connected.
- * ath79_eth1 connects to the internal switch chip, however
- * we have a single LAN port only.
- */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(&tl_wa901nd_flash_data);
-}
-
-static void __init tl_wa901nd_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- common_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa901nd_leds_gpio),
- tl_wa901nd_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WA901ND_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa901nd_gpio_keys),
- tl_wa901nd_gpio_keys);
-
- ap91_pci_init(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA901ND, "TL-WA901ND", "TP-LINK TL-WA901ND",
- tl_wa901nd_setup);
-
-static void __init tl_wa7510n_v1_setup(void)
-{
- common_setup();
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA7510N_V1, "TL-WA7510N", "TP-LINK TL-WA7510N v1",
- tl_wa7510n_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
deleted file mode 100644
index 955628fecb..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- * Support for TP-Link boards:
- * - TL-WA750RE v1
- * - TL-WA801ND v2
- * - TL-WA850RE v1/v2
- * - TL-WA855RE v1
- * - TL-WA901ND v3
- *
- * Copyright (C) 2013 Martijn Zilverschoon <thefriedzombie@gmail.com>
- * Copyright (C) 2013 Jiri Pirko <jiri@resnulli.us>
- * Copyright (C) 2017 Piotr Dymacz <pepe2k@gmail.com>
- * Copyright (C) 2017 Federico Cappon <dududede371@gmail.com>
- * Copyright (C) 2017 Nicolò Veronese <nicveronese@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_WAX50RE_GPIO_LED_LAN 20
-#define TL_WAX50RE_GPIO_LED_WLAN 13
-#define TL_WAX50RE_GPIO_LED_RE 15
-#define TL_WAX50RE_GPIO_LED_SIGNAL1 0
-#define TL_WAX50RE_GPIO_LED_SIGNAL2 1
-#define TL_WAX50RE_GPIO_LED_SIGNAL3 2
-#define TL_WAX50RE_GPIO_LED_SIGNAL4 3
-#define TL_WAX50RE_GPIO_LED_SIGNAL5 4
-
-#define TL_WA850RE_V2_GPIO_LED_LAN 14
-#define TL_WA850RE_V2_GPIO_LED_RE 12
-#define TL_WA850RE_V2_GPIO_LED_SIGNAL1 0
-#define TL_WA850RE_V2_GPIO_LED_SIGNAL2 1
-#define TL_WA850RE_V2_GPIO_LED_SIGNAL3 2
-#define TL_WA850RE_V2_GPIO_LED_SIGNAL4 3
-#define TL_WA850RE_V2_GPIO_LED_SIGNAL5 4
-#define TL_WA850RE_V2_GPIO_LED_WLAN 13
-
-#define TL_WA850RE_V2_GPIO_ENABLE_LEDS 15
-
-#define TL_WA855REV1_GPIO_LED_RED 11
-#define TL_WA855REV1_GPIO_LED_GREEN 12
-
-#define TL_WA860RE_GPIO_LED_WLAN_ORANGE 0
-#define TL_WA860RE_GPIO_LED_WLAN_GREEN 2
-#define TL_WA860RE_GPIO_LED_POWER_ORANGE 12
-#define TL_WA860RE_GPIO_LED_POWER_GREEN 14
-#define TL_WA860RE_GPIO_LED_LAN 20
-
-#define TL_WA801ND_V2_GPIO_LED_LAN 18
-#define TL_WA801ND_V2_GPIO_LED_SYSTEM 14
-
-#define TL_WAX50RE_GPIO_BTN_RESET 17
-#define TL_WAX50RE_GPIO_BTN_WPS 16
-
-#define TL_WA860RE_GPIO_BTN_RESET 17
-#define TL_WA860RE_GPIO_BTN_WPS 16
-#define TL_WA860RE_GPIO_BTN_ONOFF 11
-
-#define TL_WAX50RE_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL (3 * TL_WAX50RE_KEYS_POLL_INTERVAL)
-
-static const char *tl_wax50re_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wax50re_flash_data = {
- .part_probes = tl_wax50re_part_probes,
-};
-
-static struct gpio_led tl_wa750re_leds_gpio[] __initdata = {
- {
- .name = "tp-link:orange:lan",
- .gpio = TL_WAX50RE_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:wlan",
- .gpio = TL_WAX50RE_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:re",
- .gpio = TL_WAX50RE_GPIO_LED_RE,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:signal1",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL1,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:signal2",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:signal3",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL3,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:signal4",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL4,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:signal5",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL5,
- .active_low = 1,
- },
-};
-
-static struct gpio_led tl_wa850re_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:lan",
- .gpio = TL_WAX50RE_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:wlan",
- .gpio = TL_WAX50RE_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:re",
- .gpio = TL_WAX50RE_GPIO_LED_RE,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal1",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL1,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal2",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal3",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL3,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal4",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL4,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal5",
- .gpio = TL_WAX50RE_GPIO_LED_SIGNAL5,
- .active_low = 1,
- },
-};
-
-static struct gpio_led tl_wa850re_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:lan",
- .gpio = TL_WA850RE_V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:re",
- .gpio = TL_WA850RE_V2_GPIO_LED_RE,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal1",
- .gpio = TL_WA850RE_V2_GPIO_LED_SIGNAL1,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal2",
- .gpio = TL_WA850RE_V2_GPIO_LED_SIGNAL2,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal3",
- .gpio = TL_WA850RE_V2_GPIO_LED_SIGNAL3,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal4",
- .gpio = TL_WA850RE_V2_GPIO_LED_SIGNAL4,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:signal5",
- .gpio = TL_WA850RE_V2_GPIO_LED_SIGNAL5,
- .active_low = 1,
- }, {
- .name = "tp-link:blue:wlan",
- .gpio = TL_WA850RE_V2_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_led tl_wa855re_v1_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:power",
- .gpio = TL_WA855REV1_GPIO_LED_GREEN,
- .active_low = 0,
- }, {
- .name = "tp-link:red:power",
- .gpio = TL_WA855REV1_GPIO_LED_RED,
- .active_low = 0,
- },
-};
-
-static struct gpio_led tl_wa860re_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan",
- .gpio = TL_WA860RE_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:power",
- .gpio = TL_WA860RE_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:power",
- .gpio = TL_WA860RE_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WA860RE_GPIO_LED_WLAN_GREEN,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:wlan",
- .gpio = TL_WA860RE_GPIO_LED_WLAN_ORANGE,
- .active_low = 1,
- },
-};
-
-
-static struct gpio_keys_button tl_wax50re_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WAX50RE_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WPS",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WAX50RE_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wa860re_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA860RE_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WPS",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA860RE_GPIO_BTN_WPS,
- .active_low = 1,
- }, {
- .desc = "ONOFF",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WA860RE_GPIO_BTN_ONOFF,
- .active_low = 1,
- },
-};
-
-static struct gpio_led tl_wa801nd_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan",
- .gpio = TL_WA801ND_V2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WAX50RE_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WAX50RE_GPIO_LED_RE,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WA801ND_V2_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static void __init tl_ap123_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wax50re_flash_data);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_ap143_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f3c0008);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -2);
- ath79_register_eth(0);
-
- ath79_init_mac(tmpmac, mac, 0);
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_wa750re_setup(void)
-{
- tl_ap123_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa750re_leds_gpio),
- tl_wa750re_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys),
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA750RE, "TL-WA750RE", "TP-LINK TL-WA750RE",
- tl_wa750re_setup);
-
-static void __init tl_wa801nd_v2_setup(void)
-{
- tl_ap123_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa801nd_v2_leds_gpio),
- tl_wa801nd_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys),
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA801ND_V2, "TL-WA801ND-v2", "TP-LINK TL-WA801ND v2",
- tl_wa801nd_v2_setup);
-
-static void __init tl_wa850re_setup(void)
-{
- tl_ap123_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa850re_leds_gpio),
- tl_wa850re_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys),
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA850RE, "TL-WA850RE", "TP-LINK TL-WA850RE",
- tl_wa850re_setup);
-
-static void __init tl_wa850re_v2_setup(void)
-{
- tl_ap143_setup();
-
- /* For GPIO 0~4 */
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- /* Allow to enable/disable all LEDs from userspace */
- gpio_request_one(TL_WA850RE_V2_GPIO_ENABLE_LEDS,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LEDs enable");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa850re_v2_leds_gpio),
- tl_wa850re_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys),
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA850RE_V2, "TL-WA850RE-V2",
- "TP-LINK TL-WA850RE v2", tl_wa850re_v2_setup);
-
-static void __init tl_wa855re_v1_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa855re_v1_leds_gpio),
- tl_wa855re_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys),
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA855RE_V1, "TL-WA855RE-v1", "TP-LINK TL-WA855RE v1",
- tl_wa855re_v1_setup);
-
-static void __init tl_wa860re_setup(void)
-{
- tl_ap123_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa860re_leds_gpio),
- tl_wa860re_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wa860re_gpio_keys),
- tl_wa860re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA860RE, "TL-WA860RE", "TP-LINK TL-WA860RE",
- tl_wa860re_setup);
-
-static void __init tl_wa901nd_v3_setup(void)
-{
- tl_ap123_setup();
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa801nd_v2_leds_gpio),
- tl_wa801nd_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wax50re_gpio_keys) - 1,
- tl_wax50re_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V3, "TL-WA901ND-v3", "TP-LINK TL-WA901ND v3",
- tl_wa901nd_v3_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3320-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3320-v2.c
deleted file mode 100644
index 3e452f2a4a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3320-v2.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * TP-LINK TL-WDR3320 v2 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * 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/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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WDR3320_GPIO_LED_WLAN5G 12
-#define WDR3320_GPIO_LED_SYSTEM 14
-#define WDR3320_GPIO_LED_QSS 15
-#define WDR3320_GPIO_LED_WAN 4
-#define WDR3320_GPIO_LED_LAN1 18
-#define WDR3320_GPIO_LED_LAN2 20
-#define WDR3320_GPIO_LED_LAN3 21
-#define WDR3320_GPIO_LED_LAN4 22
-
-#define WDR3320_GPIO_BTN_RESET 16
-
-#define WDR3320_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WDR3320_KEYS_DEBOUNCE_INTERVAL (3 * WDR3320_KEYS_POLL_INTERVAL)
-
-#define WDR3320_WMAC_CALDATA_OFFSET 0x1000
-#define WDR3320_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *wdr3320_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data wdr3320_flash_data = {
- .part_probes = wdr3320_part_probes,
-};
-
-static struct gpio_led wdr3320_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:qss",
- .gpio = WDR3320_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:system",
- .gpio = WDR3320_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan5g",
- .gpio = WDR3320_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wdr3320_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WDR3320_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WDR3320_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init wdr3320_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&wdr3320_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wdr3320_leds_gpio),
- wdr3320_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WDR3320_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wdr3320_gpio_keys),
- wdr3320_gpio_keys);
-
- ath79_init_mac(tmpmac, mac, 0);
- ath79_register_wmac(art + WDR3320_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_init_mac(tmpmac, mac, -1);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- ap91_pci_init(art + WDR3320_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* LAN */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- 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_register_eth(0);
-
- ath79_register_usb();
-
- ath79_gpio_output_select(WDR3320_GPIO_LED_LAN1,
- AR934X_GPIO_OUT_LED_LINK0);
- ath79_gpio_output_select(WDR3320_GPIO_LED_LAN2,
- AR934X_GPIO_OUT_LED_LINK1);
- ath79_gpio_output_select(WDR3320_GPIO_LED_LAN3,
- AR934X_GPIO_OUT_LED_LINK2);
- ath79_gpio_output_select(WDR3320_GPIO_LED_LAN4,
- AR934X_GPIO_OUT_LED_LINK3);
- ath79_gpio_output_select(WDR3320_GPIO_LED_WAN,
- AR934X_GPIO_OUT_LED_LINK4);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WDR3320_V2, "TL-WDR3320-v2",
- "TP-LINK TL-WDR3320 v2",
- wdr3320_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
deleted file mode 100644
index 452c20b777..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * TP-LINK TL-WDR3500 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 Gui Iribarren <gui@altermundi.net>
- *
- * 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/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 WDR3500_GPIO_LED_USB 11
-#define WDR3500_GPIO_LED_WLAN2G 13
-#define WDR3500_GPIO_LED_SYSTEM 14
-#define WDR3500_GPIO_LED_QSS 15
-#define WDR3500_GPIO_LED_WAN 18
-#define WDR3500_GPIO_LED_LAN1 19
-#define WDR3500_GPIO_LED_LAN2 20
-#define WDR3500_GPIO_LED_LAN3 21
-#define WDR3500_GPIO_LED_LAN4 22
-
-#define WDR3500_GPIO_BTN_WPS 16
-#define WDR3500_GPIO_BTN_RFKILL 17
-
-#define WDR3500_GPIO_USB_POWER 12
-
-#define WDR3500_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WDR3500_KEYS_DEBOUNCE_INTERVAL (3 * WDR3500_KEYS_POLL_INTERVAL)
-
-#define WDR3500_MAC0_OFFSET 0
-#define WDR3500_MAC1_OFFSET 6
-#define WDR3500_WMAC_CALDATA_OFFSET 0x1000
-#define WDR3500_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *wdr3500_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data wdr3500_flash_data = {
- .part_probes = wdr3500_part_probes,
-};
-
-static struct gpio_led wdr3500_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:qss",
- .gpio = WDR3500_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:system",
- .gpio = WDR3500_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb",
- .gpio = WDR3500_GPIO_LED_USB,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan2g",
- .gpio = WDR3500_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wdr3500_gpio_keys[] __initdata = {
- {
- .desc = "QSS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WDR3500_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WDR3500_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = WDR3500_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WDR3500_GPIO_BTN_RFKILL,
- },
-};
-
-
-static void __init wdr3500_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&wdr3500_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wdr3500_leds_gpio),
- wdr3500_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WDR3500_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wdr3500_gpio_keys),
- wdr3500_gpio_keys);
-
- ath79_init_mac(tmpmac, mac, 0);
- ath79_register_wmac(art + WDR3500_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_init_mac(tmpmac, mac, 1);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- ap91_pci_init(art + WDR3500_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* LAN */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-
- ath79_register_eth(1);
-
- /* WAN */
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 2);
-
- /* GMAC0 is connected to the PHY4 of the internal switch */
- 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_register_eth(0);
-
- gpio_request_one(WDR3500_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_gpio_output_select(WDR3500_GPIO_LED_LAN1,
- AR934X_GPIO_OUT_LED_LINK3);
- ath79_gpio_output_select(WDR3500_GPIO_LED_LAN2,
- AR934X_GPIO_OUT_LED_LINK2);
- ath79_gpio_output_select(WDR3500_GPIO_LED_LAN3,
- AR934X_GPIO_OUT_LED_LINK1);
- ath79_gpio_output_select(WDR3500_GPIO_LED_LAN4,
- AR934X_GPIO_OUT_LED_LINK0);
- ath79_gpio_output_select(WDR3500_GPIO_LED_WAN,
- AR934X_GPIO_OUT_LED_LINK4);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WDR3500, "TL-WDR3500",
- "TP-LINK TL-WDR3500",
- wdr3500_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
deleted file mode 100644
index b9fea95bc2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * TP-LINK TL-WDR4300 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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 WDR4300_GPIO_LED_USB1 11
-#define WDR4300_GPIO_LED_USB2 12
-#define WDR4300_GPIO_LED_WLAN2G 13
-#define WDR4300_GPIO_LED_SYSTEM 14
-#define WDR4300_GPIO_LED_QSS 15
-
-#define WDR4300_GPIO_BTN_WPS 16
-#define WDR4300_GPIO_BTN_RFKILL 17
-
-#define WDR4300_GPIO_EXTERNAL_LNA0 18
-#define WDR4300_GPIO_EXTERNAL_LNA1 19
-
-#define WDR4300_GPIO_USB1_POWER 22
-#define WDR4300_GPIO_USB2_POWER 21
-
-#define WDR4300_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WDR4300_KEYS_DEBOUNCE_INTERVAL (3 * WDR4300_KEYS_POLL_INTERVAL)
-
-#define WDR4300_MAC0_OFFSET 0
-#define WDR4300_MAC1_OFFSET 6
-#define WDR4300_WMAC_CALDATA_OFFSET 0x1000
-#define WDR4300_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *wdr4300_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data wdr4300_flash_data = {
- .part_probes = wdr4300_part_probes,
-};
-
-static struct gpio_led wdr4300_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:qss",
- .gpio = WDR4300_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:system",
- .gpio = WDR4300_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb1",
- .gpio = WDR4300_GPIO_LED_USB1,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb2",
- .gpio = WDR4300_GPIO_LED_USB2,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wlan2g",
- .gpio = WDR4300_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wdr4300_gpio_keys[] __initdata = {
- {
- .desc = "QSS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WDR4300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WDR4300_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = WDR4300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WDR4300_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info wdr4300_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "tp-link:blue:wan"),
- AR8327_LED_INFO(PHY1_0, HW, "tp-link:blue:lan1"),
- AR8327_LED_INFO(PHY2_0, HW, "tp-link:blue:lan2"),
- AR8327_LED_INFO(PHY3_0, HW, "tp-link:blue:lan3"),
- AR8327_LED_INFO(PHY4_0, HW, "tp-link:blue:lan4"),
-};
-
-static struct ar8327_pad_cfg wdr4300_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg wdr4300_ar8327_led_cfg = {
- .led_ctrl0 = 0xc737c737,
- .led_ctrl1 = 0x00000000,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x0030c300,
- .open_drain = false,
-};
-
-static struct ar8327_platform_data wdr4300_ar8327_data = {
- .pad0_cfg = &wdr4300_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wdr4300_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(wdr4300_leds_ar8327),
- .leds = wdr4300_leds_ar8327,
-};
-
-static struct mdio_board_info wdr4300_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wdr4300_ar8327_data,
- },
-};
-
-static void __init wdr4300_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&wdr4300_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wdr4300_leds_gpio),
- wdr4300_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WDR4300_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wdr4300_gpio_keys),
- wdr4300_gpio_keys);
-
- ath79_wmac_set_ext_lna_gpio(0, WDR4300_GPIO_EXTERNAL_LNA0);
- ath79_wmac_set_ext_lna_gpio(1, WDR4300_GPIO_EXTERNAL_LNA1);
-
- ath79_init_mac(tmpmac, mac, -1);
- ath79_register_wmac(art + WDR4300_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_init_mac(tmpmac, mac, 0);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- ap91_pci_init(art + WDR4300_PCIE_CALDATA_OFFSET, tmpmac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(wdr4300_mdio0_info,
- ARRAY_SIZE(wdr4300_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- gpio_request_one(WDR4300_GPIO_USB1_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB1 power");
- gpio_request_one(WDR4300_GPIO_USB2_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB2 power");
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WDR4300, "TL-WDR4300",
- "TP-LINK TL-WDR3600/4300/4310",
- wdr4300_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr6500-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr6500-v2.c
deleted file mode 100644
index 1e72477646..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr6500-v2.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * TP-LINK TL-WDR6500 v2
- *
- * 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_V2_GPIO_LED_SYS 21
-#define TL_WDR6500_V2_GPIO_LED_WAN 18
-#define TL_WDR6500_V2_GPIO_LED_LAN1 17
-#define TL_WDR6500_V2_GPIO_LED_LAN2 16
-#define TL_WDR6500_V2_GPIO_LED_LAN3 15
-#define TL_WDR6500_V2_GPIO_LED_LAN4 14
-
-#define TL_WDR6500_V2_GPIO_BTN_RESET 1
-
-#define TL_WDR6500_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WDR6500_V2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WDR6500_V2_KEYS_POLL_INTERVAL)
-
-#define TL_WDR6500_V2_WMAC_CALDATA_OFFSET 0x1000
-#define TL_WDR6500_V2_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *tl_wdr6500_v2_part_probes[] = {
- "tp-link-64k",
- NULL,
-};
-
-static struct flash_platform_data tl_wdr6500_v2_flash_data = {
- .part_probes = tl_wdr6500_v2_part_probes,
-};
-
-static struct gpio_led tl_wdr6500_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WDR6500_V2_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WDR6500_V2_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WDR6500_V2_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WDR6500_V2_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WDR6500_V2_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:white:system",
- .gpio = TL_WDR6500_V2_GPIO_LED_SYS,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tl_wdr6500_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WDR6500_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WDR6500_V2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-
-static void __init tl_ap151_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f00fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
-
- ath79_register_m25p80(&tl_wdr6500_v2_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(ee + TL_WDR6500_V2_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_register_pci();
-
- ath79_register_usb();
-}
-
-static void __init tl_wdr6500_v2_setup(void)
-{
- tl_ap151_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wdr6500_v2_leds_gpio),
- tl_wdr6500_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WDR6500_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wdr6500_v2_gpio_keys),
- tl_wdr6500_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WDR6500_V2, "TL-WDR6500-v2", "TP-LINK TL-WDR6500 v2",
- tl_wdr6500_v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wpa8630.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wpa8630.c
deleted file mode 100644
index a95a11c122..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wpa8630.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * TP-Link TL-WPA8630 board support
- *
- * Copyright (C) 2016 Henryk Heisig <hyniu@o2.pl>
- *
- * 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/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-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-
-#define TL_WPA8630_KEYS_POLL_INTERVAL 20
-#define TL_WPA8630_KEYS_DEBOUNCE_INTERVAL (3 * TL_WPA8630_KEYS_POLL_INTERVAL)
-
-#define TL_WPA8630_GPIO_LED_POWER 1
-#define TL_WPA8630_GPIO_LED_LAN 5
-#define TL_WPA8630_GPIO_LED_WLAN 19
-#define TL_WPA8630_GPIO_LED_WLAN5 21
-
-#define TL_WPA8630_GPIO_BTN_RESET 2
-#define TL_WPA8630_GPIO_BTN_RFKILL 8
-#define TL_WPA8630_GPIO_BTN_LED 6
-#define TL_WPA8630_GPIO_BTN_PAIR 7
-
-#define TL_WPA8630_MAC0_OFFSET 0x0000
-#define TL_WPA8630_WMAC_CALDATA_OFFSET 0x1000
-#define TL_WPA8630_PCI_CALDATA_OFFSET 0x5000
-
-static const char *tl_wpa8630_part_probes[] = {
- "tp-link-64k",
- NULL,
-};
-
-static struct flash_platform_data tl_wpa8630_flash_data = {
- .part_probes = tl_wpa8630_part_probes,
- .type = "s25fl064k",
-};
-
-static struct gpio_led tl_wpa8630_leds_gpio[] __initdata = {
- {
- .name = "tl-wpa8630:green:power",
- .gpio = TL_WPA8630_GPIO_LED_POWER,
- .active_low = 1,
- },
- {
- .name = "tl-wpa8630:green:lan",
- .gpio = TL_WPA8630_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "tl-wpa8630:green:wlan",
- .gpio = TL_WPA8630_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tl-wpa8630:green:wlan5",
- .gpio = TL_WPA8630_GPIO_LED_WLAN5,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wpa8630_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WPA8630_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WPA8630_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WPA8630_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WPA8630_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
- {
- .desc = "LED",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = TL_WPA8630_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WPA8630_GPIO_BTN_LED,
- .active_low = 1,
- },
- {
- .desc = "Pair",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = TL_WPA8630_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WPA8630_GPIO_BTN_PAIR,
- .active_low = 1,
- },
-};
-
-/* GMAC0 of the QCA8337 switch is connected to the QCA9563 SoC via SGMII */
-static struct ar8327_pad_cfg tl_wpa8630_qca8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data tl_wpa8630_qca8337_data = {
- .pad0_cfg = &tl_wpa8630_qca8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info tl_wpa8630_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &tl_wpa8630_qca8337_data,
- },
-};
-
-static void __init tl_wpa8630_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f00fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&tl_wpa8630_flash_data);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + TL_WPA8630_MAC0_OFFSET, 0);
-
- platform_device_register(&ath79_mdio0_device);
-
- mdiobus_register_board_info(tl_wpa8630_mdio0_info,
- ARRAY_SIZE(tl_wpa8630_mdio0_info));
-
- /* GMAC0 is connected to an AR8337 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = ~BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_eth(0);
-
- ath79_register_wmac(art + TL_WPA8630_WMAC_CALDATA_OFFSET, mac);
-
- ap91_pci_init(art + TL_WPA8630_PCI_CALDATA_OFFSET, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wpa8630_leds_gpio),
- tl_wpa8630_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WPA8630_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wpa8630_gpio_keys),
- tl_wpa8630_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WPA8630, "TL-WPA8630", "TP-LINK TL-WPA8630",
- tl_wpa8630_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1041n-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1041n-v2.c
deleted file mode 100644
index c98dd4ff00..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1041n-v2.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * TP-LINK TL-WR1041 v2 board support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2011-2012 Anan Huang <axishero@foxmail.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/phy.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-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR1041NV2_GPIO_BTN_RESET 14
-#define TL_WR1041NV2_GPIO_LED_WPS 13
-#define TL_WR1041NV2_GPIO_LED_WLAN 11
-
-#define TL_WR1041NV2_GPIO_LED_SYSTEM 12
-
-#define TL_WR1041NV2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR1041NV2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1041NV2_KEYS_POLL_INTERVAL)
-
-#define TL_WR1041NV2_PCIE_CALDATA_OFFSET 0x5000
-
-static const char *tl_wr1041nv2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr1041nv2_flash_data = {
- .part_probes = tl_wr1041nv2_part_probes,
-};
-
-static struct gpio_led tl_wr1041nv2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WR1041NV2_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wps",
- .gpio = TL_WR1041NV2_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR1041NV2_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wr1041nv2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR1041NV2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1041NV2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static const struct ar8327_led_info tl_wr1041n_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "tp-link:green:wan"),
- AR8327_LED_INFO(PHY1_0, HW, "tp-link:green:lan1"),
- AR8327_LED_INFO(PHY2_0, HW, "tp-link:green:lan2"),
- AR8327_LED_INFO(PHY3_0, HW, "tp-link:green:lan3"),
- AR8327_LED_INFO(PHY4_0, HW, "tp-link:green:lan4"),
-};
-
-static struct ar8327_led_cfg wr1041n_v2_ar8327_led_cfg = {
- .led_ctrl0 = 0xcf35cf35, /* LED0: blink at 10/100/1000M */
- .led_ctrl1 = 0xcf35cf35, /* LED1: blink at 10/100/1000M: anyway, no LED1 on tl-wr1041n */
- .led_ctrl2 = 0xcf35cf35, /* LED2: blink at 10/100/1000M: anyway, no LED2 on tl-wr1041n */
- .led_ctrl3 = 0x03ffff00, /* Pattern enabled for LED 0-2 of port 1-3 */
- .open_drain = true,
-};
-
-static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data db120_ar8327_data = {
- .pad0_cfg = &db120_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wr1041n_v2_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(tl_wr1041n_leds_ar8327),
- .leds = tl_wr1041n_leds_ar8327
-};
-
-static struct mdio_board_info db120_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &db120_ar8327_data,
- },
-};
-
-static void __init tl_wr1041nv2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wr1041nv2_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1041nv2_leds_gpio),
- tl_wr1041nv2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_WR1041NV2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr1041nv2_gpio_keys),
- tl_wr1041nv2_gpio_keys);
- ath79_register_wmac(ee, mac);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-
- mdiobus_register_board_info(db120_mdio0_info,
- ARRAY_SIZE(db120_mdio0_info));
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR1041N_V2, "TL-WR1041N-v2",
- "TP-LINK TL-WR1041N v2", tl_wr1041nv2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v2.c
deleted file mode 100644
index 90b649957d..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v2.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * TP-LINK TL-WR1043ND v2 board support
- *
- * Copyright (c) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- *
- * 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/phy.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR1043_V2_GPIO_LED_WLAN 12
-#define TL_WR1043_V2_GPIO_LED_USB 15
-#define TL_WR1043_V2_GPIO_LED_WPS 18
-#define TL_WR1043_V2_GPIO_LED_SYSTEM 19
-
-#define TL_WR1043_V2_GPIO_BTN_RESET 16
-#define TL_WR1043_V2_GPIO_BTN_RFKILL 17
-
-#define TL_WR1043_V2_GPIO_USB_POWER 21
-
-#define TL_WR1043_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR1043_V2_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1043_V2_KEYS_POLL_INTERVAL)
-
-#define TL_WR1043_V2_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *wr1043nd_v2_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data wr1043nd_v2_flash_data = {
- .part_probes = wr1043nd_v2_part_probes,
-};
-
-static struct gpio_led tl_wr1043_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:wps",
- .gpio = TL_WR1043_V2_GPIO_LED_WPS,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:system",
- .gpio = TL_WR1043_V2_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR1043_V2_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:usb",
- .gpio = TL_WR1043_V2_GPIO_LED_USB,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr1043_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR1043_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043_V2_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR1043_V2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043_V2_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info tl_wr1043_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "tp-link:green:lan4"),
- AR8327_LED_INFO(PHY1_0, HW, "tp-link:green:lan3"),
- AR8327_LED_INFO(PHY2_0, HW, "tp-link:green:lan2"),
- AR8327_LED_INFO(PHY3_0, HW, "tp-link:green:lan1"),
- AR8327_LED_INFO(PHY4_0, HW, "tp-link:green:wan"),
-};
-
-/* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg wr1043nd_v2_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg wr1043nd_v2_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg wr1043nd_v2_ar8327_led_cfg = {
- .led_ctrl0 = 0xcc35cc35,
- .led_ctrl1 = 0xca35ca35,
- .led_ctrl2 = 0xc935c935,
- .led_ctrl3 = 0x03ffff00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data wr1043nd_v2_ar8327_data = {
- .pad0_cfg = &wr1043nd_v2_ar8327_pad0_cfg,
- .pad6_cfg = &wr1043nd_v2_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wr1043nd_v2_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(tl_wr1043_leds_ar8327),
- .leds = tl_wr1043_leds_ar8327,
-};
-
-static struct mdio_board_info wr1043nd_v2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wr1043nd_v2_ar8327_data,
- },
-};
-
-static void __init tl_wr1043nd_v2_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&wr1043nd_v2_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043_v2_leds_gpio),
- tl_wr1043_v2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_WR1043_V2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr1043_v2_gpio_keys),
- tl_wr1043_v2_gpio_keys);
-
- ath79_register_wmac(art + TL_WR1043_V2_WMAC_CALDATA_OFFSET, mac);
-
- mdiobus_register_board_info(wr1043nd_v2_mdio0_info,
- ARRAY_SIZE(wr1043nd_v2_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- gpio_request_one(TL_WR1043_V2_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR1043ND_V2, "TL-WR1043ND-v2",
- "TP-LINK TL-WR1043ND v2", tl_wr1043nd_v2_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v4.c
deleted file mode 100644
index 04ea49c753..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v4.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * TP-LINK WR1043 V4 support
- *
- * Copyright (C) 2015-2016 P. Wassi <p.wassi at gmx.at>
- * 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
- *
- * 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/init.h>
-#include <linux/pci.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/ar8216_platform.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-wmac.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "nvram.h"
-
-#define TL_WR1043_V4_GPIO_BTN_RESET 2
-#define TL_WR1043_V4_GPIO_BTN_RFKILL 5
-
-#define TL_WR1043_V4_GPIO_LED_WLAN 19
-#define TL_WR1043_V4_GPIO_LED_USB 7
-#define TL_WR1043_V4_GPIO_LED_WPS 1
-#define TL_WR1043_V4_GPIO_LED_SYSTEM 6
-
-#define TL_WR1043_V4_GPIO_USB_POWER 8
-
-#define TL_WR1043_V4_GPIO_LED_INET 15
-#define TL_WR1043_V4_GPIO_LED_WAN 16
-#define TL_WR1043_V4_GPIO_LED_LAN1 9
-#define TL_WR1043_V4_GPIO_LED_LAN2 14
-#define TL_WR1043_V4_GPIO_LED_LAN3 21
-#define TL_WR1043_V4_GPIO_LED_LAN4 20
-
-#define TL_WR1043_V4_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR1043_V4_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1043_V4_KEYS_POLL_INTERVAL)
-
-#define TL_WR1043_V4_MAC_LOCATION 0x1ff50008
-
-#define TL_WR1043_V4_EEPROM_ADDR 0x1fff0000
-#define TL_WR1043_V4_WMAC_CALDATA_OFFSET 0x1000
-
-#define TL_WR1043_V5_MAC_LOCATION 0x1ff00008
-
-static struct gpio_led tl_wr1043nd_v4_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:usb",
- .gpio = TL_WR1043_V4_GPIO_LED_USB,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wan",
- .gpio = TL_WR1043_V4_GPIO_LED_INET,
- .active_low = 1,
- },
- {
- .name = "tp-link:orange: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,
- },
-};
-
-static struct gpio_keys_button tl_wr1043nd_v4_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR1043_V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043_V4_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR1043_V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043_V4_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg tl_wr1043nd_v4_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data tl_wr1043nd_v4_ar8327_data = {
- .pad0_cfg = &tl_wr1043nd_v4_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info tl_wr1043nd_v4_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &tl_wr1043nd_v4_ar8327_data,
- },
-};
-
-static void __init tl_wr1043nd_v4_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(TL_WR1043_V4_MAC_LOCATION);
- u8 *eeprom = (u8 *) KSEG1ADDR(TL_WR1043_V4_EEPROM_ADDR);
-
- ath79_register_m25p80(NULL);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(0);
-
- mdiobus_register_board_info(tl_wr1043nd_v4_mdio0_info,
- ARRAY_SIZE(tl_wr1043nd_v4_mdio0_info));
-
- ath79_register_usb();
- ath79_register_mdio(0, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(eeprom + TL_WR1043_V4_WMAC_CALDATA_OFFSET, mac);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_v4_leds_gpio),
- tl_wr1043nd_v4_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);
-
- gpio_request_one(TL_WR1043_V4_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-}
-
-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_INET,
- .active_low = 1,
- },
- {
- .name = "tp-link:orange: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_WR1043_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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd.c
deleted file mode 100644
index 4e4b85d736..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * TP-LINK TL-WR1043N/ND board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/rtl8366.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR1043ND_GPIO_LED_USB 1
-#define TL_WR1043ND_GPIO_LED_SYSTEM 2
-#define TL_WR1043ND_GPIO_LED_QSS 5
-#define TL_WR1043ND_GPIO_LED_WLAN 9
-
-#define TL_WR1043ND_GPIO_BTN_RESET 3
-#define TL_WR1043ND_GPIO_BTN_QSS 7
-
-#define TL_WR1043ND_GPIO_RTL8366_SDA 18
-#define TL_WR1043ND_GPIO_RTL8366_SCK 19
-
-#define TL_WR1043ND_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1043ND_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr1043nd_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr1043nd_flash_data = {
- .part_probes = tl_wr1043nd_part_probes,
-};
-
-static struct gpio_led tl_wr1043nd_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:usb",
- .gpio = TL_WR1043ND_GPIO_LED_USB,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR1043ND_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR1043ND_GPIO_LED_QSS,
- .active_low = 0,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR1043ND_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wr1043nd_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043ND_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR1043ND_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static void tl_wr1043nd_rtl8366rb_hw_reset(struct rtl8366_smi *smi, bool active)
-{
- if (active)
- ath79_device_reset_set(AR71XX_RESET_GE0_PHY);
- else
- ath79_device_reset_clear(AR71XX_RESET_GE0_PHY);
-}
-
-static struct rtl8366_platform_data tl_wr1043nd_rtl8366rb_data = {
- .gpio_sda = TL_WR1043ND_GPIO_RTL8366_SDA,
- .gpio_sck = TL_WR1043ND_GPIO_RTL8366_SCK,
- .hw_reset = tl_wr1043nd_rtl8366rb_hw_reset,
-};
-
-static struct platform_device tl_wr1043nd_rtl8366rb_device = {
- .name = RTL8366RB_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &tl_wr1043nd_rtl8366rb_data,
- }
-};
-
-static void __init tl_wr1043nd_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- tl_wr1043nd_rtl8366rb_hw_reset(NULL, true);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.mii_bus_dev = &tl_wr1043nd_rtl8366rb_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_pll_data.pll_1000 = 0x1a000000;
-
- ath79_register_eth(0);
-
- ath79_register_usb();
-
- ath79_register_m25p80(&tl_wr1043nd_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_leds_gpio),
- tl_wr1043nd_leds_gpio);
-
- platform_device_register(&tl_wr1043nd_rtl8366rb_device);
-
- ath79_register_gpio_keys_polled(-1, TL_WR1043ND_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr1043nd_gpio_keys),
- tl_wr1043nd_gpio_keys);
-
- ath79_register_wmac(eeprom, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR1043ND, "TL-WR1043ND", "TP-LINK TL-WR1043ND",
- tl_wr1043nd_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c
deleted file mode 100644
index 141914aa29..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * TP-LINK TL-WR2543N/ND board support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/rtl8367.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define TL_WR2543N_GPIO_LED_WPS 0
-#define TL_WR2543N_GPIO_LED_USB 8
-
-/* The WLAN LEDs use GPIOs on the discrete AR9380 wmac */
-#define TL_WR2543N_GPIO_WMAC_LED_WLAN2G 0
-#define TL_WR2543N_GPIO_WMAC_LED_WLAN5G 1
-
-#define TL_WR2543N_GPIO_BTN_RESET 11
-#define TL_WR2543N_GPIO_BTN_WPS 12
-
-#define TL_WR2543N_GPIO_RTL8367_SDA 1
-#define TL_WR2543N_GPIO_RTL8367_SCK 6
-
-#define TL_WR2543N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR2543N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR2543N_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr2543n_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr2543n_flash_data = {
- .part_probes = tl_wr2543n_part_probes,
-};
-
-static struct gpio_led tl_wr2543n_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:usb",
- .gpio = TL_WR2543N_GPIO_LED_USB,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wps",
- .gpio = TL_WR2543N_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_led tl_wr2543n_wmac_leds_gpio[] = {
- {
- .name = "tp-link:green:wlan2g",
- .gpio = TL_WR2543N_GPIO_WMAC_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "tp-link:green:wlan5g",
- .gpio = TL_WR2543N_GPIO_WMAC_LED_WLAN5G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr2543n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR2543N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR2543N_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR2543N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR2543N_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct rtl8367_extif_config tl_wr2543n_rtl8367_extif0_cfg = {
- .mode = RTL8367_EXTIF_MODE_RGMII,
- .txdelay = 1,
- .rxdelay = 0,
- .ability = {
- .force_mode = 1,
- .txpause = 1,
- .rxpause = 1,
- .link = 1,
- .duplex = 1,
- .speed = RTL8367_PORT_SPEED_1000,
- },
-};
-
-static struct rtl8367_platform_data tl_wr2543n_rtl8367_data = {
- .gpio_sda = TL_WR2543N_GPIO_RTL8367_SDA,
- .gpio_sck = TL_WR2543N_GPIO_RTL8367_SCK,
- .extif0_cfg = &tl_wr2543n_rtl8367_extif0_cfg,
-};
-
-static struct platform_device tl_wr2543n_rtl8367_device = {
- .name = RTL8367_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &tl_wr2543n_rtl8367_data,
- }
-};
-
-static void __init tl_wr2543n_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wr2543n_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr2543n_leds_gpio),
- tl_wr2543n_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_WR2543N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr2543n_gpio_keys),
- tl_wr2543n_gpio_keys);
- ath79_register_usb();
-
- ap9x_pci_setup_wmac_leds(0, tl_wr2543n_wmac_leds_gpio,
- ARRAY_SIZE(tl_wr2543n_wmac_leds_gpio));
- ap91_pci_init(eeprom, mac);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_eth0_data.mii_bus_dev = &tl_wr2543n_rtl8367_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_pll_data.pll_1000 = 0x1a000000;
-
- ath79_register_eth(0);
-
- platform_device_register(&tl_wr2543n_rtl8367_device);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR2543N, "TL-WR2543N", "TP-LINK TL-WR2543N/ND",
- tl_wr2543n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c
deleted file mode 100644
index 1d8d01cc63..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * TP-LINK TL-WR703N/TL-MR10U board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define TL_WR703N_GPIO_LED_SYSTEM 27
-#define TL_WR703N_GPIO_BTN_RESET 11
-
-#define TL_WR703N_GPIO_USB_POWER 8
-
-#define TL_MR10U_GPIO_USB_POWER 18
-
-#define TL_WR703N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR703N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR703N_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr703n_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr703n_flash_data = {
- .part_probes = tl_wr703n_part_probes,
-};
-
-static struct gpio_led tl_wr703n_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:system",
- .gpio = TL_WR703N_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr703n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR703N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR703N_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init common_setup(unsigned usb_power_gpio, bool sec_ethernet)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&tl_wr703n_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr703n_leds_gpio),
- tl_wr703n_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_WR703N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr703n_gpio_keys),
- tl_wr703n_gpio_keys);
-
- gpio_request_one(usb_power_gpio,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- if (sec_ethernet)
- {
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
- ath79_register_eth(1);
- }
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_mr10u_setup(void)
-{
- common_setup(TL_MR10U_GPIO_USB_POWER, false);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR10U, "TL-MR10U", "TP-LINK TL-MR10U",
- tl_mr10u_setup);
-
-static void __init tl_wr703n_setup(void)
-{
- common_setup(TL_WR703N_GPIO_USB_POWER, false);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR703N, "TL-WR703N", "TP-LINK TL-WR703N v1",
- tl_wr703n_setup);
-
-static void __init tl_wr710n_setup(void)
-{
- common_setup(TL_WR703N_GPIO_USB_POWER, true);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR710N, "TL-WR710N", "TP-LINK TL-WR710N v1",
- tl_wr710n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr720n-v3.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr720n-v3.c
deleted file mode 100644
index 2bb3b44a71..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr720n-v3.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * TP-LINK TL-WR720N board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2013 yousong <yszhou4tech@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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define TL_WR720N_GPIO_LED_SYSTEM 27
-#define TL_WR720N_GPIO_BTN_RESET 11
-#define TL_WR720N_GPIO_BTN_SW1 18
-#define TL_WR720N_GPIO_BTN_SW2 20
-
-#define TL_WR720N_GPIO_USB_POWER 8
-
-#define TL_WR720N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR720N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR720N_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr720n_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr720n_flash_data = {
- .part_probes = tl_wr720n_part_probes,
-};
-
-static struct gpio_led tl_wr720n_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:system",
- .gpio = TL_WR720N_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr720n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR720N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR720N_GPIO_BTN_RESET,
- .active_low = 0,
- }, {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = TL_WR720N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR720N_GPIO_BTN_SW1,
- .active_low = 0,
- }, {
- .desc = "sw2",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = TL_WR720N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR720N_GPIO_BTN_SW2,
- .active_low = 0,
- }
-};
-
-static void __init tl_wr720n_v3_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&tl_wr720n_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr720n_leds_gpio),
- tl_wr720n_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TL_WR720N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr720n_gpio_keys),
- tl_wr720n_gpio_keys);
-
- gpio_request_one(TL_WR720N_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 2);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR720N_V3, "TL-WR720N-v3", "TP-LINK TL-WR720N v3/v4",
- tl_wr720n_v3_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c
deleted file mode 100644
index 851b7624ff..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * TP-LINK TL-WR741ND v4/TL-MR3220 v2 board support
- *
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR741NDV4_GPIO_BTN_RESET 11
-#define TL_WR741NDV4_GPIO_BTN_WPS 26
-
-#define TL_WR741NDV4_GPIO_LED_WLAN 0
-#define TL_WR741NDV4_GPIO_LED_QSS 1
-#define TL_WR741NDV4_GPIO_LED_WAN 13
-#define TL_WR741NDV4_GPIO_LED_LAN1 14
-#define TL_WR741NDV4_GPIO_LED_LAN2 15
-#define TL_WR741NDV4_GPIO_LED_LAN3 16
-#define TL_WR741NDV4_GPIO_LED_LAN4 17
-#define TL_WR741NDV4_GPIO_LED_SYSTEM 27
-
-#define TL_MR3220V2_GPIO_BTN_WPS 11
-#define TL_MR3220V2_GPIO_BTN_WIFI 24
-
-#define TL_MR3220V2_GPIO_LED_3G 26
-#define TL_MR3220V2_GPIO_USB_POWER 8
-
-#define TL_WR741NDV4_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR741NDV4_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr741ndv4_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr741ndv4_flash_data = {
- .part_probes = tl_wr741ndv4_part_probes,
-};
-
-static struct gpio_led tl_wr741ndv4_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR741NDV4_GPIO_LED_LAN1,
- .active_low = 0,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR741NDV4_GPIO_LED_LAN2,
- .active_low = 0,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR741NDV4_GPIO_LED_LAN3,
- .active_low = 0,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR741NDV4_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR741NDV4_GPIO_LED_QSS,
- .active_low = 0,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR741NDV4_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR741NDV4_GPIO_LED_WAN,
- .active_low = 0,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR741NDV4_GPIO_LED_WLAN,
- .active_low = 0,
- }, {
- /* the 3G LED is only present on the MR3220 v2 */
- .name = "tp-link:green:3g",
- .gpio = TL_MR3220V2_GPIO_LED_3G,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tl_wr741ndv4_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR741NDV4_GPIO_BTN_RESET,
- .active_low = 0,
- }, {
- .desc = "WPS",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR741NDV4_GPIO_BTN_WPS,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button tl_mr3220v2_gpio_keys[] __initdata = {
- {
- .desc = "WPS",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3220V2_GPIO_BTN_WPS,
- .active_low = 0,
- }, {
- .desc = "WIFI button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_MR3220V2_GPIO_BTN_WIFI,
- .active_low = 0,
- }
-};
-
-static void __init tl_ap121_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_setup_ar933x_phy4_switch(true, true);
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_m25p80(&tl_wr741ndv4_flash_data);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_wr741ndv4_setup(void)
-{
- tl_ap121_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio) - 1,
- tl_wr741ndv4_leds_gpio);
- ath79_register_gpio_keys_polled(1, TL_WR741NDV4_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr741ndv4_gpio_keys),
- tl_wr741ndv4_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR741ND_V4, "TL-WR741ND-v4",
- "TP-LINK TL-WR741ND v4", tl_wr741ndv4_setup);
-
-static void __init tl_mr3220v2_setup(void)
-{
- tl_ap121_setup();
-
- gpio_request_one(TL_MR3220V2_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio),
- tl_wr741ndv4_leds_gpio);
- ath79_register_gpio_keys_polled(1, TL_WR741NDV4_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr3220v2_gpio_keys),
- tl_mr3220v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3220_V2, "TL-MR3220-v2",
- "TP-LINK TL-MR3220 v2", tl_mr3220v2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd.c
deleted file mode 100644
index 5931654bbd..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * TP-LINK TL-WR741ND board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define TL_WR741ND_GPIO_LED_QSS 0
-#define TL_WR741ND_GPIO_LED_SYSTEM 1
-#define TL_WR741ND_GPIO_LED_LAN1 13
-#define TL_WR741ND_GPIO_LED_LAN2 14
-#define TL_WR741ND_GPIO_LED_LAN3 15
-#define TL_WR741ND_GPIO_LED_LAN4 16
-#define TL_WR741ND_GPIO_LED_WAN 17
-
-#define TL_WR741ND_GPIO_BTN_RESET 11
-#define TL_WR741ND_GPIO_BTN_QSS 12
-
-#define TL_WR741ND_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR741ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR741ND_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr741nd_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr741nd_flash_data = {
- .part_probes = tl_wr741nd_part_probes,
-};
-
-static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR741ND_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR741ND_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR741ND_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR741ND_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR741ND_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR741ND_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR741ND_GPIO_LED_WAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr741nd_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR741ND_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR741ND_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static void __init tl_wr741nd_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wr741nd_flash_data);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),
- tl_wr741nd_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR741ND_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr741nd_gpio_keys),
- tl_wr741nd_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
-
- /* WAN port */
- ath79_register_eth(0);
-
- ap9x_pci_setup_wmac_led_pin(0, 1);
- ap91_pci_init(ee, mac);
-}
-MIPS_MACHINE(ATH79_MACH_TL_WR741ND, "TL-WR741ND", "TP-LINK TL-WR741ND",
- tl_wr741nd_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c
deleted file mode 100644
index 514529ca18..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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
- * 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_GPIO_LED_SYSTEM 13
-#define TL_WR802N_GPIO_BTN_RESET 12
-
-#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_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-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_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-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_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR802N_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_m25p80(&tl_wr802n_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);
-
- 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);
-}
-
-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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr810n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr810n.c
deleted file mode 100644
index 588bb9d861..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr810n.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * TP-LINK TL-WR810N board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2016 Jens Steinhauser <jens.steinhauser@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/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR810N_GPIO_SWITCH_B1 0
-#define TL_WR810N_GPIO_SWITCH_B0 1
-#define TL_WR810N_GPIO_USB_POWER 11
-#define TL_WR810N_GPIO_BTN_RESET 12
-#define TL_WR810N_GPIO_LED_SYSTEM 13
-
-#define TL_WR810N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR810N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR810N_KEYS_POLL_INTERVAL)
-
-#define TL_WR810N_WMAC_CALDATA_OFFSET 0x1000
-
-static const char *tl_wr810n_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr810n_flash_data = {
- .part_probes = tl_wr810n_part_probes,
-};
-
-static struct gpio_led tl_wr810n_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:system",
- .gpio = TL_WR810N_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr810n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR810N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR810N_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "switch_b0",
- .type = EV_SW,
- .code = BTN_0,
- .debounce_interval = TL_WR810N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR810N_GPIO_SWITCH_B0,
- .active_low = 0,
- },
- {
- .desc = "switch_b1",
- .type = EV_SW,
- .code = BTN_1,
- .debounce_interval = TL_WR810N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR810N_GPIO_SWITCH_B1,
- .active_low = 0,
- },
-};
-
-static void __init tl_ap143_setup(int lan_mac_offset)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&tl_wr810n_flash_data);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* WAN */
- 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_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, 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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c
deleted file mode 100644
index 73cfdd9cc6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR841NV8_GPIO_LED_WLAN 13
-#define TL_WR841NV8_GPIO_LED_QSS 15
-#define TL_WR841NV8_GPIO_LED_WAN 18
-#define TL_WR841NV8_GPIO_LED_LAN1 19
-#define TL_WR841NV8_GPIO_LED_LAN2 20
-#define TL_WR841NV8_GPIO_LED_LAN3 21
-#define TL_WR841NV8_GPIO_LED_LAN4 12
-#define TL_WR841NV8_GPIO_LED_SYSTEM 14
-
-#define TL_WR841NV8_GPIO_BTN_RESET 17
-#define TL_WR841NV8_GPIO_SW_RFKILL 16 /* WPS for MR3420 v2 */
-
-#define TL_MR3420V2_GPIO_LED_3G 11
-#define TL_MR3420V2_GPIO_USB_POWER 4
-
-#define TL_WR941NDV5_GPIO_LED_WLAN 13
-#define TL_WR941NDV5_GPIO_LED_QSS 15
-#define TL_WR941NDV5_GPIO_LED_WAN 18
-#define TL_WR941NDV5_GPIO_LED_LAN1 19
-#define TL_WR941NDV5_GPIO_LED_LAN2 20
-#define TL_WR941NDV5_GPIO_LED_LAN3 2
-#define TL_WR941NDV5_GPIO_LED_LAN4 3
-#define TL_WR941NDV5_GPIO_LED_SYSTEM 14
-
-#define TL_WR841NV8_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR841NV8_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr841n_v8_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr841n_v8_flash_data = {
- .part_probes = tl_wr841n_v8_part_probes,
-};
-
-static struct gpio_led tl_wr841n_v8_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR841NV8_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR841NV8_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR841NV8_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR841NV8_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR841NV8_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR841NV8_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR841NV8_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR841NV8_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- /* the 3G LED is only present on the MR3420 v2 */
- .name = "tp-link:green:3g",
- .gpio = TL_MR3420V2_GPIO_LED_3G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr841n_v8_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV8_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL switch",
- .type = EV_SW,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV8_GPIO_SW_RFKILL,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button tl_mr3420v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV8_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WPS",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV8_GPIO_SW_RFKILL,
- .active_low = 0,
- }
-};
-
-static struct gpio_led tl_wr941nd_v5_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR941NDV5_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR941NDV5_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR941NDV5_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR941NDV5_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR941NDV5_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR941NDV5_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR941NDV5_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR941NDV5_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static void __init tl_ap123_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* Disable JTAG, enabling GPIOs 0-3 */
- /* Configure OBS4 line, for GPIO 4*/
- ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
- AR934X_GPIO_FUNC_CLK_OBS4_EN);
-
- /* config gpio4 as normal gpio function */
- ath79_gpio_output_select(TL_MR3420V2_GPIO_USB_POWER,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_m25p80(&tl_wr841n_v8_flash_data);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = BIT(0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the internal switch */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-}
-
-static void __init tl_wr841n_v8_setup(void)
-{
- tl_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio) - 1,
- tl_wr841n_v8_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v8_gpio_keys),
- tl_wr841n_v8_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR841N_V8, "TL-WR841N-v8", "TP-LINK TL-WR841N/ND v8",
- tl_wr841n_v8_setup);
-
-
-static void __init tl_wr842n_v2_setup(void)
-{
- tl_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio),
- tl_wr841n_v8_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v8_gpio_keys),
- tl_wr841n_v8_gpio_keys);
-
- gpio_request_one(TL_MR3420V2_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR842N_V2, "TL-WR842N-v2", "TP-LINK TL-WR842N/ND v2",
- tl_wr842n_v2_setup);
-
-static void __init tl_mr3420v2_setup(void)
-{
- tl_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio),
- tl_wr841n_v8_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_mr3420v2_gpio_keys),
- tl_mr3420v2_gpio_keys);
-
- /* enable power for the USB port */
- gpio_request_one(TL_MR3420V2_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_MR3420_V2, "TL-MR3420-v2", "TP-LINK TL-MR3420 v2",
- tl_mr3420v2_setup);
-
-
-static void __init tl_wr941nd_v5_setup(void)
-{
- tl_ap123_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_v5_leds_gpio),
- tl_wr941nd_v5_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v8_gpio_keys),
- tl_wr841n_v8_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V5, "TL-WR941ND-v5", "TP-LINK TL-WR941N/ND v5",
- tl_wr941nd_v5_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
deleted file mode 100644
index 304d8ff6e9..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
+++ /dev/null
@@ -1,457 +0,0 @@
-/*
- * TP-LINK TL-WR840N v2/v3 / TL-WR841N/ND v9/v11 / TL-WR842N/ND v3
- *
- * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
- * Copyright (C) 2016 Cezary Jackiewicz <cezary@eko.one.pl>
- * Copyright (C) 2016 Stijn Segers <francesco.borromini@gmail.com>
- * Copyright (C) 2017 Vaclav Svoboda <svoboda@neng.cz>
- * Copyright (C) 2017 Andrey Polischuk <androld.b@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define TL_WR840NV2_GPIO_LED_SYSTEM 15
-#define TL_WR840NV2_GPIO_LED_WLAN 13
-#define TL_WR840NV2_GPIO_LED_WPS 3
-#define TL_WR840NV2_GPIO_LED_WAN 4
-#define TL_WR840NV2_GPIO_LED_LAN 16
-
-#define TL_WR840NV2_GPIO_BTN_RESET 12
-
-#define TL_WR841NV9_GPIO_LED_WLAN 13
-#define TL_WR841NV9_GPIO_LED_QSS 3
-#define TL_WR841NV9_GPIO_LED_WAN 4
-#define TL_WR841NV9_GPIO_LED_LAN1 16
-#define TL_WR841NV9_GPIO_LED_LAN2 15
-#define TL_WR841NV9_GPIO_LED_LAN3 14
-#define TL_WR841NV9_GPIO_LED_LAN4 11
-
-#define TL_WR841NV9_GPIO_BTN_RESET 12
-#define TL_WR841NV9_GPIO_BTN_WIFI 17
-
-#define TL_WR841NV11_GPIO_LED_SYSTEM 1
-#define TL_WR841NV11_GPIO_LED_QSS 3
-#define TL_WR841NV11_GPIO_LED_WAN 4
-#define TL_WR841NV11_GPIO_LED_WAN_STATUS 2
-#define TL_WR841NV11_GPIO_LED_WLAN 13
-#define TL_WR841NV11_GPIO_LED_LAN1 16
-#define TL_WR841NV11_GPIO_LED_LAN2 15
-#define TL_WR841NV11_GPIO_LED_LAN3 14
-#define TL_WR841NV11_GPIO_LED_LAN4 11
-
-#define TL_WR841NV11_GPIO_BTN_RESET 12
-#define TL_WR841NV11_GPIO_BTN_WIFI 17
-
-#define TL_WR842NV3_GPIO_LED_SYSTEM 2
-#define TL_WR842NV3_GPIO_LED_WLAN 3
-#define TL_WR842NV3_GPIO_LED_WAN_RED 4
-#define TL_WR842NV3_GPIO_LED_WAN_GREEN 11
-#define TL_WR842NV3_GPIO_LED_LAN1 12
-#define TL_WR842NV3_GPIO_LED_LAN2 13
-#define TL_WR842NV3_GPIO_LED_LAN3 14
-#define TL_WR842NV3_GPIO_LED_LAN4 15
-#define TL_WR842NV3_GPIO_LED_3G 16
-#define TL_WR842NV3_GPIO_LED_WPS 17
-
-#define TL_WR842NV3_GPIO_BTN_RESET 1
-#define TL_WR842NV3_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
-#define TL_WR740NV6_GPIO_LED_WAN_GREEN 4
-#define TL_WR740NV6_GPIO_LED_LAN1 16
-#define TL_WR740NV6_GPIO_LED_LAN2 15
-#define TL_WR740NV6_GPIO_LED_LAN3 14
-#define TL_WR740NV6_GPIO_LED_LAN4 11
-#define TL_WR740NV6_GPIO_LED_WLAN 13
-
-#define TL_WR740NV6_GPIO_BTN_RESET 12
-#define TL_WR740NV6_GPIO_BTN_WIFI 17
-
-#define TL_WR841NV9_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR841NV9_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr841n_v9_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr841n_v9_flash_data = {
- .part_probes = tl_wr841n_v9_part_probes,
-};
-
-static struct gpio_led tl_wr840n_v2_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WR840NV2_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan",
- .gpio = TL_WR840NV2_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wps",
- .gpio = TL_WR840NV2_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR840NV2_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR840NV2_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr840n_v2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR840NV2_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct gpio_led tl_wr841n_v9_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR841NV9_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR841NV9_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR841NV9_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR841NV9_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR841NV9_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR841NV9_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR841NV9_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr841n_v9_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV9_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WIFI button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841NV9_GPIO_BTN_WIFI,
- .active_low = 1,
- }
-};
-
-static struct gpio_led tl_wr841n_v11_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR841NV9_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR841NV9_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR841NV9_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR841NV9_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR841NV9_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR841NV11_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR841NV9_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan_status",
- .gpio = TL_WR841NV11_GPIO_LED_WAN_STATUS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR841NV9_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_led tl_wr842n_v3_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR842NV3_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR842NV3_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR842NV3_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR842NV3_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR842NV3_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "tp-link:red:wan",
- .gpio = TL_WR842NV3_GPIO_LED_WAN_RED,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR842NV3_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR842NV3_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:3g",
- .gpio = TL_WR842NV3_GPIO_LED_3G,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wps",
- .gpio = TL_WR842NV3_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr842n_v3_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR842NV3_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WIFI button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR842NV3_GPIO_BTN_WIFI,
- .active_low = 1,
- }
-};
-
-static struct gpio_led tl_wr740n_v6_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:lan1",
- .gpio = TL_WR740NV6_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan2",
- .gpio = TL_WR740NV6_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan3",
- .gpio = TL_WR740NV6_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tp-link:green:lan4",
- .gpio = TL_WR740NV6_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tp-link:green:system",
- .gpio = TL_WR740NV6_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR740NV6_GPIO_LED_QSS,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wan",
- .gpio = TL_WR740NV6_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "tp-link:orange:wan",
- .gpio = TL_WR740NV6_GPIO_LED_WAN_ORANGE,
- .active_low = 1,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR740NV6_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr740n_v6_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR740NV6_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "WIFI button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR740NV6_GPIO_BTN_WIFI,
- .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_m25p80(&tl_wr841n_v9_flash_data);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- 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.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_wr840n_v2_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr840n_v2_leds_gpio),
- tl_wr840n_v2_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr840n_v2_gpio_keys),
- tl_wr840n_v2_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR840N_V2, "TL-WR840N-v2", "TP-LINK TL-WR840N v2",
- tl_wr840n_v2_setup);
-
-MIPS_MACHINE(ATH79_MACH_TL_WR840N_V3, "TL-WR840N-v3", "TP-LINK TL-WR840N v3",
- tl_wr840n_v2_setup);
-
-static void __init tl_wr841n_v9_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v9_leds_gpio),
- tl_wr841n_v9_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v9_gpio_keys),
- tl_wr841n_v9_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR841N_V9, "TL-WR841N-v9", "TP-LINK TL-WR841N/ND v9",
- tl_wr841n_v9_setup);
-
-static void __init tl_wr841n_v11_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v11_leds_gpio),
- tl_wr841n_v11_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v9_gpio_keys),
- tl_wr841n_v9_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR841N_V11, "TL-WR841N-v11", "TP-LINK TL-WR841N/ND v11",
- tl_wr841n_v11_setup);
-
-static void __init tl_wr842n_v3_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr842n_v3_leds_gpio),
- tl_wr842n_v3_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
- 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",
- tl_wr842n_v3_setup);
-
-static void __init tl_wr740n_v6_setup(void)
-{
- tl_ap143_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr740n_v6_leds_gpio),
- tl_wr740n_v6_leds_gpio);
-
- ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr740n_v6_gpio_keys),
- tl_wr740n_v6_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR740N_V6, "TL-WR740N-v6", "TP-LINK TL-WR740N/ND v6",
- tl_wr740n_v6_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n.c
deleted file mode 100644
index 11f853f057..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * TP-LINK TL-WR841N/ND v1 board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-dsa.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define TL_WR841ND_V1_GPIO_LED_SYSTEM 2
-#define TL_WR841ND_V1_GPIO_LED_QSS_GREEN 4
-#define TL_WR841ND_V1_GPIO_LED_QSS_RED 5
-
-#define TL_WR841ND_V1_GPIO_BTN_RESET 3
-#define TL_WR841ND_V1_GPIO_BTN_QSS 7
-
-#define TL_WR841ND_V1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL \
- (3 * TL_WR841ND_V1_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition tl_wr841n_v1_partitions[] = {
- {
- .name = "redboot",
- .offset = 0,
- .size = 0x020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "kernel",
- .offset = 0x020000,
- .size = 0x140000,
- }, {
- .name = "rootfs",
- .offset = 0x160000,
- .size = 0x280000,
- }, {
- .name = "config",
- .offset = 0x3e0000,
- .size = 0x020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x020000,
- .size = 0x3c0000,
- }
-};
-
-static struct flash_platform_data tl_wr841n_v1_flash_data = {
- .parts = tl_wr841n_v1_partitions,
- .nr_parts = ARRAY_SIZE(tl_wr841n_v1_partitions),
-};
-
-static struct gpio_led tl_wr841n_v1_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WR841ND_V1_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:red:qss",
- .gpio = TL_WR841ND_V1_GPIO_LED_QSS_RED,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR841ND_V1_GPIO_LED_QSS_GREEN,
- }
-};
-
-static struct gpio_keys_button tl_wr841n_v1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841ND_V1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR841ND_V1_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static struct dsa_chip_data tl_wr841n_v1_dsa_chip = {
- .port_names[0] = "wan",
- .port_names[1] = "lan1",
- .port_names[2] = "lan2",
- .port_names[3] = "lan3",
- .port_names[4] = "lan4",
- .port_names[5] = "cpu",
-};
-
-static struct dsa_platform_data tl_wr841n_v1_dsa_data = {
- .nr_chips = 1,
- .chip = &tl_wr841n_v1_dsa_chip,
-};
-
-static void __init tl_wr841n_v1_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_dsa(&ath79_eth0_device.dev, &ath79_mdio0_device.dev,
- &tl_wr841n_v1_dsa_data);
-
- ath79_register_m25p80(&tl_wr841n_v1_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v1_leds_gpio),
- tl_wr841n_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR841ND_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr841n_v1_gpio_keys),
- tl_wr841n_v1_gpio_keys);
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR841N_V1, "TL-WR841N-v1.5", "TP-LINK TL-WR841N v1",
- tl_wr841n_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr902ac-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr902ac-v1.c
deleted file mode 100644
index 8d2cea828a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr902ac-v1.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * TP-Link TL-WR902AC v1 board support
- *
- * Copyright (C) 2017 Piotr Dymacz <pepe2k@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-ap9x-pci.h"
-#include "dev-eth.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"
-
-
-#define TL_WR902AC_V1_GPIO_LED_INTERNET 12
-#define TL_WR902AC_V1_GPIO_LED_LAN 15
-#define TL_WR902AC_V1_GPIO_LED_POWER 13
-#define TL_WR902AC_V1_GPIO_LED_USB 4
-#define TL_WR902AC_V1_GPIO_LED_WLAN2G 11
-#define TL_WR902AC_V1_GPIO_LED_WPS 0
-
-#define TL_WR902AC_V1_GPIO_BTN_RESET 3
-#define TL_WR902AC_V1_GPIO_BTN_SW1 17
-#define TL_WR902AC_V1_GPIO_BTN_SW2 14
-#define TL_WR902AC_V1_GPIO_BTN_WPS 2
-
-#define TL_WR902AC_V1_GPIO_USB_POWER 1
-
-#define TL_WR902AC_V1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR902AC_V1_KEYS_DEBOUNCE_INTERVAL \
- (3 * TL_WR902AC_V1_KEYS_POLL_INTERVAL)
-
-static struct gpio_led tl_wr902ac_v1_leds_gpio[] __initdata = {
- {
- .name = "tl-wr902ac-v1:green:internet",
- .gpio = TL_WR902AC_V1_GPIO_LED_INTERNET,
- .active_low = 1,
- }, {
- .name = "tl-wr902ac-v1:green:lan",
- .gpio = TL_WR902AC_V1_GPIO_LED_LAN,
- .active_low = 0,
- }, {
- .name = "tl-wr902ac-v1:green:power",
- .gpio = TL_WR902AC_V1_GPIO_LED_POWER,
- .active_low = 0,
- }, {
- .name = "tl-wr902ac-v1:green:usb",
- .gpio = TL_WR902AC_V1_GPIO_LED_USB,
- .active_low = 0,
- }, {
- .name = "tl-wr902ac-v1:green:wlan2g",
- .gpio = TL_WR902AC_V1_GPIO_LED_WLAN2G,
- .active_low = 1,
- }, {
- .name = "tl-wr902ac-v1:green:wps",
- .gpio = TL_WR902AC_V1_GPIO_LED_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wr902ac_v1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR902AC_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR902AC_V1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "sw1",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = TL_WR902AC_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR902AC_V1_GPIO_BTN_SW1,
- .active_low = 1,
- }, {
- .desc = "sw2",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = TL_WR902AC_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR902AC_V1_GPIO_BTN_SW2,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR902AC_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR902AC_V1_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init tl_wr902ac_v1_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f7f0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f750008);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr902ac_v1_leds_gpio),
- tl_wr902ac_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR902AC_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr902ac_v1_gpio_keys),
- tl_wr902ac_v1_gpio_keys);
-
- gpio_request_one(TL_WR902AC_V1_GPIO_USB_POWER,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- ath79_register_usb();
-
- ath79_register_wmac(art + 0x1000, mac);
-
- ap91_pci_init(art + 0x5000, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR902AC_V1, "TL-WR902AC-V1", "TP-LINK TL-WR902AC v1",
- tl_wr902ac_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr940n-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr940n-v4.c
deleted file mode 100644
index 9324b2b924..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr940n-v4.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * TP-LINK TL-WR940N v4 and v6 board support
- *
- * Copyright (C) 2016 David Lutz <kpanic@ff3l.net>
- *
- * 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_WR940N_V4_GPIO_LED_QSS 3
-#define TL_WR940N_V4_GPIO_LED_WAN 14
-#define TL_WR940N_V4_GPIO_LED_WAN_RED 15
-#define TL_WR940N_V4_GPIO_LED_LAN4 4
-#define TL_WR940N_V4_GPIO_LED_LAN3 18
-#define TL_WR940N_V4_GPIO_LED_LAN2 6
-#define TL_WR940N_V4_GPIO_LED_LAN1 8
-#define TL_WR940N_V4_GPIO_LED_WLAN 7
-#define TL_WR940N_V4_GPIO_LED_SYSTEM 5
-/* WR940N v6 specific GPIO*/
-#define TL_WR940N_V6_GPIO_LED_DIAG_ORANGE 15
-#define TL_WR940N_V6_GPIO_LED_WAN_BLUE 14
-
-#define TL_WR940N_V4_GPIO_BTN_RESET 1
-#define TL_WR940N_V4_GPIO_BTN_RFKILL 2
-
-#define TL_WR940N_KEYS_POLL_INTERVAL 20
-#define TL_WR940N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR940N_KEYS_POLL_INTERVAL)
-
-
-static struct gpio_led tl_wr940n_v4_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:qss",
- .gpio = TL_WR940N_V4_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wan",
- .gpio = TL_WR940N_V4_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:red:wan",
- .gpio = TL_WR940N_V4_GPIO_LED_WAN_RED,
- .active_low = 0,
- },
- {
- .name = "tp-link:blue:lan1",
- .gpio = TL_WR940N_V4_GPIO_LED_LAN1,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan2",
- .gpio = TL_WR940N_V4_GPIO_LED_LAN2,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan3",
- .gpio = TL_WR940N_V4_GPIO_LED_LAN3,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan4",
- .gpio = TL_WR940N_V4_GPIO_LED_LAN4,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wlan",
- .gpio = TL_WR940N_V4_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:system",
- .gpio = TL_WR940N_V4_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr940n_v4_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR940N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR940N_V4_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR940N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR940N_V4_GPIO_BTN_RFKILL,
- .active_low = 1,
- }
-};
-
-static struct gpio_led tl_wr940n_v6_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:wan",
- .gpio = TL_WR940N_V6_GPIO_LED_WAN_BLUE,
- .active_low = 1,
- },
- {
- .name = "tp-link:orange:diag",
- .gpio = TL_WR940N_V6_GPIO_LED_DIAG_ORANGE,
- .active_low = 0,
- },
-};
-
-
-static const char *tl_wr940n_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr940n_flash_data = {
- .part_probes = tl_wr940n_part_probes,
-};
-
-
-static void __init tl_wr940n_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wr940n_flash_data);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
-
- ath79_switch_data.phy4_mii_en = 1;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
-}
-
-static void __init tl_wr940n_v4_setup(void)
-{
- tl_wr940n_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr940n_v4_leds_gpio),
- tl_wr940n_v4_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR940N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr940n_v4_gpio_keys),
- tl_wr940n_v4_gpio_keys);
-}
-
-static void __init tl_wr940n_v6_setup(void)
-{
- tl_wr940n_setup();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr940n_v6_leds_gpio),
- tl_wr940n_v6_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR940N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr940n_v4_gpio_keys),
- tl_wr940n_v4_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR940N_V4, "TL-WR940N-v4", "TP-LINK TL-WR940N v4",
- tl_wr940n_v4_setup);
-MIPS_MACHINE(ATH79_MACH_TL_WR940N_V6, "TL-WR940N-v6", "TP-LINK TL-WR940N v6",
- tl_wr940n_v6_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c
deleted file mode 100644
index 8c788e2841..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * TP-LINK TL-WR941N/ND v6 board support
- *
- * Copyright (C) 2015 Matthias Schiffer <mschiffer@universe-factory.net>
- *
- * 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_WR941ND_V6_GPIO_LED_QSS 3
-#define TL_WR941ND_V6_GPIO_LED_WAN 14
-#define TL_WR941ND_V6_GPIO_LED_WAN_RED 15
-#define TL_WR941ND_V6_GPIO_LED_LAN1 7
-#define TL_WR941ND_V6_GPIO_LED_LAN2 6
-#define TL_WR941ND_V6_GPIO_LED_LAN3 5
-#define TL_WR941ND_V6_GPIO_LED_LAN4 4
-#define TL_WR941ND_V6_GPIO_LED_WLAN 8
-#define TL_WR941ND_V6_GPIO_LED_SYSTEM 18
-
-#define TL_WR941ND_V6_GPIO_BTN_RESET 1
-#define TL_WR941ND_V6_GPIO_BTN_RFKILL 2
-
-#define TL_WR941ND_V6_KEYS_POLL_INTERVAL 20
-#define TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR941ND_V6_KEYS_POLL_INTERVAL)
-
-
-static struct gpio_led tl_wr941nd_v6_leds_gpio[] __initdata = {
- {
- .name = "tp-link:blue:qss",
- .gpio = TL_WR941ND_V6_GPIO_LED_QSS,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wan",
- .gpio = TL_WR941ND_V6_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:red:wan",
- .gpio = TL_WR941ND_V6_GPIO_LED_WAN_RED,
- .active_low = 0,
- },
- {
- .name = "tp-link:blue:lan1",
- .gpio = TL_WR941ND_V6_GPIO_LED_LAN1,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan2",
- .gpio = TL_WR941ND_V6_GPIO_LED_LAN2,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan3",
- .gpio = TL_WR941ND_V6_GPIO_LED_LAN3,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:lan4",
- .gpio = TL_WR941ND_V6_GPIO_LED_LAN4,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:wlan",
- .gpio = TL_WR941ND_V6_GPIO_LED_WLAN,
- .active_low = 1,
- },
- {
- .name = "tp-link:blue:system",
- .gpio = TL_WR941ND_V6_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr941nd_v6_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR941ND_V6_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR941ND_V6_GPIO_BTN_RFKILL,
- .active_low = 1,
- }
-};
-
-
-static const char *tl_wr941n_v6_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr941n_v6_flash_data = {
- .part_probes = tl_wr941n_v6_part_probes,
-};
-
-
-static void __init tl_wr941nd_v6_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(&tl_wr941n_v6_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_v6_leds_gpio),
- tl_wr941nd_v6_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR941ND_V6_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr941nd_v6_gpio_keys),
- tl_wr941nd_v6_gpio_keys);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-
- ath79_switch_data.phy4_mii_en = 1;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, mac);
-
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V6, "TL-WR941ND-v6", "TP-LINK TL-WR941N/ND v6",
- tl_wr941nd_v6_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd.c
deleted file mode 100644
index 1ddeec730e..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * TP-LINK TL-WR941ND board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-dsa.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_WR941ND_GPIO_LED_SYSTEM 2
-#define TL_WR941ND_GPIO_LED_QSS_RED 4
-#define TL_WR941ND_GPIO_LED_QSS_GREEN 5
-#define TL_WR941ND_GPIO_LED_WLAN 9
-
-#define TL_WR941ND_GPIO_BTN_RESET 3
-#define TL_WR941ND_GPIO_BTN_QSS 7
-
-#define TL_WR941ND_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TL_WR941ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR941ND_KEYS_POLL_INTERVAL)
-
-static const char *tl_wr941nd_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data tl_wr941nd_flash_data = {
- .part_probes = tl_wr941nd_part_probes,
-};
-
-static struct gpio_led tl_wr941nd_leds_gpio[] __initdata = {
- {
- .name = "tp-link:green:system",
- .gpio = TL_WR941ND_GPIO_LED_SYSTEM,
- .active_low = 1,
- }, {
- .name = "tp-link:red:qss",
- .gpio = TL_WR941ND_GPIO_LED_QSS_RED,
- }, {
- .name = "tp-link:green:qss",
- .gpio = TL_WR941ND_GPIO_LED_QSS_GREEN,
- }, {
- .name = "tp-link:green:wlan",
- .gpio = TL_WR941ND_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button tl_wr941nd_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR941ND_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "qss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR941ND_GPIO_BTN_QSS,
- .active_low = 1,
- }
-};
-
-static struct dsa_chip_data tl_wr941nd_dsa_chip = {
- .port_names[0] = "wan",
- .port_names[1] = "lan1",
- .port_names[2] = "lan2",
- .port_names[3] = "lan3",
- .port_names[4] = "lan4",
- .port_names[5] = "cpu",
-};
-
-static struct dsa_platform_data tl_wr941nd_dsa_data = {
- .nr_chips = 1,
- .chip = &tl_wr941nd_dsa_chip,
-};
-
-static void __init tl_wr941nd_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_dsa(&ath79_eth0_device.dev, &ath79_mdio0_device.dev,
- &tl_wr941nd_dsa_data);
-
- ath79_register_m25p80(&tl_wr941nd_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_leds_gpio),
- tl_wr941nd_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR941ND_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr941nd_gpio_keys),
- tl_wr941nd_gpio_keys);
- ath79_register_wmac(eeprom, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR941ND, "TL-WR941ND", "TP-LINK TL-WR941ND",
- tl_wr941nd_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr942n-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr942n-v1.c
deleted file mode 100644
index 32e2bc9521..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr942n-v1.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * TP-Link TL-WR942N(RU) v1 board support
- *
- * Copyright (C) 2017 Sergey Studzinski <serguzhg@gmail.com>
- * Thanks to Henryk Heisig <hyniu@o2.pl>
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/gpio.h>
-#include <linux/init.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/74x164.h>
-
-#include "common.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "nvram.h"
-
-#define TL_WR942N_V1_KEYS_POLL_INTERVAL 20
-#define TL_WR942N_V1_KEYS_DEBOUNCE_INTERVAL \
- (3 * TL_WR942N_V1_KEYS_POLL_INTERVAL)
-
-#define TL_WR942N_V1_GPIO_BTN_RESET 1
-#define TL_WR942N_V1_GPIO_BTN_RFKILL 2
-
-#define TL_WR942N_V1_GPIO_UART_TX 4
-#define TL_WR942N_V1_GPIO_UART_RX 5
-
-#define TL_WR942N_V1_GPIO_LED_USB2 14
-#define TL_WR942N_V1_GPIO_LED_USB1 15
-
-#define TL_WR942N_V1_GPIO_SHIFT_OE 16
-#define TL_WR942N_V1_GPIO_SHIFT_SER 17
-#define TL_WR942N_V1_GPIO_SHIFT_SRCLK 18
-#define TL_WR942N_V1_GPIO_SHIFT_SRCLR 19
-#define TL_WR942N_V1_GPIO_SHIFT_RCLK 20
-#define TL_WR942N_V1_GPIO_LED_WPS 21
-#define TL_WR942N_V1_GPIO_LED_STATUS 22
-
-#define TL_WR942N_V1_74HC_GPIO_BASE 32
-#define TL_WR942N_V1_74HC_GPIO_LED_LAN4 (TL_WR942N_V1_74HC_GPIO_BASE + 0)
-#define TL_WR942N_V1_74HC_GPIO_LED_LAN3 (TL_WR942N_V1_74HC_GPIO_BASE + 1)
-#define TL_WR942N_V1_74HC_GPIO_LED_LAN2 (TL_WR942N_V1_74HC_GPIO_BASE + 2)
-#define TL_WR942N_V1_74HC_GPIO_LED_LAN1 (TL_WR942N_V1_74HC_GPIO_BASE + 3)
-#define TL_WR942N_V1_74HC_GPIO_LED_WAN_GREEN (TL_WR942N_V1_74HC_GPIO_BASE + 4)
-#define TL_WR942N_V1_74HC_GPIO_LED_WAN_AMBER (TL_WR942N_V1_74HC_GPIO_BASE + 5)
-#define TL_WR942N_V1_74HC_GPIO_LED_WLAN (TL_WR942N_V1_74HC_GPIO_BASE + 6)
-#define TL_WR942N_V1_74HC_GPIO_HUB_RESET (TL_WR942N_V1_74HC_GPIO_BASE + 7) /* from u-boot sources */
-
-#define TL_WR942N_V1_SSR_BIT_0 0
-#define TL_WR942N_V1_SSR_BIT_1 1
-#define TL_WR942N_V1_SSR_BIT_2 2
-#define TL_WR942N_V1_SSR_BIT_3 3
-#define TL_WR942N_V1_SSR_BIT_4 4
-#define TL_WR942N_V1_SSR_BIT_5 5
-#define TL_WR942N_V1_SSR_BIT_6 6
-#define TL_WR942N_V1_SSR_BIT_7 7
-
-#define TL_WR942N_V1_WMAC_CALDATA_OFFSET 0x1000
-#define TL_WR942N_V1_DEFAULT_MAC_ADDR 0x1fe40008
-#define TL_WR942N_V1_DEFAULT_MAC_SIZE 0x200
-
-#define GPIO_IN_ENABLE0_UART_SIN_LSB 8
-#define GPIO_IN_ENABLE0_UART_SIN_MASK 0x0000ff00
-
-static struct gpio_led tl_wr942n_v1_leds_gpio[] __initdata = {
- {
- .name = "tl-wr942n-v1:green:status",
- .gpio = TL_WR942N_V1_GPIO_LED_STATUS,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:wlan",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:lan1",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:lan2",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:lan3",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:lan4",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_LAN4,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:wan",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:amber:wan",
- .gpio = TL_WR942N_V1_74HC_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:wps",
- .gpio = TL_WR942N_V1_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:usb1",
- .gpio = TL_WR942N_V1_GPIO_LED_USB1,
- .active_low = 1,
- }, {
- .name = "tl-wr942n-v1:green:usb2",
- .gpio = TL_WR942N_V1_GPIO_LED_USB2,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button tl_wr942n_v1_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TL_WR942N_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR942N_V1_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = TL_WR942N_V1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TL_WR942N_V1_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static struct spi_gpio_platform_data tl_wr942n_v1_spi_data = {
- .sck = TL_WR942N_V1_GPIO_SHIFT_SRCLK,
- .miso = SPI_GPIO_NO_MISO,
- .mosi = TL_WR942N_V1_GPIO_SHIFT_SER,
- .num_chipselect = 1,
-};
-
-static u8 tl_wr942n_v1_ssr_initdata[] = {
- BIT(TL_WR942N_V1_SSR_BIT_7) |
- BIT(TL_WR942N_V1_SSR_BIT_6) |
- BIT(TL_WR942N_V1_SSR_BIT_5) |
- BIT(TL_WR942N_V1_SSR_BIT_4) |
- BIT(TL_WR942N_V1_SSR_BIT_3) |
- BIT(TL_WR942N_V1_SSR_BIT_2) |
- BIT(TL_WR942N_V1_SSR_BIT_1) |
- BIT(TL_WR942N_V1_SSR_BIT_0)
-};
-
-static struct gen_74x164_chip_platform_data tl_wr942n_v1_ssr_data = {
- .base = TL_WR942N_V1_74HC_GPIO_BASE,
- .num_registers = ARRAY_SIZE(tl_wr942n_v1_ssr_initdata),
- .init_data = tl_wr942n_v1_ssr_initdata,
-};
-
-static struct platform_device tl_wr942n_v1_spi_device = {
- .name = "spi_gpio",
- .id = 1,
- .dev = {
- .platform_data = &tl_wr942n_v1_spi_data,
- },
-};
-
-static struct spi_board_info tl_wr942n_v1_spi_info[] = {
- {
- .bus_num = 1,
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "74x164",
- .platform_data = &tl_wr942n_v1_ssr_data,
- .controller_data = (void *) TL_WR942N_V1_GPIO_SHIFT_RCLK,
- },
-};
-
-static void tl_wr942n_v1_get_mac(const char *name, char *mac)
-{
- u8 *nvram = (u8 *) KSEG1ADDR(TL_WR942N_V1_DEFAULT_MAC_ADDR);
- int err;
-
- err = ath79_nvram_parse_mac_addr(nvram, TL_WR942N_V1_DEFAULT_MAC_SIZE,
- name, mac);
-
- if (err)
- pr_err("no MAC address found for %s\n", name);
-}
-
-static void __init tl_wr942n_v1_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 tmpmac[ETH_ALEN];
- void __iomem *base;
- u32 t;
-
- ath79_register_m25p80(NULL);
-
- spi_register_board_info(tl_wr942n_v1_spi_info,
- ARRAY_SIZE(tl_wr942n_v1_spi_info));
- platform_device_register(&tl_wr942n_v1_spi_device);
-
- /* Check inherited UART RX GPIO definition */
- base = ioremap(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE);
-
- t = __raw_readl(base + QCA956X_GPIO_REG_IN_ENABLE0);
- if (((t & GPIO_IN_ENABLE0_UART_SIN_MASK)
- >> GPIO_IN_ENABLE0_UART_SIN_LSB) == TL_WR942N_V1_GPIO_LED_USB1) {
- pr_warn("Active UART detected on USBLED's GPIOs!\n");
-
- tl_wr942n_v1_leds_gpio[9].gpio = TL_WR942N_V1_GPIO_UART_TX;
- tl_wr942n_v1_leds_gpio[10].gpio = TL_WR942N_V1_GPIO_UART_RX;
- }
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr942n_v1_leds_gpio),
- tl_wr942n_v1_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, TL_WR942N_V1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tl_wr942n_v1_gpio_keys),
- tl_wr942n_v1_gpio_keys);
-
- tl_wr942n_v1_get_mac("MAC:", tmpmac);
-
- /* swap PHYs */
- ath79_setup_qca956x_eth_cfg(QCA956X_ETH_CFG_SW_PHY_SWAP |
- QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- /* WAN port */
- ath79_init_mac(ath79_eth0_data.mac_addr, tmpmac, 1);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- /* swaped PHYs */
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_register_eth(0);
-
- /* LAN ports */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_init_mac(ath79_eth1_data.mac_addr, tmpmac, 0);
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- /* swaped PHYs */
- ath79_switch_data.phy_poll_mask |= BIT(0);
- ath79_switch_data.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- ath79_register_wmac(art + TL_WR942N_V1_WMAC_CALDATA_OFFSET, tmpmac);
-
- ath79_register_usb();
-
- gpio_request_one(TL_WR942N_V1_74HC_GPIO_HUB_RESET,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
-
- gpio_request_one(TL_WR942N_V1_GPIO_SHIFT_OE,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "LED control");
-
- gpio_request_one(TL_WR942N_V1_GPIO_SHIFT_SRCLR,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "LED reset");
-}
-
-MIPS_MACHINE(ATH79_MACH_TL_WR942N_V1, "TL-WR942N-V1", "TP-LINK TL-WR942N v1",
- tl_wr942n_v1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c
deleted file mode 100644
index 38786fdeda..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * PISEN TS-D084 board support
- * Based on TP-LINK TL-WR703N/TL-MR10U board support
- *
- * Copyright (C) 2011 dongyuqi <729650915@qq.com>
- * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.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"
-
-#define TS_D084_GPIO_LED_SYSTEM 0
-#define TS_D084_GPIO_BTN_RESET 12
-
-
-#define TS_D084_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TS_D084_KEYS_DEBOUNCE_INTERVAL (3 * TS_D084_KEYS_POLL_INTERVAL)
-
-static const char *ts_d084_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data ts_d084_flash_data = {
- .part_probes = ts_d084_part_probes,
-};
-
-static struct gpio_led ts_d084_leds_gpio[] __initdata = {
- {
- .name = "ts-d084:blue:system",
- .gpio = TS_D084_GPIO_LED_SYSTEM,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ts_d084_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TS_D084_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TS_D084_GPIO_BTN_RESET,
- .active_low = 0,
- }
-};
-
-static void __init ts_d084_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_m25p80(&ts_d084_flash_data);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ts_d084_leds_gpio),
- ts_d084_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TS_D084_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ts_d084_gpio_keys),
- ts_d084_gpio_keys);
-
- ath79_register_usb();
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_TS_D084, "TS-D084", "PISEN TS-D084",
- ts_d084_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tube2h.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tube2h.c
deleted file mode 100644
index 06b3616536..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tube2h.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * ALFA NETWORK Tube2H board support
- *
- * Copyright (C) 2014 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <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 TUBE2H_GPIO_LED_SIGNAL4 0
-#define TUBE2H_GPIO_LED_SIGNAL3 1
-#define TUBE2H_GPIO_LED_SIGNAL2 13
-#define TUBE2H_GPIO_LED_LAN 17
-#define TUBE2H_GPIO_LED_SIGNAL1 27
-#define TUBE2H_GPIO_EXT_LNA 28
-
-#define TUBE2H_GPIO_WDT_EN 22
-#define TUBE2H_GPIO_WDT_IN 18
-
-#define TUBE2H_GPIO_BTN_RESET 12
-
-#define TUBE2H_KEYS_POLL_INTERVAL 20 /* msecs */
-#define TUBE2H_KEYS_DEBOUNCE_INTERVAL (3 * TUBE2H_KEYS_POLL_INTERVAL)
-
-#define TUBE2H_ART_ADDRESS 0x1fff0000
-#define TUBE2H_LAN_MAC_OFFSET 0x06
-#define TUBE2H_CALDATA_OFFSET 0x1000
-
-static struct gpio_led tube2h_leds_gpio[] __initdata = {
- {
- .name = "alfa:blue:lan",
- .gpio = TUBE2H_GPIO_LED_LAN,
- .active_low = 1,
- },
- {
- .name = "alfa:red:signal1",
- .gpio = TUBE2H_GPIO_LED_SIGNAL1,
- .active_low = 1,
- },
- {
- .name = "alfa:orange:signal2",
- .gpio = TUBE2H_GPIO_LED_SIGNAL2,
- .active_low = 0,
- },
- {
- .name = "alfa:green:signal3",
- .gpio = TUBE2H_GPIO_LED_SIGNAL3,
- .active_low = 0,
- },
- {
- .name = "alfa:green:signal4",
- .gpio = TUBE2H_GPIO_LED_SIGNAL4,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button tube2h_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = TUBE2H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = TUBE2H_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init tube2h_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(TUBE2H_ART_ADDRESS);
- u32 t;
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_JTAG_DISABLE |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- /* Ensure that GPIO26 and GPIO27 are controllable by software */
- t = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
- t |= AR933X_BOOTSTRAP_MDIO_GPIO_EN;
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, t);
-
- gpio_request_one(TUBE2H_GPIO_EXT_LNA,
- GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "external LNA0");
-
- gpio_request_one(TUBE2H_GPIO_WDT_IN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT input");
-
- gpio_request_one(TUBE2H_GPIO_WDT_EN,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED,
- "WDT enable");
-
- ath79_register_wmac(art + TUBE2H_CALDATA_OFFSET, NULL);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(tube2h_leds_gpio),
- tube2h_leds_gpio);
- ath79_register_gpio_keys_polled(-1, TUBE2H_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(tube2h_gpio_keys),
- tube2h_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + TUBE2H_LAN_MAC_OFFSET, 0);
- ath79_register_mdio(0, 0x0);
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_TUBE2H, "TUBE2H", "ALFA NETWORK Tube2H",
- tube2h_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c
deleted file mode 100644
index 09a0bba867..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Ubiquiti UniFi AC (LITE) board support
- *
- * Copyright (C) 2015-2016 P. Wassi <p.wassi at gmx.at>
- *
- * Derived from: mach-ubnt-xm.c
- *
- * 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/init.h>
-#include <linux/pci.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/etherdevice.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/platform_data/phy-at803x.h>
-#include <linux/ar8216_platform.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-wmac.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-
-
-#define UNIFIAC_KEYS_POLL_INTERVAL 20
-#define UNIFIAC_KEYS_DEBOUNCE_INTERVAL (3 * UNIFIAC_KEYS_POLL_INTERVAL)
-
-#define UNIFIAC_GPIO_LED_WHITE 7
-#define UNIFIAC_GPIO_LED_BLUE 8
-
-#define UNIFIAC_GPIO_BTN_RESET 2
-
-#define UNIFIAC_MAC0_OFFSET 0x0000
-#define UNIFIAC_WMAC_CALDATA_OFFSET 0x1000
-#define UNIFIAC_PCI_CALDATA_OFFSET 0x5000
-
-
-static struct flash_platform_data ubnt_unifiac_flash_data = {
- /* mx25l12805d and mx25l12835f have the same JEDEC ID */
- .type = "mx25l12805d",
-};
-
-static struct gpio_led ubnt_unifiac_leds_gpio[] __initdata = {
- {
- .name = "ubnt:white:dome",
- .gpio = UNIFIAC_GPIO_LED_WHITE,
- .active_low = 0,
- }, {
- .name = "ubnt:blue:dome",
- .gpio = UNIFIAC_GPIO_LED_BLUE,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button ubnt_unifiac_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UNIFIAC_KEYS_DEBOUNCE_INTERVAL,
- .gpio = UNIFIAC_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init ubnt_unifiac_lite_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&ubnt_unifiac_flash_data);
-
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UNIFIAC_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_pll_data.pll_10 = 0x00001313;
-
- ath79_register_mdio(0, ~BIT(4));
- ath79_register_eth(0);
-
-
- ath79_register_wmac(eeprom + UNIFIAC_WMAC_CALDATA_OFFSET, NULL);
-
-
- ap91_pci_init(eeprom + UNIFIAC_PCI_CALDATA_OFFSET, NULL);
-
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifiac_leds_gpio),
- ubnt_unifiac_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UNIFIAC_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_unifiac_gpio_keys),
- ubnt_unifiac_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UNIFIAC_LITE, "UBNT-UF-AC-LITE",
- "Ubiquiti UniFi-AC-LITE/MESH", ubnt_unifiac_lite_setup);
-
-static struct ar8327_pad_cfg ubnt_unifiac_pro_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data ubnt_unifiac_pro_ar8327_data = {
- .pad0_cfg = &ubnt_unifiac_pro_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-
-static struct mdio_board_info ubnt_unifiac_pro_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &ubnt_unifiac_pro_ar8327_data,
- },
-};
-
-static void __init ubnt_unifiac_pro_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&ubnt_unifiac_flash_data);
-
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UNIFIAC_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_data.phy_mask = BIT(0);
-
- mdiobus_register_board_info(ubnt_unifiac_pro_mdio0_info,
- ARRAY_SIZE(ubnt_unifiac_pro_mdio0_info));
-
- ath79_register_mdio(0, 0x00);
- ath79_register_eth(0);
-
-
- ath79_register_usb();
-
-
- ath79_register_wmac(eeprom + UNIFIAC_WMAC_CALDATA_OFFSET, NULL);
-
-
- ap91_pci_init(eeprom + UNIFIAC_PCI_CALDATA_OFFSET, NULL);
-
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifiac_leds_gpio),
- ubnt_unifiac_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UNIFIAC_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_unifiac_gpio_keys),
- ubnt_unifiac_gpio_keys);
-}
-
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UNIFIAC_PRO, "UBNT-UF-AC-PRO",
- "Ubiquiti UniFi-AC-PRO/MESH-PRO", ubnt_unifiac_pro_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
deleted file mode 100644
index 6ceb91efff..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
+++ /dev/null
@@ -1,781 +0,0 @@
-/*
- * Ubiquiti Networks XM (rev 1.0) board support
- *
- * Copyright (C) 2011 René Bolldorf <xsecute@googlemail.com>
- *
- * Derived from: mach-pb44.c
- *
- * 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/init.h>
-#include <linux/pci.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/etherdevice.h>
-#include <linux/ar8216_platform.h>
-#include <linux/platform_data/phy-at803x.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/irq.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/platform_data/phy-at803x.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define UBNT_XM_GPIO_LED_L1 0
-#define UBNT_XM_GPIO_LED_L2 1
-#define UBNT_XM_GPIO_LED_L3 11
-#define UBNT_XM_GPIO_LED_L4 7
-
-#define UBNT_XM_GPIO_BTN_RESET 12
-
-#define UBNT_XM_KEYS_POLL_INTERVAL 20
-#define UBNT_XM_KEYS_DEBOUNCE_INTERVAL (3 * UBNT_XM_KEYS_POLL_INTERVAL)
-
-#define UBNT_XM_EEPROM_ADDR 0x1fff1000
-
-static struct gpio_led ubnt_xm_leds_gpio[] __initdata = {
- {
- .name = "ubnt:red:link1",
- .gpio = UBNT_XM_GPIO_LED_L1,
- .active_low = 0,
- }, {
- .name = "ubnt:orange:link2",
- .gpio = UBNT_XM_GPIO_LED_L2,
- .active_low = 0,
- }, {
- .name = "ubnt:green:link3",
- .gpio = UBNT_XM_GPIO_LED_L3,
- .active_low = 0,
- }, {
- .name = "ubnt:green:link4",
- .gpio = UBNT_XM_GPIO_LED_L4,
- .active_low = 0,
- },
-};
-
-static struct gpio_keys_button ubnt_xm_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
- .gpio = UBNT_XM_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-#define UBNT_M_WAN_PHYMASK BIT(4)
-
-static void __init ubnt_xm_init(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(UBNT_XM_EEPROM_ADDR);
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
- ubnt_xm_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-
- ath79_register_m25p80(NULL);
- ap91_pci_init(eeprom, NULL);
-
- ath79_register_mdio(0, ~UBNT_M_WAN_PHYMASK);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_eth1_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_XM,
- "UBNT-XM",
- "Ubiquiti Networks XM (rev 1.0) board",
- ubnt_xm_init);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_BULLET_M, "UBNT-BM", "Ubiquiti Bullet M",
- ubnt_xm_init);
-
-static void __init ubnt_rocket_m_setup(void)
-{
- ubnt_xm_init();
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M, "UBNT-RM", "Ubiquiti Rocket M",
- ubnt_rocket_m_setup);
-
-static void __init ubnt_nano_m_setup(void)
-{
- ubnt_xm_init();
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M, "UBNT-NM", "Ubiquiti Nanostation M",
- ubnt_nano_m_setup);
-
-static struct gpio_led ubnt_airrouter_leds_gpio[] __initdata = {
- {
- .name = "ubnt:green:globe",
- .gpio = 0,
- .active_low = 1,
- }, {
- .name = "ubnt:green:power",
- .gpio = 11,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }
-};
-
-static void __init ubnt_airrouter_setup(void)
-{
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(NULL);
- ath79_register_mdio(0, ~UBNT_M_WAN_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_local_mac(ath79_eth1_data.mac_addr, mac1);
-
- ath79_register_eth(1);
- ath79_register_eth(0);
- ath79_register_usb();
-
- ap91_pci_init(ee, NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_airrouter_leds_gpio),
- ubnt_airrouter_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_AIRROUTER, "UBNT-AR", "Ubiquiti AirRouter",
- ubnt_airrouter_setup);
-
-static struct gpio_led ubnt_unifi_leds_gpio[] __initdata = {
- {
- .name = "ubnt:orange:dome",
- .gpio = 1,
- .active_low = 0,
- }, {
- .name = "ubnt:green:dome",
- .gpio = 0,
- .active_low = 0,
- }
-};
-
-static struct gpio_led ubnt_unifi_outdoor_leds_gpio[] __initdata = {
- {
- .name = "ubnt:orange:front",
- .gpio = 1,
- .active_low = 0,
- }, {
- .name = "ubnt:green:front",
- .gpio = 0,
- .active_low = 0,
- }
-};
-
-static struct gpio_led ubnt_unifi_outdoor_plus_leds_gpio[] __initdata = {
- {
- .name = "ubnt:white:front",
- .gpio = 1,
- .active_low = 0,
- }, {
- .name = "ubnt:blue:front",
- .gpio = 0,
- .active_low = 0,
- }
-};
-
-
-static void __init ubnt_unifi_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, ~UBNT_M_WAN_PHYMASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_register_eth(0);
-
- ap91_pci_init(ee, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifi_leds_gpio),
- ubnt_unifi_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI, "UBNT-UF", "Ubiquiti UniFi",
- ubnt_unifi_setup);
-
-
-#define UBNT_UNIFIOD_PRI_PHYMASK BIT(4)
-#define UBNT_UNIFIOD_2ND_PHYMASK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
-
-static void __init ubnt_unifi_outdoor_setup(void)
-{
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, ~(UBNT_UNIFIOD_PRI_PHYMASK |
- UBNT_UNIFIOD_2ND_PHYMASK));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ap91_pci_init(ee, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifi_outdoor_leds_gpio),
- ubnt_unifi_outdoor_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR, "UBNT-U20",
- "Ubiquiti UniFiAP Outdoor",
- ubnt_unifi_outdoor_setup);
-
-
-static void __init ubnt_unifi_outdoor_plus_setup(void)
-{
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(0, ~(UBNT_UNIFIOD_PRI_PHYMASK |
- UBNT_UNIFIOD_2ND_PHYMASK));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ap9x_pci_get_wmac_data(0)->ubnt_hsr = true;
- ap91_pci_init(ee, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifi_outdoor_plus_leds_gpio),
- ubnt_unifi_outdoor_plus_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, "UBNT-UOP",
- "Ubiquiti UniFiAP Outdoor+",
- ubnt_unifi_outdoor_plus_setup);
-
-
-static struct gpio_led ubnt_uap_pro_gpio_leds[] __initdata = {
- {
- .name = "ubnt:white:dome",
- .gpio = 12,
- }, {
- .name = "ubnt:blue:dome",
- .gpio = 13,
- }
-};
-
-static struct gpio_keys_button uap_pro_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 17,
- .active_low = 1,
- }
-};
-
-static struct ar8327_pad_cfg uap_pro_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data uap_pro_ar8327_data = {
- .pad0_cfg = &uap_pro_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info uap_pro_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &uap_pro_ar8327_data,
- },
-};
-
-#define UAP_PRO_MAC0_OFFSET 0x0000
-#define UAP_PRO_MAC1_OFFSET 0x0006
-#define UAP_PRO_WMAC_CALDATA_OFFSET 0x1000
-#define UAP_PRO_PCI_CALDATA_OFFSET 0x5000
-
-static void __init ubnt_uap_pro_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_uap_pro_gpio_leds),
- ubnt_uap_pro_gpio_leds);
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(uap_pro_gpio_keys),
- uap_pro_gpio_keys);
-
- ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
- ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(uap_pro_mdio0_info,
- ARRAY_SIZE(uap_pro_mdio0_info));
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UAP_PRO_MAC0_OFFSET, 0);
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti UniFi AP Pro",
- ubnt_uap_pro_setup);
-
-#define UBNT_XW_GPIO_LED_L1 11
-#define UBNT_XW_GPIO_LED_L2 16
-#define UBNT_XW_GPIO_LED_L3 13
-#define UBNT_XW_GPIO_LED_L4 14
-
-static struct gpio_led ubnt_xw_leds_gpio[] __initdata = {
- {
- .name = "ubnt:red:link1",
- .gpio = UBNT_XW_GPIO_LED_L1,
- .active_low = 1,
- }, {
- .name = "ubnt:orange:link2",
- .gpio = UBNT_XW_GPIO_LED_L2,
- .active_low = 1,
- }, {
- .name = "ubnt:green:link3",
- .gpio = UBNT_XW_GPIO_LED_L3,
- .active_low = 1,
- }, {
- .name = "ubnt:green:link4",
- .gpio = UBNT_XW_GPIO_LED_L4,
- .active_low = 1,
- },
-};
-
-#define UBNT_ROCKET_TI_GPIO_LED_L1 16
-#define UBNT_ROCKET_TI_GPIO_LED_L2 17
-#define UBNT_ROCKET_TI_GPIO_LED_L3 18
-#define UBNT_ROCKET_TI_GPIO_LED_L4 19
-#define UBNT_ROCKET_TI_GPIO_LED_L5 20
-#define UBNT_ROCKET_TI_GPIO_LED_L6 21
-static struct gpio_led ubnt_rocket_ti_leds_gpio[] __initdata = {
- {
- .name = "ubnt:green:link1",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L1,
- .active_low = 1,
- }, {
- .name = "ubnt:green:link2",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L2,
- .active_low = 1,
- }, {
- .name = "ubnt:green:link3",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L3,
- .active_low = 1,
- }, {
- .name = "ubnt:green:link4",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L4,
- .active_low = 0,
- }, {
- .name = "ubnt:green:link5",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L5,
- .active_low = 0,
- }, {
- .name = "ubnt:green:link6",
- .gpio = UBNT_ROCKET_TI_GPIO_LED_L6,
- .active_low = 0,
- },
-};
-
-static void __init ubnt_xw_init(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xw_leds_gpio),
- ubnt_xw_leds_gpio);
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-
- ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
- ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 | AR934X_ETH_CFG_MII_GMAC0_SLAVE);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UAP_PRO_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-}
-
-static void __init ubnt_nano_m_xw_setup(void)
-{
- ubnt_xw_init();
-
- /* GMAC0 is connected to an AR8326 switch */
- ath79_register_mdio(0, ~(BIT(0) | BIT(1) | BIT(5)));
- ath79_eth0_data.phy_mask = (BIT(0) | BIT(1) | BIT(5));
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_register_eth(0);
-}
-
-static struct at803x_platform_data ubnt_loco_m_xw_at803x_data = {
- .has_reset_gpio = 1,
- .reset_gpio = 0,
-};
-
-static struct mdio_board_info ubnt_loco_m_xw_mdio_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 1,
- .platform_data = &ubnt_loco_m_xw_at803x_data,
- },
-};
-
-static void __init ubnt_loco_m_xw_setup(void)
-{
- ubnt_xw_init();
-
- mdiobus_register_board_info(ubnt_loco_m_xw_mdio_info,
- ARRAY_SIZE(ubnt_loco_m_xw_mdio_info));
-
- ath79_register_mdio(0, ~BIT(1));
- ath79_eth0_data.phy_mask = BIT(1);
- ath79_register_eth(0);
-}
-
-#define UBNT_LBE_M5_GPIO_LED_LAN 13
-#define UBNT_LBE_M5_GPIO_LED_WLAN 14
-#define UBNT_LBE_M5_GPIO_LED_SYS 16
-
-static struct gpio_led ubnt_lbe_m5_leds_gpio[] __initdata = {
- {
- .name = "ubnt:green:lan",
- .gpio = UBNT_LBE_M5_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "ubnt:green:wlan",
- .gpio = UBNT_LBE_M5_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "ubnt:green:sys",
- .gpio = UBNT_LBE_M5_GPIO_LED_SYS,
- .active_low = 1,
- },
-};
-
-static void __init ubnt_lbe_m5_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
- ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_lbe_m5_leds_gpio),
- ubnt_lbe_m5_leds_gpio);
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 |
- AR934X_ETH_CFG_MII_GMAC0_SLAVE);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UAP_PRO_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- gpio_request_one(0, GPIOF_OUT_INIT_LOW | GPIOF_ACTIVE_LOW |
- GPIOF_EXPORT_DIR_FIXED, "SPI nWP");
-
- mdiobus_register_board_info(ubnt_loco_m_xw_mdio_info,
- ARRAY_SIZE(ubnt_loco_m_xw_mdio_info));
-
- ath79_register_mdio(0, ~BIT(1));
- ath79_eth0_data.phy_mask = BIT(1);
- ath79_register_eth(0);
-}
-
-static void __init ubnt_rocket_m_xw_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xw_leds_gpio),
- ubnt_xw_leds_gpio);
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-
- ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
- ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UAP_PRO_MAC0_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_mdio(0, ~BIT(4));
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-}
-
-static struct at803x_platform_data ubnt_rocket_m_ti_at803_data = {
- .disable_smarteee = 1,
- .enable_rgmii_rx_delay = 1,
- .enable_rgmii_tx_delay = 1,
-};
-static struct mdio_board_info ubnt_rocket_m_ti_mdio_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 4,
- .platform_data = &ubnt_rocket_m_ti_at803_data,
- },
-};
-
-static void __init ubnt_rocket_m_ti_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rocket_ti_leds_gpio),
- ubnt_rocket_ti_leds_gpio);
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_xm_gpio_keys),
- ubnt_xm_gpio_keys);
-
- ap91_pci_init(eeprom + 0x1000, NULL);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
- ath79_setup_ar934x_eth_rx_delay(3, 3);
- ath79_init_mac(ath79_eth0_data.mac_addr,
- eeprom + UAP_PRO_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr,
- eeprom + UAP_PRO_MAC1_OFFSET, 0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
-
- mdiobus_register_board_info(ubnt_rocket_m_ti_mdio_info,
- ARRAY_SIZE(ubnt_rocket_m_ti_mdio_info));
- ath79_register_mdio(0, 0x0);
-
-
- ath79_eth0_data.phy_mask = BIT(4);
- /* read out from vendor */
- ath79_eth0_pll_data.pll_1000 = 0x2000000;
- ath79_eth0_pll_data.pll_10 = 0x1313;
- ath79_register_eth(0);
-
- ath79_register_mdio(1, 0x0);
- ath79_eth1_data.phy_mask = BIT(3);
- ath79_register_eth(1);
-}
-
-
-MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
- ubnt_nano_m_xw_setup);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_LBE_M5, "UBNT-LBE-M5", "Ubiquiti Litebeam M5",
- ubnt_lbe_m5_setup);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
- ubnt_loco_m_xw_setup);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_XW, "UBNT-RM-XW", "Ubiquiti Rocket M XW",
- ubnt_rocket_m_xw_setup);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_BULLET_M_XW, "UBNT-BM-XW", "Ubiquiti Bullet M XW",
- ubnt_rocket_m_xw_setup);
-
-MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_TI, "UBNT-RM-TI", "Ubiquiti Rocket M TI",
- ubnt_rocket_m_ti_setup);
-
-static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
- {
- .name = "ubnt:blue:wlan",
- .gpio = 0,
- }, {
- .name = "ubnt:white:status",
- .gpio = 1,
- },
-};
-
-static struct gpio_keys_button airgateway_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 12,
- .active_low = 1,
- }
-};
-
-static void __init ubnt_airgateway_setup(void)
-{
- u32 t;
- u8 *mac0 = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- t = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
- t |= AR933X_BOOTSTRAP_MDIO_GPIO_EN;
- ath79_reset_wr(AR933X_RESET_REG_BOOTSTRAP, t);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_airgateway_gpio_leds),
- ubnt_airgateway_gpio_leds);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(airgateway_gpio_keys),
- airgateway_gpio_keys);
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac0, 0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_register_eth(1);
- ath79_register_eth(0);
-
- ath79_register_wmac(ee, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway",
- ubnt_airgateway_setup);
-
-static struct gpio_led ubnt_airgateway_pro_gpio_leds[] __initdata = {
- {
- .name = "ubnt:blue:wlan",
- .gpio = 13,
- }, {
- .name = "ubnt:white:status",
- .gpio = 17,
- },
-};
-
-
-static struct gpio_keys_button airgateway_pro_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 12,
- .active_low = 1,
- }
-};
-
-static void __init ubnt_airgateway_pro_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac0 = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_airgateway_pro_gpio_leds),
- ubnt_airgateway_pro_gpio_leds);
-
- ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(airgateway_pro_gpio_keys),
- airgateway_pro_gpio_keys);
-
- ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
- ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_register_mdio(1, 0x0);
-
- /* GMAC0 is left unused in this configuration */
-
- /* GMAC1 is connected to MAC0 on the internal switch */
- /* The PoE/WAN port connects to port 5 on the internal switch */
- /* The LAN port connects to port 4 on the internal switch */
- ath79_init_mac(ath79_eth1_data.mac_addr, mac0, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_AIRGWP, "UBNT-AGWP", "Ubiquiti AirGateway Pro",
- ubnt_airgateway_pro_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt.c
deleted file mode 100644
index e49ac23fd1..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Ubiquiti RouterStation support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- * Copyright (C) 2008 Ubiquiti <support@ubnt.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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define UBNT_RS_GPIO_LED_RF 2
-#define UBNT_RS_GPIO_SW4 8
-
-#define UBNT_LS_SR71_GPIO_LED_D25 0
-#define UBNT_LS_SR71_GPIO_LED_D26 1
-#define UBNT_LS_SR71_GPIO_LED_D24 2
-#define UBNT_LS_SR71_GPIO_LED_D23 4
-#define UBNT_LS_SR71_GPIO_LED_D22 5
-#define UBNT_LS_SR71_GPIO_LED_D27 6
-#define UBNT_LS_SR71_GPIO_LED_D28 7
-
-#define UBNT_KEYS_POLL_INTERVAL 20 /* msecs */
-#define UBNT_KEYS_DEBOUNCE_INTERVAL (3 * UBNT_KEYS_POLL_INTERVAL)
-
-static struct gpio_led ubnt_rs_leds_gpio[] __initdata = {
- {
- .name = "ubnt:green:rf",
- .gpio = UBNT_RS_GPIO_LED_RF,
- .active_low = 0,
- }
-};
-
-static struct gpio_led ubnt_ls_sr71_leds_gpio[] __initdata = {
- {
- .name = "ubnt:green:d22",
- .gpio = UBNT_LS_SR71_GPIO_LED_D22,
- .active_low = 0,
- }, {
- .name = "ubnt:green:d23",
- .gpio = UBNT_LS_SR71_GPIO_LED_D23,
- .active_low = 0,
- }, {
- .name = "ubnt:green:d24",
- .gpio = UBNT_LS_SR71_GPIO_LED_D24,
- .active_low = 0,
- }, {
- .name = "ubnt:red:d25",
- .gpio = UBNT_LS_SR71_GPIO_LED_D25,
- .active_low = 0,
- }, {
- .name = "ubnt:red:d26",
- .gpio = UBNT_LS_SR71_GPIO_LED_D26,
- .active_low = 0,
- }, {
- .name = "ubnt:green:d27",
- .gpio = UBNT_LS_SR71_GPIO_LED_D27,
- .active_low = 0,
- }, {
- .name = "ubnt:green:d28",
- .gpio = UBNT_LS_SR71_GPIO_LED_D28,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button ubnt_gpio_keys[] __initdata = {
- {
- .desc = "sw4",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = UBNT_KEYS_DEBOUNCE_INTERVAL,
- .gpio = UBNT_RS_GPIO_SW4,
- .active_low = 1,
- }
-};
-
-static const char *ubnt_part_probes[] = {
- "RedBoot",
- NULL,
-};
-
-static struct flash_platform_data ubnt_flash_data = {
- .part_probes = ubnt_part_probes,
-};
-
-static void __init ubnt_generic_setup(void)
-{
- ath79_register_m25p80(&ubnt_flash_data);
-
- ath79_register_gpio_keys_polled(-1, UBNT_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ubnt_gpio_keys),
- ubnt_gpio_keys);
- ath79_register_pci();
-}
-
-#define UBNT_RS_WAN_PHYMASK BIT(20)
-#define UBNT_RS_LAN_PHYMASK (BIT(16) | BIT(17) | BIT(18) | BIT(19))
-
-static void __init ubnt_rs_setup(void)
-{
- ubnt_generic_setup();
-
- ath79_register_mdio(0, ~(UBNT_RS_WAN_PHYMASK | UBNT_RS_LAN_PHYMASK));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = UBNT_RS_WAN_PHYMASK;
-
- /*
- * There is Secondary MAC address duplicate problem with some
- * UBNT HW batches. Do not increase Secondary MAC address by 1
- * but do workaround with 'Locally Administrated' bit.
- */
- ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.speed = SPEED_100;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
- ubnt_rs_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_RS, "UBNT-RS", "Ubiquiti RouterStation",
- ubnt_rs_setup);
-
-#define UBNT_RSPRO_WAN_PHYMASK BIT(4)
-#define UBNT_RSPRO_LAN_PHYMASK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
-
-static void __init ubnt_rspro_setup(void)
-{
- ubnt_generic_setup();
-
- ath79_register_mdio(0, ~(UBNT_RSPRO_WAN_PHYMASK |
- UBNT_RSPRO_LAN_PHYMASK));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = UBNT_RSPRO_WAN_PHYMASK;
-
- /*
- * There is Secondary MAC address duplicate problem with some
- * UBNT HW batches. Do not increase Secondary MAC address by 1
- * but do workaround with 'Locally Administrated' bit.
- */
- ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = UBNT_RSPRO_LAN_PHYMASK;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
- ubnt_rs_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_RSPRO, "UBNT-RSPRO", "Ubiquiti RouterStation Pro",
- ubnt_rspro_setup);
-
-static void __init ubnt_lsx_setup(void)
-{
- ubnt_generic_setup();
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_LSX, "UBNT-LSX", "Ubiquiti LSX", ubnt_lsx_setup);
-
-#define UBNT_LSSR71_PHY_MASK BIT(1)
-
-static void __init ubnt_lssr71_setup(void)
-{
- ubnt_generic_setup();
-
- ath79_register_mdio(0, ~UBNT_LSSR71_PHY_MASK);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = UBNT_LSSR71_PHY_MASK;
-
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_ls_sr71_leds_gpio),
- ubnt_ls_sr71_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_UBNT_LSSR71, "UBNT-LS-SR71", "Ubiquiti LS-SR71",
- ubnt_lssr71_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wam250.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wam250.c
deleted file mode 100644
index 31817bddf2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wam250.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Samsung WAM250 board support
- *
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WAM250_GPIO_LED_LAN 13
-#define WAM250_GPIO_LED_POWER 15
-#define WAM250_GPIO_LED_REPEATER 14
-#define WAM250_GPIO_LED_WLAN 12
-
-#define WAM250_GPIO_BTN_RESET 17
-#define WAM250_GPIO_BTN_SPKADD 1
-
-#define WAM250_GPIO_EXT_LNA 19
-
-#define WAM250_MAC_OFFSET 2
-
-#define WAM250_KEYS_POLL_INTERVAL 20
-#define WAM250_KEYS_DEBOUNCE_INTERVAL (3 * WAM250_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wam250_leds_gpio[] __initdata = {
- {
- .name = "wam250:white:lan",
- .gpio = WAM250_GPIO_LED_LAN,
- .active_low = 1,
- }, {
- .name = "wam250:white:power",
- .gpio = WAM250_GPIO_LED_POWER,
- .default_state = LEDS_GPIO_DEFSTATE_KEEP,
- .active_low = 1,
- }, {
- .name = "wam250:white:repeater",
- .gpio = WAM250_GPIO_LED_REPEATER,
- .active_low = 1,
- }, {
- .name = "wam250:white:wlan",
- .gpio = WAM250_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wam250_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WAM250_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WAM250_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WAM250_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WAM250_GPIO_BTN_SPKADD,
- .active_low = 1,
- },
-};
-
-static void __init wam250_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
-
- ath79_switch_data.phy4_mii_en = 1;
- ath79_switch_data.phy_poll_mask = 0xfd;
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_eth1_data.phy_mask = BIT(1);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + WAM250_MAC_OFFSET, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr, art + WAM250_MAC_OFFSET, 1);
- ath79_register_eth(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wam250_leds_gpio),
- wam250_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WAM250_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wam250_gpio_keys),
- wam250_gpio_keys);
-
- ath79_wmac_set_ext_lna_gpio(0, WAM250_GPIO_EXT_LNA);
-
- ath79_register_usb();
- ath79_register_wmac(art, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WAM250, "WAM250", "Samsung WAM250", wam250_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c
deleted file mode 100644
index 3973ada7c3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * WEIO Web Of Things Platform
- *
- * Copyright (C) 2013 Drasko DRASKOVIC and Uros PETREVSKI
- *
- * ## ## ######## #### #######
- * ## ## ## ## ## ## ##
- * ## ## ## ## ## ## ##
- * ## ## ## ###### ## ## ##
- * ## ## ## ## ## ## ##
- * ## ## ## ## ## ## ##
- * ### ### ######## #### #######
- *
- * Web Of Things Platform
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Authors :
- * Drasko DRASKOVIC <drasko.draskovic@gmail.com>
- * Uros PETREVSKI <uros@nodesign.net>
- */
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <linux/i2c-gpio.h>
-#include <linux/platform_device.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 "dev-wmac.h"
-#include "machtypes.h"
-
-#define WEIO_GPIO_LED_STA 1
-#define WEIO_GPIO_LED_AP 16
-
-#define WEIO_GPIO_BTN_AP 20
-#define WEIO_GPIO_BTN_RESET 23
-
-#define WEIO_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WEIO_KEYS_DEBOUNCE_INTERVAL (3 * WEIO_KEYS_POLL_INTERVAL)
-
-#define WEIO_MAC0_OFFSET 0x0000
-#define WEIO_MAC1_OFFSET 0x0006
-#define WEIO_CALDATA_OFFSET 0x1000
-#define WEIO_WMAC_MAC_OFFSET 0x1002
-
-static struct gpio_led weio_leds_gpio[] __initdata = {
- {
- .name = "weio:green:sta",
- .gpio = WEIO_GPIO_LED_STA,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- },
- {
- .name = "weio:green:ap",
- .gpio = WEIO_GPIO_LED_AP,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }
-};
-
-static struct gpio_keys_button weio_gpio_keys[] __initdata = {
- {
- .desc = "ap button",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = WEIO_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WEIO_GPIO_BTN_AP,
- .active_low = 1,
- },
- {
- .desc = "soft-reset button",
- .type = EV_KEY,
- .code = BTN_1,
- .debounce_interval = WEIO_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WEIO_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct i2c_gpio_platform_data weio_i2c_gpio_data = {
- .sda_pin = 18,
- .scl_pin = 19,
-};
-
-static struct platform_device weio_i2c_gpio = {
- .name = "i2c-gpio",
- .id = 0,
- .dev = {
- .platform_data = &weio_i2c_gpio_data,
- },
-};
-
-static void __init weio_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
- ath79_register_wmac(art + WEIO_CALDATA_OFFSET, art + WEIO_WMAC_MAC_OFFSET);
-}
-
-static void __init weio_setup(void)
-{
- weio_common_setup();
-
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- platform_device_register(&weio_i2c_gpio);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(weio_leds_gpio),
- weio_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WEIO_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(weio_gpio_keys),
- weio_gpio_keys);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_WEIO, "WEIO", "WeIO board", weio_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-whr-hp-g300n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-whr-hp-g300n.c
deleted file mode 100644
index 48f49ad0f7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-whr-hp-g300n.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Buffalo WHR-HP-G300N board support
- *
- * based on ...
- *
- * TP-LINK TL-WR741ND board support
- *
- * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define WHRHPG300N_GPIO_LED_SECURITY 0
-#define WHRHPG300N_GPIO_LED_DIAG 1
-#define WHRHPG300N_GPIO_LED_ROUTER 6
-
-#define WHRHPG300N_GPIO_BTN_ROUTER_ON 7
-#define WHRHPG300N_GPIO_BTN_ROUTER_AUTO 8
-#define WHRHPG300N_GPIO_BTN_RESET 11
-#define WHRHPG300N_GPIO_BTN_AOSS 12
-#define WHRHPG300N_GPIO_LED_LAN1 13
-#define WHRHPG300N_GPIO_LED_LAN2 14
-#define WHRHPG300N_GPIO_LED_LAN3 15
-#define WHRHPG300N_GPIO_LED_LAN4 16
-#define WHRHPG300N_GPIO_LED_WAN 17
-
-#define WHRHPG300N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WHRHPG300N_KEYS_DEBOUNCE_INTERVAL (3 * WHRHPG300N_KEYS_POLL_INTERVAL)
-
-#define WHRHPG300N_MAC_OFFSET 0x20c
-
-static struct gpio_led whrhpg300n_leds_gpio[] __initdata = {
- {
- .name = "buffalo:orange:security",
- .gpio = WHRHPG300N_GPIO_LED_SECURITY,
- .active_low = 1,
- }, {
- .name = "buffalo:red:diag",
- .gpio = WHRHPG300N_GPIO_LED_DIAG,
- .active_low = 1,
- }, {
- .name = "buffalo:green:router",
- .gpio = WHRHPG300N_GPIO_LED_ROUTER,
- .active_low = 1,
- }, {
- .name = "buffalo:green:wan",
- .gpio = WHRHPG300N_GPIO_LED_WAN,
- .active_low = 1,
- }, {
- .name = "buffalo:green:lan1",
- .gpio = WHRHPG300N_GPIO_LED_LAN1,
- .active_low = 1,
- }, {
- .name = "buffalo:green:lan2",
- .gpio = WHRHPG300N_GPIO_LED_LAN2,
- .active_low = 1,
- }, {
- .name = "buffalo:green:lan3",
- .gpio = WHRHPG300N_GPIO_LED_LAN3,
- .active_low = 1,
- }, {
- .name = "buffalo:green:lan4",
- .gpio = WHRHPG300N_GPIO_LED_LAN4,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button whrhpg300n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WHRHPG300N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WHRHPG300N_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "aoss/wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .gpio = WHRHPG300N_GPIO_BTN_AOSS,
- .debounce_interval = WHRHPG300N_KEYS_DEBOUNCE_INTERVAL,
- .active_low = 1,
- }, {
- .desc = "router_on",
- .type = EV_KEY,
- .code = BTN_2,
- .gpio = WHRHPG300N_GPIO_BTN_ROUTER_ON,
- .debounce_interval = WHRHPG300N_KEYS_DEBOUNCE_INTERVAL,
- .active_low = 1,
- }, {
- .desc = "router_auto",
- .type = EV_KEY,
- .code = BTN_3,
- .gpio = WHRHPG300N_GPIO_BTN_ROUTER_AUTO,
- .debounce_interval = WHRHPG300N_KEYS_DEBOUNCE_INTERVAL,
- .active_low = 1,
- }
-};
-
-static void __init whrhpg300n_setup(void)
-{
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = (u8 *) KSEG1ADDR(ee + WHRHPG300N_MAC_OFFSET);
-
- ath79_register_m25p80(NULL);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(whrhpg300n_leds_gpio),
- whrhpg300n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WHRHPG300N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(whrhpg300n_gpio_keys),
- whrhpg300n_gpio_keys);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN ports */
- ath79_register_eth(1);
- /* WAN port */
- ath79_register_eth(0);
-
- ap9x_pci_setup_wmac_led_pin(0, 1);
-
- ap91_pci_init(ee, mac);
-}
-
-MIPS_MACHINE(ATH79_MACH_WHR_HP_G300N, "WHR-HP-G300N", "Buffalo WHR-HP-G300N",
- whrhpg300n_setup);
-
-MIPS_MACHINE(ATH79_MACH_WHR_G301N, "WHR-G301N", "Buffalo WHR-G301N",
- whrhpg300n_setup);
-
-MIPS_MACHINE(ATH79_MACH_WHR_HP_GN, "WHR-HP-GN", "Buffalo WHR-HP-GN",
- whrhpg300n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wi2a-ac200i.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wi2a-ac200i.c
deleted file mode 100644
index 85e0c8fea3..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wi2a-ac200i.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Nokia WI2A-AC200i support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2017 Felix Fietkau <nbd@nbd.name>
- *
- * 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/platform_device.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform/ar934x_nfc.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/fw/fw.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define AC200I_GPIO_BTN_RESET 17
-
-#define AC200I_KEYS_POLL_INTERVAL 20 /* msecs */
-#define AC200I_KEYS_DEBOUNCE_INTERVAL (3 * AC200I_KEYS_POLL_INTERVAL)
-
-#define AC200I_MAC_ADDR 0x1f040249
-#define AC200I_MAC1_OFFSET 6
-#define AC200I_WMAC_CALDATA_ADDR 0x1f061000
-
-static struct gpio_led ac200i_leds_gpio[] __initdata = {
- {
- .name = "nokia:red:wlan-2g",
- .gpio = 0,
- .active_low = 1,
- },
- {
- .name = "nokia:green:power",
- .gpio = 1,
- .active_low = 1,
- },
- {
- .name = "nokia:green:wlan-2g",
- .gpio = 2,
- .active_low = 1,
- },
- {
- .name = "nokia:green:ctrl",
- .gpio = 3,
- .active_low = 1,
- },
- {
- .name = "nokia:green:eth",
- .gpio = 4,
- .active_low = 1,
- },
- {
- .name = "nokia:red:power",
- .gpio = 13,
- .active_low = 1,
- },
- {
- .name = "nokia:red:eth",
- .gpio = 14,
- .active_low = 1,
- },
- {
- .name = "nokia:red:wlan-5g",
- .gpio = 18,
- .active_low = 1,
- },
- {
- .name = "nokia:green:wlan-5g",
- .gpio = 19,
- .active_low = 1,
- },
- {
- .name = "nokia:red:ctrl",
- .gpio = 20,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button ac200i_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = AC200I_KEYS_DEBOUNCE_INTERVAL,
- .gpio = AC200I_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct mtd_partition ac200i_nand_partitions[] = {
- {
- .name = "cfg",
- .offset = 0x0100000,
- .size = 0x1800000,
- .mask_flags = MTD_WRITEABLE,
- },
- {
- .name = "kernel",
- .offset = 0x2000000,
- .size = 0x0400000,
- },
- {
- .name = "ubi",
- .offset = 0x2400000,
- .size = 0x2000000,
- },
- {
- .name = "kernel",
- .offset = 0x5000000,
- .size = 0x0400000,
- },
- {
- .name = "ubi",
- .offset = 0x5400000,
- .size = 0x2000000,
- },
-};
-
-static const char *boot_getenv(const char *key)
-{
- const char *start = (const char *) KSEG1ADDR(0x1f070000);
- const char *end = start + 0x20000;
- const char *addr;
-
- for (addr = start + 4;
- *addr && *addr != 0xff && addr < end &&
- strnlen(addr, end - addr) < end - addr;
- addr += strnlen(addr, end - addr) + 1) {
- const char *val;
-
- val = strchr(addr, '=');
- if (!val)
- continue;
-
- if (strncmp(addr, key, val - addr))
- continue;
-
- return val + 1;
- }
- return NULL;
-}
-
-static void __init ac200i_setup(void)
-{
- const char *img;
- u8 *wmac = (u8 *) KSEG1ADDR(AC200I_WMAC_CALDATA_ADDR);
- u8 *mac_addr = (u8 *) KSEG1ADDR(AC200I_MAC_ADDR);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(ac200i_leds_gpio),
- ac200i_leds_gpio);
- ath79_register_gpio_keys_polled(-1, AC200I_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(ac200i_gpio_keys),
- ac200i_gpio_keys);
-
- ath79_register_usb();
- ath79_nfc_set_parts(ac200i_nand_partitions,
- ARRAY_SIZE(ac200i_nand_partitions));
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
-
- ath79_register_wmac(wmac, NULL);
-
- ath79_register_mdio(0, 0x0);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac_addr, 0);
-
- /* GMAC0 is connected to the SGMII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x03000101;
- ath79_eth0_pll_data.pll_100 = 0x80000101;
- ath79_eth0_pll_data.pll_10 = 0x80001313;
-
- img = boot_getenv("dualPartition");
- if (img && !strcmp(img, "imgA")) {
- ac200i_nand_partitions[3].name = "kernel_alt";
- ac200i_nand_partitions[4].name = "ubi_alt";
- } else {
- ac200i_nand_partitions[1].name = "kernel_alt";
- ac200i_nand_partitions[2].name = "ubi_alt";
- }
-
- ath79_register_eth(0);
-
- ath79_register_pci();
-}
-
-MIPS_MACHINE(ATH79_MACH_WI2A_AC200I, "WI2A-AC200i",
- "Nokia WI2A-AC200i",
- ac200i_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wifi-pineapple-nano.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wifi-pineapple-nano.c
deleted file mode 100644
index 645f367f6c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wifi-pineapple-nano.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Hak5 WiFi Pineapple NANO board support
- *
- * Copyright (C) 2018 Sebastian Kinne <seb@hak5.org>
- * Copyright (C) 2018 Piotr Dymacz <pepe2k@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 <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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WIFI_PINEAPPLE_NANO_GPIO_LED_SYSTEM 18
-
-#define WIFI_PINEAPPLE_NANO_GPIO_BTN_RESET 12
-#define WIFI_PINEAPPLE_NANO_GPIO_SD_DET 19
-#define WIFI_PINEAPPLE_NANO_GPIO_USB_ALARM 20
-#define WIFI_PINEAPPLE_NANO_GPIO_USB_POWER 23
-
-#define HAK5_KEYS_POLL_INTERVAL 20 /* msecs */
-#define HAK5_KEYS_DEBOUNCE_INTERVAL (3 * HAK5_KEYS_POLL_INTERVAL)
-
-#define WIFI_PINEAPPLE_NANO_MAC1_OFFSET 0x0006
-#define WIFI_PINEAPPLE_NANO_CALDATA_OFFSET 0x1000
-
-static const char *hak5_part_probes[] = {
- "tp-link",
- NULL,
-};
-
-static struct flash_platform_data hak5_flash_data = {
- .part_probes = hak5_part_probes,
-};
-
-static struct gpio_led wifi_pineapple_nano_leds_gpio[] __initdata = {
- {
- .name = "wifi-pineapple-nano:blue:system",
- .gpio = WIFI_PINEAPPLE_NANO_GPIO_LED_SYSTEM,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wifi_pineapple_nano_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = HAK5_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WIFI_PINEAPPLE_NANO_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static void __init wifi_pineapple_nano_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(&hak5_flash_data);
-
- ath79_setup_ar933x_phy4_switch(false, false);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + WIFI_PINEAPPLE_NANO_MAC1_OFFSET, 0);
- ath79_register_eth(0);
-
- /* GPIO11/12 */
- ath79_gpio_function_disable(AR933X_GPIO_FUNC_UART_RTS_CTS_EN);
-
- gpio_request_one(WIFI_PINEAPPLE_NANO_GPIO_SD_DET,
- GPIOF_IN | GPIOF_EXPORT_DIR_FIXED | GPIOF_ACTIVE_LOW,
- "SD card present");
-
- gpio_request_one(WIFI_PINEAPPLE_NANO_GPIO_USB_ALARM,
- GPIOF_IN | GPIOF_EXPORT_DIR_FIXED | GPIOF_ACTIVE_LOW,
- "USB alarm");
-
- gpio_request_one(WIFI_PINEAPPLE_NANO_GPIO_USB_POWER,
- GPIOF_OUT_INIT_LOW | GPIOF_EXPORT_DIR_FIXED |
- GPIOF_ACTIVE_LOW, "USB power");
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wifi_pineapple_nano_leds_gpio),
- wifi_pineapple_nano_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, HAK5_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wifi_pineapple_nano_gpio_keys),
- wifi_pineapple_nano_gpio_keys);
-
- ath79_register_usb();
- ath79_register_wmac(art + WIFI_PINEAPPLE_NANO_CALDATA_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WIFI_PINEAPPLE_NANO, "WIFI-PINEAPPLE-NANO",
- "Hak5 WiFi Pineapple NANO", wifi_pineapple_nano_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wlae-ag300n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wlae-ag300n.c
deleted file mode 100644
index 11006fd1bc..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wlae-ag300n.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Buffalo WLAE-AG300N board support
- */
-
-#include <linux/gpio.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define WLAEAG300N_MAC_OFFSET 0x20c
-#define WLAEAG300N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WLAEAG300N_KEYS_DEBOUNCE_INTERVAL (3 * WLAEAG300N_KEYS_POLL_INTERVAL)
-
-
-static struct gpio_led wlaeag300n_leds_gpio[] __initdata = {
- /*
- * Note: Writing 1 into GPIO 13 will power down the device.
- */
- {
- .name = "buffalo:green:wireless",
- .gpio = 14,
- .active_low = 1,
- }, {
- .name = "buffalo:red:wireless",
- .gpio = 15,
- .active_low = 1,
- }, {
- .name = "buffalo:green:status",
- .gpio = 16,
- .active_low = 1,
- }, {
- .name = "buffalo:red:status",
- .gpio = 17,
- .active_low = 1,
- }
-};
-
-
-static struct gpio_keys_button wlaeag300n_gpio_keys[] __initdata = {
- {
- .desc = "function",
- .type = EV_KEY,
- .code = KEY_MODE,
- .debounce_interval = WLAEAG300N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 0,
- .active_low = 1,
- }, {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WLAEAG300N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 1,
- .active_low = 1,
- }, {
- .desc = "power",
- .type = EV_KEY,
- .code = KEY_POWER,
- .debounce_interval = WLAEAG300N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 11,
- .active_low = 1,
- }, {
- .desc = "aoss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WLAEAG300N_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 12,
- .active_low = 1,
- }
-};
-
-static void __init wlaeag300n_setup(void)
-{
- u8 *eeprom1 = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac1 = eeprom1 + WLAEAG300N_MAC_OFFSET;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac1, 1);
-
- ath79_register_mdio(0, ~(BIT(0) | BIT(4)));
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = BIT(4);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wlaeag300n_leds_gpio),
- wlaeag300n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WLAEAG300N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wlaeag300n_gpio_keys),
- wlaeag300n_gpio_keys);
-
- ath79_register_m25p80(NULL);
-
- ap91_pci_init(eeprom1, mac1);
-}
-
-MIPS_MACHINE(ATH79_MACH_WLAE_AG300N, "WLAE-AG300N",
- "Buffalo WLAE-AG300N", wlaeag300n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wlr8100.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wlr8100.c
deleted file mode 100644
index 04b12fc7cc..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wlr8100.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Sitecom X8 AC1750 WLR-8100 board support
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WLR8100_GPIO_LED_USB 4
-#define WLR8100_GPIO_LED_WLAN_5G 12
-#define WLR8100_GPIO_LED_WLAN_2G 13
-#define WLR8100_GPIO_LED_STATUS_RED 14
-#define WLR8100_GPIO_LED_WPS_RED 15
-#define WLR8100_GPIO_LED_STATUS_AMBER 19
-#define WLR8100_GPIO_LED_WPS_GREEN 20
-
-#define WLR8100_GPIO_BTN_WPS 16
-#define WLR8100_GPIO_BTN_RFKILL 21
-
-#define WLR8100_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WLR8100_KEYS_DEBOUNCE_INTERVAL (3 * WLR8100_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wlr8100_leds_gpio[] __initdata = {
- {
- .name = "wlr8100:amber:status",
- .gpio = WLR8100_GPIO_LED_STATUS_AMBER,
- .active_low = 1,
- },
- {
- .name = "wlr8100:red:status",
- .gpio = WLR8100_GPIO_LED_STATUS_RED,
- .active_low = 1,
- },
- {
- .name = "wlr8100:green:wps",
- .gpio = WLR8100_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- },
- {
- .name = "wlr8100:red:wps",
- .gpio = WLR8100_GPIO_LED_WPS_RED,
- .active_low = 1,
- },
- {
- .name = "wlr8100:red:wlan-2g",
- .gpio = WLR8100_GPIO_LED_WLAN_2G,
- .active_low = 1,
- },
- {
- .name = "wlr8100:red:usb",
- .gpio = WLR8100_GPIO_LED_USB,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wlr8100_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WLR8100_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WLR8100_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WLR8100_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WLR8100_GPIO_BTN_RFKILL,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg wlr8100_ar8327_pad0_cfg;
-static struct ar8327_pad_cfg wlr8100_ar8327_pad6_cfg;
-
-static struct ar8327_platform_data wlr8100_ar8327_data = {
- .pad0_cfg = &wlr8100_ar8327_pad0_cfg,
- .pad6_cfg = &wlr8100_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info wlr8100_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wlr8100_ar8327_data,
- },
-};
-
-static void __init wlr8100_common_setup(void)
-{
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wlr8100_leds_gpio),
- wlr8100_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WLR8100_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wlr8100_gpio_keys),
- wlr8100_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac_simple();
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- ath79_register_mdio(0, 0x0);
-
- mdiobus_register_board_info(wlr8100_mdio0_info,
- ARRAY_SIZE(wlr8100_mdio0_info));
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-
- ath79_register_eth(0);
-
- /* GMAC1 is connected tot eh SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(1);
-}
-
-static void __init wlr8100_010_setup(void)
-{
- /* GMAC0 of the AR8337 switch is connected to GMAC0 via RGMII */
- wlr8100_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_RGMII;
- wlr8100_ar8327_pad0_cfg.txclk_delay_en = true;
- wlr8100_ar8327_pad0_cfg.rxclk_delay_en = true;
- wlr8100_ar8327_pad0_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
- wlr8100_ar8327_pad0_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
-
- /* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
- wlr8100_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;
- wlr8100_ar8327_pad6_cfg.rxclk_delay_en = true;
- wlr8100_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL0;
-
- ath79_eth0_pll_data.pll_1000 = 0xa6000000;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- wlr8100_common_setup();
- ap91_pci_init_simple();
-}
-
-MIPS_MACHINE(ATH79_MACH_WLR8100, "WLR8100",
- "Sitecom WLR-8100",
- wlr8100_010_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndap360.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wndap360.c
deleted file mode 100644
index eae1c383ee..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndap360.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Netgear WNDAP360 board support (proper leds / button support missing)
- *
- * Based on AP96
- * Copyright (C) 2013 Jacek Kikiewicz
- * Copyright (C) 2009 Marco Porsch
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2010 Atheros Communications
- *
- * 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/platform_device.h>
-#include <linux/delay.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define WNDAP360_GPIO_LED_POWER_ORANGE 0
-#define WNDAP360_GPIO_LED_POWER_GREEN 2
-
-/* Reset button - next to the power connector */
-#define WNDAP360_GPIO_BTN_RESET 8
-
-#define WNDAP360_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNDAP360_KEYS_DEBOUNCE_INTERVAL (3 * WNDAP360_KEYS_POLL_INTERVAL)
-
-#define WNDAP360_WMAC0_MAC_OFFSET 0x120c
-#define WNDAP360_WMAC1_MAC_OFFSET 0x520c
-#define WNDAP360_CALDATA0_OFFSET 0x1000
-#define WNDAP360_CALDATA1_OFFSET 0x5000
-
-/*
- * WNDAP360 this still uses leds definitions from AP96
- *
- */
-static struct gpio_led wndap360_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNDAP360_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:orange:power",
- .gpio = WNDAP360_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wndap360_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNDAP360_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDAP360_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-#define WNDAP360_LAN_PHYMASK 0x0f
-
-static void __init wndap360_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_mdio(0, ~(WNDAP360_LAN_PHYMASK));
-
- /* Reusing wifi MAC with offset of 1 as eth0 MAC */
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + WNDAP360_WMAC0_MAC_OFFSET, 1);
- ath79_eth0_pll_data.pll_1000 = 0x11110000;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = WNDAP360_LAN_PHYMASK;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_register_eth(0);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wndap360_leds_gpio),
- wndap360_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WNDAP360_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wndap360_gpio_keys),
- wndap360_gpio_keys);
-
- ap9x_pci_setup_wmac_led_pin(0, 5);
- ap9x_pci_setup_wmac_led_pin(1, 5);
-
- ap94_pci_init(art + WNDAP360_CALDATA0_OFFSET,
- art + WNDAP360_WMAC0_MAC_OFFSET,
- art + WNDAP360_CALDATA1_OFFSET,
- art + WNDAP360_WMAC1_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNDAP360, "WNDAP360", "NETGEAR WNDAP360", wndap360_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c
deleted file mode 100644
index b9132fc363..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Netgear WNDR3700 board support
- *
- * Copyright (C) 2009 Marco Porsch
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/delay.h>
-#include <linux/rtl8366.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "machtypes.h"
-
-#define WNDR3700_GPIO_LED_WPS_ORANGE 0
-#define WNDR3700_GPIO_LED_POWER_ORANGE 1
-#define WNDR3700_GPIO_LED_POWER_GREEN 2
-#define WNDR3700_GPIO_LED_WPS_GREEN 4
-#define WNDR3700_GPIO_LED_WAN_GREEN 6
-
-#define WNDR3700_GPIO_BTN_WPS 3
-#define WNDR3700_GPIO_BTN_RESET 8
-#define WNDR3700_GPIO_BTN_RFKILL 11
-
-#define WNDR3700_GPIO_RTL8366_SDA 5
-#define WNDR3700_GPIO_RTL8366_SCK 7
-
-#define WNDR3700_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNDR3700_KEYS_DEBOUNCE_INTERVAL (3 * WNDR3700_KEYS_POLL_INTERVAL)
-
-#define WNDR3700_ETH0_MAC_OFFSET 0
-#define WNDR3700_ETH1_MAC_OFFSET 0x6
-
-#define WNDR3700_WMAC0_MAC_OFFSET 0
-#define WNDR3700_WMAC1_MAC_OFFSET 0xc
-#define WNDR3700_CALDATA0_OFFSET 0x1000
-#define WNDR3700_CALDATA1_OFFSET 0x5000
-
-static struct gpio_led wndr3700_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNDR3700_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:orange:power",
- .gpio = WNDR3700_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- }, {
- .name = "netgear:green:wps",
- .gpio = WNDR3700_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:orange:wps",
- .gpio = WNDR3700_GPIO_LED_WPS_ORANGE,
- .active_low = 1,
- }, {
- .name = "netgear:green:wan",
- .gpio = WNDR3700_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wndr3700_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNDR3700_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR3700_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNDR3700_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR3700_GPIO_BTN_WPS,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNDR3700_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR3700_GPIO_BTN_RFKILL,
- .active_low = 1,
- }
-};
-
-static struct rtl8366_platform_data wndr3700_rtl8366s_data = {
- .gpio_sda = WNDR3700_GPIO_RTL8366_SDA,
- .gpio_sck = WNDR3700_GPIO_RTL8366_SCK,
-};
-
-static struct platform_device wndr3700_rtl8366s_device = {
- .name = RTL8366S_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &wndr3700_rtl8366s_data,
- }
-};
-
-static void __init wndr3700_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- /*
- * The eth0 and wmac0 interfaces share the same MAC address which
- * can lead to problems if operated unbridged. Set the locally
- * administered bit on the eth0 MAC to make it unique.
- */
- ath79_init_local_mac(ath79_eth0_data.mac_addr,
- art + WNDR3700_ETH0_MAC_OFFSET);
- ath79_eth0_pll_data.pll_1000 = 0x11110000;
- ath79_eth0_data.mii_bus_dev = &wndr3700_rtl8366s_device.dev;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr,
- art + WNDR3700_ETH1_MAC_OFFSET, 0);
- ath79_eth1_pll_data.pll_1000 = 0x11110000;
- ath79_eth1_data.mii_bus_dev = &wndr3700_rtl8366s_device.dev;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wndr3700_leds_gpio),
- wndr3700_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WNDR3700_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wndr3700_gpio_keys),
- wndr3700_gpio_keys);
-
- platform_device_register(&wndr3700_rtl8366s_device);
- platform_device_register_simple("wndr3700-led-usb", -1, NULL, 0);
-
- ap9x_pci_setup_wmac_led_pin(0, 5);
- ap9x_pci_setup_wmac_led_pin(1, 5);
-
- /* 2.4 GHz uses the first fixed antenna group (1, 0, 1, 0) */
- ap9x_pci_setup_wmac_gpio(0, (0xf << 6), (0xa << 6));
-
- /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
- ap9x_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6));
-
- ap94_pci_init(art + WNDR3700_CALDATA0_OFFSET,
- art + WNDR3700_WMAC0_MAC_OFFSET,
- art + WNDR3700_CALDATA1_OFFSET,
- art + WNDR3700_WMAC1_MAC_OFFSET);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNDR3700, "WNDR3700",
- "NETGEAR WNDR3700/WNDR3800/WNDRMAC",
- wndr3700_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c
deleted file mode 100644
index 339216da1b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * NETGEAR WNDR3700v4/WNDR4300 board support
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2014 Ralph Perlich <rpsoft@arcor.de>
- *
- * 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/version.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 <linux/mtd/mtd.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
-#include <linux/mtd/nand.h>
-#else
-#include <linux/mtd/rawnand.h>
-#endif
-#include <linux/platform/ar934x_nfc.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-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-/* AR9344 GPIOs */
-#define WNDR4300_GPIO_LED_POWER_GREEN 0
-#define WNDR4300_GPIO_LED_POWER_AMBER 2
-#define WNDR4300_GPIO_LED_USB 13
-#define WNDR4300_GPIO_LED_WAN_GREEN 1
-#define WNDR4300_GPIO_LED_WAN_AMBER 3
-#define WNDR4300_GPIO_LED_WLAN2G 11
-#define WNDR4300_GPIO_LED_WLAN5G 14
-#define WNDR4300_GPIO_LED_WPS_GREEN 16
-#define WNDR4300_GPIO_LED_WPS_AMBER 17
-
-#define WNDR4300_GPIO_BTN_RESET 21
-#define WNDR4300_GPIO_BTN_WIRELESS 15
-#define WNDR4300_GPIO_BTN_WPS 12
-
-/* AR9580 GPIOs */
-#define WNDR4300_GPIO_USB_5V 0
-
-#define WNDR4300_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNDR4300_KEYS_DEBOUNCE_INTERVAL (3 * WNDR4300_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wndr4300_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNDR4300_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:power",
- .gpio = WNDR4300_GPIO_LED_POWER_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wan",
- .gpio = WNDR4300_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:wan",
- .gpio = WNDR4300_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:usb",
- .gpio = WNDR4300_GPIO_LED_USB,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wps",
- .gpio = WNDR4300_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:wps",
- .gpio = WNDR4300_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wlan2g",
- .gpio = WNDR4300_GPIO_LED_WLAN2G,
- .active_low = 1,
- },
- {
- .name = "netgear:blue:wlan5g",
- .gpio = WNDR4300_GPIO_LED_WLAN5G,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wndr4300_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNDR4300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR4300_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNDR4300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR4300_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNDR4300_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNDR4300_GPIO_BTN_WIRELESS,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg wndr4300_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg wndr4300_ar8327_led_cfg = {
- .led_ctrl0 = 0xcc35cc35,
- .led_ctrl1 = 0xcb37cb37,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00f3cf00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data wndr4300_ar8327_data = {
- .pad0_cfg = &wndr4300_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wndr4300_ar8327_led_cfg,
-};
-
-static struct mdio_board_info wndr4300_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wndr4300_ar8327_data,
- },
-};
-
-static void __init wndr4300_setup(void)
-{
- int i;
-
- for (i = 0; i < ARRAY_SIZE(wndr4300_leds_gpio); i++)
- ath79_gpio_output_select(wndr4300_leds_gpio[i].gpio,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wndr4300_leds_gpio),
- wndr4300_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WNDR4300_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wndr4300_gpio_keys),
- wndr4300_gpio_keys);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-
- mdiobus_register_board_info(wndr4300_mdio0_info,
- ARRAY_SIZE(wndr4300_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- /* GMAC0 is connected to an AR8327N switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
- ath79_register_nfc();
- ath79_register_usb();
-
- ath79_register_wmac_simple();
-
- /* enable power for the USB port */
- ap9x_pci_setup_wmac_gpio(0, BIT(WNDR4300_GPIO_USB_5V),
- BIT(WNDR4300_GPIO_USB_5V));
-
- ap91_pci_init_simple();
-}
-
-MIPS_MACHINE(ATH79_MACH_WNDR3700_V4, "WNDR3700_V4", "NETGEAR WNDR3700v4",
- wndr4300_setup);
-MIPS_MACHINE(ATH79_MACH_WNDR4300, "WNDR4300", "NETGEAR WNDR4300",
- wndr4300_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c
deleted file mode 100644
index 76c9cb99c9..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c
+++ /dev/null
@@ -1,637 +0,0 @@
-/*
- * NETGEAR WNR2000v3/WNR612v2/WNR1000v2/WPN824N board support
- *
- * Copyright (C) 2015 Hartmut Knaack <knaack.h@gmx.de>
- * Copyright (C) 2013 Mathieu Olivari <mathieu.olivari@gmail.com>
- * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- * Copyright (C) 2008-2009 Andy Boyett <agb@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/kernel.h> /* for max() macro */
-#include <linux/platform_device.h> /* PLATFORM_DEVID_AUTO is defined here */
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h> /* needed to disable switch LEDs */
-#include "common.h" /* needed to disable switch LEDs */
-
-#include "dev-ap9x-pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "machtypes.h"
-
-/* WNR2000v3 - connected through AR7241 */
-#define WNR2000V3_GPIO_LED_WAN_GREEN 0
-#define WNR2000V3_GPIO_LED_LAN1_AMBER 1
-#define WNR2000V3_GPIO_LED_LAN2_AMBER 6
-#define WNR2000V3_GPIO_LED_WPS_GREEN 7
-#define WNR2000V3_GPIO_LED_LAN3_AMBER 8
-#define WNR2000V3_GPIO_BTN_WPS 11
-#define WNR2000V3_GPIO_LED_LAN4_AMBER 12
-#define WNR2000V3_GPIO_LED_LAN1_GREEN 13
-#define WNR2000V3_GPIO_LED_LAN2_GREEN 14
-#define WNR2000V3_GPIO_LED_LAN3_GREEN 15
-#define WNR2000V3_GPIO_LED_LAN4_GREEN 16
-#define WNR2000V3_GPIO_LED_WAN_AMBER 17
-
-/* WNR2000v3 - connected through AR9287 */
-#define WNR2000V3_GPIO_WMAC_LED_WLAN_BLUE 1
-#define WNR2000V3_GPIO_WMAC_LED_TEST_AMBER 2
-#define WNR2000V3_GPIO_WMAC_LED_POWER_GREEN 3
-#define WNR2000V3_GPIO_WMAC_BTN_RESET 8
-#define WNR2000V3_GPIO_WMAC_BTN_RFKILL 9
-
-/* WNR612v2 - connected through AR7241 */
-#define WNR612V2_GPIO_LED_POWER_GREEN 11
-#define WNR612V2_GPIO_LED_LAN1_GREEN 13
-#define WNR612V2_GPIO_LED_LAN2_GREEN 14
-#define WNR612V2_GPIO_LED_WAN_GREEN 17
-
-/* WNR612v2 - connected through AR9285 */
-#define WNR612V2_GPIO_WMAC_LED_WLAN_GREEN 1
-#define WNR612V2_GPIO_WMAC_BTN_RESET 7
-
-/* WNR1000v2 - connected through AR7240 */
-#define WNR1000V2_GPIO_LED_WAN_AMBER 0
-#define WNR1000V2_GPIO_LED_TEST_AMBER 1
-#define WNR1000V2_GPIO_LED_LAN1_AMBER 6 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR1000V2_GPIO_LED_LAN2_AMBER 7 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR1000V2_GPIO_LED_LAN3_AMBER 8 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR1000V2_GPIO_LED_POWER_GREEN 11
-#define WNR1000V2_GPIO_LED_LAN4_AMBER 12
-#define WNR1000V2_GPIO_LED_LAN1_GREEN 13 /* AR724X_..._ETH_SWITCH_LED0 */
-#define WNR1000V2_GPIO_LED_LAN2_GREEN 14 /* AR724X_..._ETH_SWITCH_LED1 */
-#define WNR1000V2_GPIO_LED_LAN3_GREEN 15 /* AR724X_..._ETH_SWITCH_LED2 */
-#define WNR1000V2_GPIO_LED_LAN4_GREEN 16 /* AR724X_..._ETH_SWITCH_LED3 */
-#define WNR1000V2_GPIO_LED_WAN_GREEN 17 /* AR724X_..._ETH_SWITCH_LED4 */
-
-/* WNR1000v2 - connected through AR9285 */
-#define WNR1000V2_GPIO_WMAC_LED_WLAN_BLUE 1
-#define WNR1000V2_GPIO_WMAC_LED_WPS_GREEN 5
-#define WNR1000V2_GPIO_WMAC_BTN_WPS 6
-#define WNR1000V2_GPIO_WMAC_BTN_RESET 7
-#define WNR1000V2_GPIO_WMAC_BTN_RFKILL 8
-
-/* WPN824N - connected through AR7240 */
-#define WPN824N_GPIO_LED_WAN_AMBER 0
-#define WPN824N_GPIO_LED_STATUS_AMBER 1
-#define WPN824N_GPIO_LED_LAN1_AMBER 6 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WPN824N_GPIO_LED_LAN2_AMBER 7 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WPN824N_GPIO_LED_LAN3_AMBER 8 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WPN824N_GPIO_LED_LAN4_AMBER 12
-#define WPN824N_GPIO_LED_LAN1_GREEN 13
-#define WPN824N_GPIO_LED_LAN2_GREEN 14
-#define WPN824N_GPIO_LED_LAN3_GREEN 15 /* AR724X_GPIO_FUNC_CLK_OBS3_EN */
-#define WPN824N_GPIO_LED_LAN4_GREEN 16
-#define WPN824N_GPIO_LED_WAN_GREEN 17
-
-/* WPN824N - connected through AR9285 */
-#define WPN824N_WGPIO_LED_PWR_GREEN 0
-#define WPN824N_WGPIO_LED_WLAN_BLUE 1
-#define WPN824N_WGPIO_LED_WPS1_BLUE 5
-#define WPN824N_WGPIO_LED_WPS2_BLUE 9
-#define WPN824N_WGPIO_LED_TEST_AMBER 10
-#define WPN824N_WGPIO_BTN_WPS 6
-#define WPN824N_WGPIO_BTN_RESET 7
-#define WPN824N_WGPIO_BTN_WLAN 8
-
-#define WNR2000V3_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNR2000V3_KEYS_DEBOUNCE_INTERVAL (3 * WNR2000V3_KEYS_POLL_INTERVAL)
-
-/* ART offsets for: WNR2000v3, WNR612v2, WNR1000v2 */
-#define WNR2000V3_MAC0_OFFSET 0
-#define WNR2000V3_MAC1_OFFSET 6
-#define WNR2000V3_PCIE_CALDATA_OFFSET 0x1000
-#define WNR2000V3_WMAC_OFFSET 0x108c /* wireless MAC is inside ART */
-
-static struct gpio_led wnr2000v3_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:wan",
- .gpio = WNR2000V3_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan1",
- .gpio = WNR2000V3_GPIO_LED_LAN1_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan2",
- .gpio = WNR2000V3_GPIO_LED_LAN2_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan3",
- .gpio = WNR2000V3_GPIO_LED_LAN3_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan4",
- .gpio = WNR2000V3_GPIO_LED_LAN4_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:wps",
- .gpio = WNR2000V3_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan1",
- .gpio = WNR2000V3_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan2",
- .gpio = WNR2000V3_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan3",
- .gpio = WNR2000V3_GPIO_LED_LAN3_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan4",
- .gpio = WNR2000V3_GPIO_LED_LAN4_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:amber:wan",
- .gpio = WNR2000V3_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr2000v3_wmac_leds_gpio[] = {
- {
- .name = "netgear:green:power",
- .gpio = WNR2000V3_GPIO_WMAC_LED_POWER_GREEN,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }, {
- .name = "netgear:amber:test",
- .gpio = WNR2000V3_GPIO_WMAC_LED_TEST_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wlan",
- .gpio = WNR2000V3_GPIO_WMAC_LED_WLAN_BLUE,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr612v2_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNR612V2_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan1",
- .gpio = WNR612V2_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan2",
- .gpio = WNR612V2_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:wan",
- .gpio = WNR612V2_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr612v2_wmac_leds_gpio[] = {
- {
- .name = "netgear:green:wlan",
- .gpio = WNR612V2_GPIO_WMAC_LED_WLAN_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr1000v2_leds_gpio[] __initdata = {
- {
- .name = "netgear:amber:lan1",
- .gpio = WNR1000V2_GPIO_LED_LAN1_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan2",
- .gpio = WNR1000V2_GPIO_LED_LAN2_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan3",
- .gpio = WNR1000V2_GPIO_LED_LAN3_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan4",
- .gpio = WNR1000V2_GPIO_LED_LAN4_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:test",
- .gpio = WNR1000V2_GPIO_LED_TEST_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:wan",
- .gpio = WNR1000V2_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan1",
- .gpio = WNR1000V2_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan2",
- .gpio = WNR1000V2_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan3",
- .gpio = WNR1000V2_GPIO_LED_LAN3_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan4",
- .gpio = WNR1000V2_GPIO_LED_LAN4_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:power",
- .gpio = WNR1000V2_GPIO_LED_POWER_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:wan",
- .gpio = WNR1000V2_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr1000v2_wmac_leds_gpio[] = {
- {
- .name = "netgear:green:wps",
- .gpio = WNR1000V2_GPIO_WMAC_LED_WPS_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wlan",
- .gpio = WNR1000V2_GPIO_WMAC_LED_WLAN_BLUE,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wpn824n_leds_gpio[] __initdata = {
- {
- .name = "netgear:amber:wan",
- .gpio = WPN824N_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:status",
- .gpio = WPN824N_GPIO_LED_STATUS_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan1",
- .gpio = WPN824N_GPIO_LED_LAN1_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan2",
- .gpio = WPN824N_GPIO_LED_LAN2_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan3",
- .gpio = WPN824N_GPIO_LED_LAN3_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan4",
- .gpio = WPN824N_GPIO_LED_LAN4_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan1",
- .gpio = WPN824N_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan2",
- .gpio = WPN824N_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan3",
- .gpio = WPN824N_GPIO_LED_LAN3_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan4",
- .gpio = WPN824N_GPIO_LED_LAN4_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:wan",
- .gpio = WPN824N_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wpn824n_wmac_leds_gpio[] = {
- {
- .name = "netgear:green:power",
- .gpio = WPN824N_WGPIO_LED_PWR_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wps1",
- .gpio = WPN824N_WGPIO_LED_WPS1_BLUE,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wps2",
- .gpio = WPN824N_WGPIO_LED_WPS2_BLUE,
- .active_low = 1,
- }, {
- .name = "netgear:amber:test",
- .gpio = WPN824N_WGPIO_LED_TEST_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wlan",
- .gpio = WPN824N_WGPIO_LED_WLAN_BLUE,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr2000v3_keys_gpio[] __initdata = {
- {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V3_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr2000v3_wmac_keys_gpio[] = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V3_GPIO_WMAC_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V3_GPIO_WMAC_BTN_RFKILL,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr612v2_wmac_keys_gpio[] = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR612V2_GPIO_WMAC_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr1000v2_wmac_keys_gpio[] = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR1000V2_GPIO_WMAC_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR1000V2_GPIO_WMAC_BTN_RFKILL,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR1000V2_GPIO_WMAC_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wpn824n_wmac_keys_gpio[] = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPN824N_WGPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPN824N_WGPIO_BTN_WLAN,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2000V3_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPN824N_WGPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-/*
- * For WNR2000v3 ART flash area used for WLAN MAC is usually empty (0xff)
- * so ath9k driver uses random MAC instead each time module is loaded.
- * To fix that, assign permanent WLAN MAC equal to ethN's MAC plus 1,
- * so network interfaces get sequential addresses.
- * If ART wireless MAC address field has been filled by user, use it.
- */
-static void __init wnr_get_wmac(u8 *wmac_gen_addr, int mac0_art_offset,
- int mac1_art_offset, int wmac_art_offset)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *eth0_mac_addr = (u8 *) (art + mac0_art_offset);
- u8 *eth1_mac_addr = (u8 *) (art + mac1_art_offset);
- u8 *wlan_mac_addr = (u8 *) (art + wmac_art_offset);
-
- /* only 0xff if all bits are set - address is invalid, empty area */
- if ((wlan_mac_addr[0] & wlan_mac_addr[1] & wlan_mac_addr[2] &
- wlan_mac_addr[3] & wlan_mac_addr[4] & wlan_mac_addr[5]) == 0xff) {
- memcpy(wmac_gen_addr, eth0_mac_addr, 5);
- wmac_gen_addr[5] = max(eth0_mac_addr[5], eth1_mac_addr[5]) + 1;
-
- /* Avoid potential conflict in case max(0xff,0x00)+1==0x00 */
- if (!wmac_gen_addr[5])
- wmac_gen_addr[5] = 1;
- } else
- memcpy(wmac_gen_addr, wlan_mac_addr, 6);
-}
-
-static void __init wnr_common_setup(u8 *wmac_addr)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art+WNR2000V3_MAC0_OFFSET, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art+WNR2000V3_MAC1_OFFSET, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
- ap91_pci_init(art + WNR2000V3_PCIE_CALDATA_OFFSET, wmac_addr);
-}
-
-static void __init wnr2000v3_setup(void)
-{
- u8 wlan_mac_addr[6];
-
- /*
- * Disable JTAG to use all AR724X GPIO LEDs.
- * Also disable CLKs and bit 20 as u-boot does.
- * Finally, allow OS to control all link LEDs.
- */
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE |
- AR724X_GPIO_FUNC_UART_EN,
- AR724X_GPIO_FUNC_CLK_OBS1_EN |
- AR724X_GPIO_FUNC_CLK_OBS2_EN |
- AR724X_GPIO_FUNC_CLK_OBS3_EN |
- AR724X_GPIO_FUNC_CLK_OBS4_EN |
- AR724X_GPIO_FUNC_CLK_OBS5_EN |
- AR724X_GPIO_FUNC_GE0_MII_CLK_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN |
- BIT(20));
-
- wnr_get_wmac(wlan_mac_addr, WNR2000V3_MAC0_OFFSET,
- WNR2000V3_MAC1_OFFSET, WNR2000V3_WMAC_OFFSET);
-
- wnr_common_setup(wlan_mac_addr);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000v3_leds_gpio),
- wnr2000v3_leds_gpio);
-
- /* Do not use id=-1, we can have more GPIO key-polled devices */
- ath79_register_gpio_keys_polled(PLATFORM_DEVID_AUTO,
- WNR2000V3_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wnr2000v3_keys_gpio),
- wnr2000v3_keys_gpio);
-
- ap9x_pci_setup_wmac_leds(0, wnr2000v3_wmac_leds_gpio,
- ARRAY_SIZE(wnr2000v3_wmac_leds_gpio));
-
- ap9x_pci_setup_wmac_btns(0, wnr2000v3_wmac_keys_gpio,
- ARRAY_SIZE(wnr2000v3_wmac_keys_gpio),
- WNR2000V3_KEYS_POLL_INTERVAL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR2000_V3, "WNR2000V3", "NETGEAR WNR2000 V3", wnr2000v3_setup);
-
-static void __init wnr612v2_setup(void)
-{
- u8 wlan_mac_addr[6];
-
- /*
- * Disable JTAG and CLKs. Allow OS to control all link LEDs.
- * Note: U-Boot for WNR612v2 sets undocumented bit 15 but
- * we leave it for now.
- */
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE |
- AR724X_GPIO_FUNC_UART_EN,
- AR724X_GPIO_FUNC_CLK_OBS1_EN |
- AR724X_GPIO_FUNC_CLK_OBS2_EN |
- AR724X_GPIO_FUNC_CLK_OBS3_EN |
- AR724X_GPIO_FUNC_CLK_OBS4_EN |
- AR724X_GPIO_FUNC_CLK_OBS5_EN |
- AR724X_GPIO_FUNC_GE0_MII_CLK_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- wnr_get_wmac(wlan_mac_addr, WNR2000V3_MAC0_OFFSET,
- WNR2000V3_MAC1_OFFSET, WNR2000V3_WMAC_OFFSET);
-
- wnr_common_setup(wlan_mac_addr);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr612v2_leds_gpio),
- wnr612v2_leds_gpio);
-
- ap9x_pci_setup_wmac_leds(0, wnr612v2_wmac_leds_gpio,
- ARRAY_SIZE(wnr612v2_wmac_leds_gpio));
-
- ap9x_pci_setup_wmac_btns(0, wnr612v2_wmac_keys_gpio,
- ARRAY_SIZE(wnr612v2_wmac_keys_gpio),
- WNR2000V3_KEYS_POLL_INTERVAL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR612_V2, "WNR612V2", "NETGEAR WNR612 V2", wnr612v2_setup);
-
-static void __init wnr1000v2_setup(void)
-{
- u8 wlan_mac_addr[6];
-
- /*
- * Disable JTAG and CLKs. Allow OS to control all link LEDs.
- * Note: U-Boot for WNR1000v2 sets undocumented bit 15 but
- * we leave it for now.
- */
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE |
- AR724X_GPIO_FUNC_UART_EN,
- AR724X_GPIO_FUNC_CLK_OBS1_EN |
- AR724X_GPIO_FUNC_CLK_OBS2_EN |
- AR724X_GPIO_FUNC_CLK_OBS3_EN |
- AR724X_GPIO_FUNC_CLK_OBS4_EN |
- AR724X_GPIO_FUNC_CLK_OBS5_EN |
- AR724X_GPIO_FUNC_GE0_MII_CLK_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- wnr_get_wmac(wlan_mac_addr, WNR2000V3_MAC0_OFFSET,
- WNR2000V3_MAC1_OFFSET, WNR2000V3_WMAC_OFFSET);
-
- wnr_common_setup(wlan_mac_addr);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr1000v2_leds_gpio),
- wnr1000v2_leds_gpio);
-
- ap9x_pci_setup_wmac_leds(0, wnr1000v2_wmac_leds_gpio,
- ARRAY_SIZE(wnr1000v2_wmac_leds_gpio));
-
- /* All 3 buttons are connected to wireless chip */
- ap9x_pci_setup_wmac_btns(0, wnr1000v2_wmac_keys_gpio,
- ARRAY_SIZE(wnr1000v2_wmac_keys_gpio),
- WNR2000V3_KEYS_POLL_INTERVAL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR1000_V2, "WNR1000V2", "NETGEAR WNR1000 V2", wnr1000v2_setup);
-
-static void __init wpn824n_setup(void)
-{
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE,
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN |
- AR724X_GPIO_FUNC_CLK_OBS3_EN);
-
- wnr_common_setup(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wpn824n_leds_gpio),
- wpn824n_leds_gpio);
-
- ap9x_pci_setup_wmac_leds(0, wpn824n_wmac_leds_gpio,
- ARRAY_SIZE(wpn824n_wmac_leds_gpio));
- ap9x_pci_setup_wmac_btns(0, wpn824n_wmac_keys_gpio,
- ARRAY_SIZE(wpn824n_wmac_keys_gpio),
- WNR2000V3_KEYS_POLL_INTERVAL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPN824N, "WPN824N", "NETGEAR WPN824N", wpn824n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v4.c
deleted file mode 100644
index c5159a30ca..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v4.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * NETGEAR WNR2000v4 board support
- *
- * Copyright (C) 2015 Michael Bazzinotti <mbazzinotti@gmail.com>
- * Copyright (C) 2014 Michaël Burtin <mburtin@gmail.com>
- * Copyright (C) 2013 Mathieu Olivari <mathieu.olivari@gmail.com>
- * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- * Copyright (C) 2008-2009 Andy Boyett <agb@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-/* AR9341 GPIOs */
-#define WNR2000V4_GPIO_LED_PWR_GREEN 0
-#define WNR2000V4_GPIO_LED_PWR_AMBER 1
-#define WNR2000V4_GPIO_LED_WPS 2
-#define WNR2000V4_GPIO_LED_WLAN 12
-#define WNR2000V4_GPIO_LED_LAN1_GREEN 13
-#define WNR2000V4_GPIO_LED_LAN2_GREEN 14
-#define WNR2000V4_GPIO_LED_LAN3_GREEN 15
-#define WNR2000V4_GPIO_LED_LAN4_GREEN 16
-#define WNR2000V4_GPIO_LED_LAN1_AMBER 18
-#define WNR2000V4_GPIO_LED_LAN2_AMBER 19
-#define WNR2000V4_GPIO_LED_LAN3_AMBER 20
-#define WNR2000V4_GPIO_LED_LAN4_AMBER 21
-#define WNR2000V4_GPIO_LED_WAN_GREEN 17
-#define WNR2000V4_GPIO_LED_WAN_AMBER 22
-/* Buttons */
-#define WNR2000V4_GPIO_BTN_WPS 3
-#define WNR2000V4_GPIO_BTN_RESET 4
-#define WNR2000V4_GPIO_BTN_WLAN 11
-#define WNR2000V4_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNR2000V4_KEYS_DEBOUNCE_INTERVAL (3 * WNR2000V4_KEYS_POLL_INTERVAL)
-
-
-/* ART offsets */
-#define WNR2000V4_MAC0_OFFSET 0 /* WAN/WLAN0 MAC */
-#define WNR2000V4_MAC1_OFFSET 6 /* Eth-switch0 MAC */
-
-static struct gpio_led wnr2000v4_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNR2000V4_GPIO_LED_PWR_GREEN,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
- .name = "netgear:amber:status",
- .gpio = WNR2000V4_GPIO_LED_PWR_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wan",
- .gpio = WNR2000V4_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:wan",
- .gpio = WNR2000V4_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:blue:wlan",
- .gpio = WNR2000V4_GPIO_LED_WLAN,
- .active_low = 1,
- },
- /* LAN LEDS */
- {
- .name = "netgear:green:lan1",
- .gpio = WNR2000V4_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:green:lan2",
- .gpio = WNR2000V4_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:green:lan3",
- .gpio = WNR2000V4_GPIO_LED_LAN3_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:green:lan4",
- .gpio = WNR2000V4_GPIO_LED_LAN4_GREEN,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:lan1",
- .gpio = WNR2000V4_GPIO_LED_LAN1_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:lan2",
- .gpio = WNR2000V4_GPIO_LED_LAN2_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:lan3",
- .gpio = WNR2000V4_GPIO_LED_LAN3_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:amber:lan4",
- .gpio = WNR2000V4_GPIO_LED_LAN4_AMBER,
- .active_low = 1,
- },
- {
- .name = "netgear:green:wps",
- .gpio = WNR2000V4_GPIO_LED_WPS,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wnr2000v4_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2000V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V4_GPIO_BTN_WPS,
- .active_low = 1,
- },
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V4_GPIO_BTN_RESET,
- .active_low = 1,
- },
- {
- .desc = "WLAN button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNR2000V4_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000V4_GPIO_BTN_WLAN,
- .active_low = 1,
- },
-};
-
-static void __init wnr_common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_mdio(1, 0x0);
-
- ath79_register_usb();
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art+WNR2000V4_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art+WNR2000V4_MAC1_OFFSET, 0);
-
- /* GMAC0 is connected to the PHY0 of the internal switch, GE0 */
- 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_register_eth(0);
-
- /* GMAC1 is connected to the internal switch, GE1 */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_register_eth(1);
-
- ath79_register_wmac(ee, art);
-}
-
-static void __init wnr2000v4_setup(void)
-{
- int i;
-
- wnr_common_setup();
-
- /* Ensure no LED has an internal MUX signal, otherwise
- control of LED could be lost... This is especially important
- for most green LEDS (Eth,WAN).. who arrive in this function with
- MUX signals set. */
- for (i = 0; i < ARRAY_SIZE(wnr2000v4_leds_gpio); i++)
- ath79_gpio_output_select(wnr2000v4_leds_gpio[i].gpio,
- AR934X_GPIO_OUT_GPIO);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000v4_leds_gpio),
- wnr2000v4_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WNR2000V4_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wnr2000v4_gpio_keys),
- wnr2000v4_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR2000_V4, "WNR2000V4", "NETGEAR WNR2000 V4", wnr2000v4_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000.c
deleted file mode 100644
index 6e3becab3a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * NETGEAR WNR2000 board support
- *
- * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- * Copyright (C) 2008-2009 Andy Boyett <agb@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ath79.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 WNR2000_GPIO_LED_PWR_GREEN 14
-#define WNR2000_GPIO_LED_PWR_AMBER 7
-#define WNR2000_GPIO_LED_WPS 4
-#define WNR2000_GPIO_LED_WLAN 6
-#define WNR2000_GPIO_BTN_RESET 21
-#define WNR2000_GPIO_BTN_WPS 8
-
-#define WNR2000_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNR2000_KEYS_DEBOUNCE_INTERVAL (3 * WNR2000_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wnr2000_leds_gpio[] __initdata = {
- {
- .name = "netgear:green:power",
- .gpio = WNR2000_GPIO_LED_PWR_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:amber:power",
- .gpio = WNR2000_GPIO_LED_PWR_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:wps",
- .gpio = WNR2000_GPIO_LED_WPS,
- .active_low = 1,
- }, {
- .name = "netgear:blue:wlan",
- .gpio = WNR2000_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr2000_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000_GPIO_BTN_RESET,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2000_GPIO_BTN_WPS,
- }
-};
-
-static void __init wnr2000_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.has_ar8216 = 1;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000_leds_gpio),
- wnr2000_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WNR2000_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wnr2000_gpio_keys),
- wnr2000_gpio_keys);
-
- ath79_register_wmac(eeprom, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR2000, "WNR2000", "NETGEAR WNR2000", wnr2000_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2200.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2200.c
deleted file mode 100644
index 74166c5376..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2200.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * NETGEAR WNR2200 board support
- *
- * Copyright (C) 2013 Aidan Kissane <aidankissane at googlemail.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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/kernel.h> /* for max() macro */
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h> /* needed to disable switch LEDs */
-#include "common.h" /* needed to disable switch LEDs */
-
-#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-usb.h"
-#include "machtypes.h"
-
-/* WNR2200 - connected through AR7241 */
-#define WNR2200_GPIO_LED_LAN2_AMBER 0
-#define WNR2200_GPIO_LED_LAN4_AMBER 1
-#define WNR2200_GPIO_LED_LAN1_AMBER 6 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR2200_GPIO_LED_WPS_GREEN 7 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR2200_GPIO_LED_USB_GREEN 8 /* AR724X_GPIO_FUNC_JTAG_DISABLE */
-#define WNR2200_GPIO_LED_LAN3_AMBER 11
-#define WNR2200_GPIO_LED_WAN_AMBER 12
-#define WNR2200_GPIO_LED_LAN1_GREEN 13 /* AR724X_..._ETH_SWITCH_LED0 */
-#define WNR2200_GPIO_LED_LAN2_GREEN 14 /* AR724X_..._ETH_SWITCH_LED1 */
-#define WNR2200_GPIO_LED_LAN3_GREEN 15 /* AR724X_..._ETH_SWITCH_LED2 */
-#define WNR2200_GPIO_LED_LAN4_GREEN 16 /* AR724X_..._ETH_SWITCH_LED3 */
-#define WNR2200_GPIO_LED_WAN_GREEN 17 /* AR724X_..._ETH_SWITCH_LED4 */
-
-/* WNR2200 - connected through AR9287 */
-#define WNR2200_GPIO_WMAC_LED_WLAN_BLUE 0
-#define WNR2200_GPIO_WMAC_LED_TEST_AMBER 1
-#define WNR2200_GPIO_WMAC_LED_POWER_GREEN 2
-#define WNR2200_GPIO_WMAC_BTN_RFKILL 3
-#define WNR2200_GPIO_WMAC_USB_5V 4
-#define WNR2200_GPIO_WMAC_BTN_WPS 5
-#define WNR2200_GPIO_WMAC_BTN_RESET 6
-
-#define WNR2200_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WNR2200_KEYS_DEBOUNCE_INTERVAL (3 * WNR2200_KEYS_POLL_INTERVAL)
-
-#define WNR2200_MAC0_OFFSET 0
-#define WNR2200_MAC1_OFFSET 6
-#define WNR2200_PCIE_CALDATA_OFFSET 0x1000
-#define WNR2200_WMAC_OFFSET 0x108c /* wireless MAC is inside ART */
-
-static struct gpio_led wnr2200_leds_gpio[] __initdata = {
- {
- .name = "netgear:amber:lan1",
- .gpio = WNR2200_GPIO_LED_LAN1_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan2",
- .gpio = WNR2200_GPIO_LED_LAN2_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan3",
- .gpio = WNR2200_GPIO_LED_LAN3_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:lan4",
- .gpio = WNR2200_GPIO_LED_LAN4_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:amber:wan",
- .gpio = WNR2200_GPIO_LED_WAN_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan1",
- .gpio = WNR2200_GPIO_LED_LAN1_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan2",
- .gpio = WNR2200_GPIO_LED_LAN2_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan3",
- .gpio = WNR2200_GPIO_LED_LAN3_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:lan4",
- .gpio = WNR2200_GPIO_LED_LAN4_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:usb",
- .gpio = WNR2200_GPIO_LED_USB_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:wan",
- .gpio = WNR2200_GPIO_LED_WAN_GREEN,
- .active_low = 1,
- }, {
- .name = "netgear:green:wps",
- .gpio = WNR2200_GPIO_LED_WPS_GREEN,
- .active_low = 1,
- }
-};
-
-static struct gpio_led wnr2200_wmac_leds_gpio[] = {
- {
- .name = "netgear:amber:test",
- .gpio = WNR2200_GPIO_WMAC_LED_TEST_AMBER,
- .active_low = 1,
- }, {
- .name = "netgear:green:power",
- .gpio = WNR2200_GPIO_WMAC_LED_POWER_GREEN,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_ON,
- }, {
- .name = "netgear:blue:wlan",
- .gpio = WNR2200_GPIO_WMAC_LED_WLAN_BLUE,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wnr2200_wmac_keys_gpio[] = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WNR2200_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2200_GPIO_WMAC_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "rfkill",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WNR2200_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2200_GPIO_WMAC_BTN_RFKILL,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WNR2200_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WNR2200_GPIO_WMAC_BTN_WPS,
- .active_low = 1,
- }
-};
-
-/*
- * For WNR2200 ART flash area used for WLAN MAC is usually empty (0xff)
- * so ath9k driver uses random MAC instead each time module is loaded.
- * OpenWrt's original fix was to copy eth1 address to WLAN interface.
- * New solution does not duplicate hardware addresses and is taken from
- * WNR2000v3 code. It assigns permanent WLAN MAC equal to ethN's MAC
- * plus 1, so network interfaces get sequential addresses.
- * If ART wireless MAC address field has been filled by user, use it.
- */
-static void __init wnr2200_get_wmac(u8 *wmac_gen_addr, int mac0_art_offset,
- int mac1_art_offset, int wmac_art_offset)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *eth0_mac_addr = (u8 *) (art + mac0_art_offset);
- u8 *eth1_mac_addr = (u8 *) (art + mac1_art_offset);
- u8 *wlan_mac_addr = (u8 *) (art + wmac_art_offset);
-
- /* only 0xff if all bits are set - address is invalid, empty area */
- if ((wlan_mac_addr[0] & wlan_mac_addr[1] & wlan_mac_addr[2] &
- wlan_mac_addr[3] & wlan_mac_addr[4] & wlan_mac_addr[5]) == 0xff) {
- memcpy(wmac_gen_addr, eth0_mac_addr, 5);
- wmac_gen_addr[5] = max(eth0_mac_addr[5], eth1_mac_addr[5]) + 1;
-
- /* Avoid potential conflict in case max(0xff,0x00)+1==0x00 */
- if (!wmac_gen_addr[5])
- wmac_gen_addr[5] = 1;
- } else
- memcpy(wmac_gen_addr, wlan_mac_addr, 6);
-}
-
-static void __init wnr2200_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 wlan_mac_addr[6];
-
- /*
- * Disable JTAG to use all AR724X GPIO LEDs. Disable CLKs.
- * Allow OS to control all link LEDs.
- */
- ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE |
- AR724X_GPIO_FUNC_UART_EN,
- AR724X_GPIO_FUNC_CLK_OBS1_EN |
- AR724X_GPIO_FUNC_CLK_OBS2_EN |
- AR724X_GPIO_FUNC_CLK_OBS3_EN |
- AR724X_GPIO_FUNC_CLK_OBS4_EN |
- AR724X_GPIO_FUNC_CLK_OBS5_EN |
- AR724X_GPIO_FUNC_GE0_MII_CLK_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + WNR2200_MAC0_OFFSET, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, art + WNR2200_MAC1_OFFSET, 0);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(NULL);
-
- wnr2200_get_wmac(wlan_mac_addr, WNR2200_MAC0_OFFSET,
- WNR2200_MAC1_OFFSET, WNR2200_WMAC_OFFSET);
- ap9x_pci_setup_wmac_led_pin(0, 0);
- ap91_pci_init(art + WNR2200_PCIE_CALDATA_OFFSET, wlan_mac_addr);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2200_leds_gpio),
- wnr2200_leds_gpio);
-
- ap9x_pci_setup_wmac_leds(0, wnr2200_wmac_leds_gpio,
- ARRAY_SIZE(wnr2200_wmac_leds_gpio));
-
- /* All 3 buttons are connected to wireless chip */
- ap9x_pci_setup_wmac_btns(0, wnr2200_wmac_keys_gpio,
- ARRAY_SIZE(wnr2200_wmac_keys_gpio),
- WNR2200_KEYS_POLL_INTERVAL);
-
- /* enable power for the USB port */
- ap9x_pci_setup_wmac_gpio(0, BIT(WNR2200_GPIO_WMAC_USB_5V),
- BIT(WNR2200_GPIO_WMAC_USB_5V));
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_WNR2200, "WNR2200", "NETGEAR WNR2200", wnr2200_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wp543.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wp543.c
deleted file mode 100644
index dc4aee0c1b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wp543.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Compex WP543/WPJ543 board support
- *
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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 <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define WP543_GPIO_SW6 2
-#define WP543_GPIO_LED_1 3
-#define WP543_GPIO_LED_2 4
-#define WP543_GPIO_LED_WLAN 5
-#define WP543_GPIO_LED_CONN 6
-#define WP543_GPIO_LED_DIAG 7
-#define WP543_GPIO_SW4 8
-
-#define WP543_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WP543_KEYS_DEBOUNCE_INTERVAL (3 * WP543_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wp543_leds_gpio[] __initdata = {
- {
- .name = "wp543:green:led1",
- .gpio = WP543_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "wp543:green:led2",
- .gpio = WP543_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "wp543:green:wlan",
- .gpio = WP543_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "wp543:green:conn",
- .gpio = WP543_GPIO_LED_CONN,
- .active_low = 1,
- }, {
- .name = "wp543:green:diag",
- .gpio = WP543_GPIO_LED_DIAG,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wp543_gpio_keys[] __initdata = {
- {
- .desc = "sw6",
- .type = EV_KEY,
- .code = BTN_0,
- .debounce_interval = WP543_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WP543_GPIO_SW6,
- .active_low = 1,
- }, {
- .desc = "sw4",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WP543_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WP543_GPIO_SW4,
- .active_low = 1,
- }
-};
-
-static const char *wp543_part_probes[] = {
- "MyLoader",
- NULL,
-};
-
-static struct flash_platform_data wp543_flash_data = {
- .part_probes = wp543_part_probes,
-};
-
-static void __init wp543_setup(void)
-{
- ath79_register_m25p80(&wp543_flash_data);
-
- ath79_register_mdio(0, 0xfffffff0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = 0x0f;
- ath79_eth0_data.reset_bit = AR71XX_RESET_GE0_MAC |
- AR71XX_RESET_GE0_PHY;
- ath79_register_eth(0);
-
- ath79_register_usb();
- ath79_register_pci();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wp543_leds_gpio),
- wp543_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WP543_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wp543_gpio_keys),
- wp543_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_WP543, "WP543", "Compex WP543", wp543_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpe72.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpe72.c
deleted file mode 100644
index 9452484279..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpe72.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Compex WPE72 board support
- *
- * Copyright (C) 2012 Johnathan Boyce<jon.boyce@globalreach.eu.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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-#include "pci.h"
-
-#define WPE72_GPIO_RESET 12
-#define WPE72_GPIO_LED_DIAG 13
-#define WPE72_GPIO_LED_1 14
-#define WPE72_GPIO_LED_2 15
-#define WPE72_GPIO_LED_3 16
-#define WPE72_GPIO_LED_4 17
-
-#define WPE72_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPE72_KEYS_DEBOUNCE_INTERVAL (3 * WPE72_KEYS_POLL_INTERVAL)
-
-static struct gpio_led wpe72_leds_gpio[] __initdata = {
- {
- .name = "wpe72:green:led1",
- .gpio = WPE72_GPIO_LED_1,
- .active_low = 1,
- }, {
- .name = "wpe72:green:led2",
- .gpio = WPE72_GPIO_LED_2,
- .active_low = 1,
- }, {
- .name = "wpe72:green:led3",
- .gpio = WPE72_GPIO_LED_3,
- .active_low = 1,
- }, {
- .name = "wpe72:green:led4",
- .gpio = WPE72_GPIO_LED_4,
- .active_low = 1,
- }, {
- .name = "wpe72:green:diag",
- .gpio = WPE72_GPIO_LED_DIAG,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wpe72_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPE72_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPE72_GPIO_RESET,
- .active_low = 1,
- }
-};
-
-static const char *wpe72_part_probes[] = {
- "MyLoader",
- NULL,
-};
-
-static struct flash_platform_data wpe72_flash_data = {
- .part_probes = wpe72_part_probes,
-};
-
-static void __init wpe72_setup(void)
-{
- ath79_register_m25p80(&wpe72_flash_data);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_usb();
- ath79_register_pci();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wpe72_leds_gpio),
- wpe72_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WPE72_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wpe72_gpio_keys),
- wpe72_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPE72, "WPE72", "Compex WPE72", wpe72_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj342.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj342.c
deleted file mode 100644
index 65d6478867..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj342.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Compex WPJ342 board support
- *
- * Copyright (c) 2011 Qualcomm Atheros
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/irq.h>
-#include <linux/pci.h>
-#include <linux/phy.h>
-#include <linux/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/export.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "pci.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 WPJ342_GPIO_LED_STATUS 11
-#define WPJ342_GPIO_LED_SIG1 14
-#define WPJ342_GPIO_LED_SIG2 13
-#define WPJ342_GPIO_LED_SIG3 12
-#define WPJ342_GPIO_LED_SIG4 11
-#define WPJ342_GPIO_BUZZER 15
-
-#define WPJ342_GPIO_BTN_RESET 17
-
-#define WPJ342_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPJ342_KEYS_DEBOUNCE_INTERVAL (3 * WPJ342_KEYS_POLL_INTERVAL)
-
-#define WPJ342_MAC0_OFFSET 0x10
-#define WPJ342_MAC1_OFFSET 0x18
-#define WPJ342_WMAC_CALDATA_OFFSET 0x1000
-#define WPJ342_PCIE_CALDATA_OFFSET 0x5000
-
-#define WPJ342_ART_SIZE 0x8000
-
-static struct gpio_led wpj342_leds_gpio[] __initdata = {
- {
- .name = "wpj342:red:sig1",
- .gpio = WPJ342_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "wpj342:yellow:sig2",
- .gpio = WPJ342_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "wpj342:green:sig3",
- .gpio = WPJ342_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "wpj342:green:sig4",
- .gpio = WPJ342_GPIO_LED_SIG4,
- .active_low = 1,
- },
- {
- .name = "wpj342:buzzer",
- .gpio = WPJ342_GPIO_BUZZER,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button wpj342_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPJ342_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPJ342_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg wpj342_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg wpj342_ar8327_led_cfg = {
- .led_ctrl0 = 0x00000000,
- .led_ctrl1 = 0xc737c737,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00c30c00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data wpj342_ar8327_data = {
- .pad0_cfg = &wpj342_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wpj342_ar8327_led_cfg,
-};
-
-static struct mdio_board_info wpj342_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wpj342_ar8327_data,
- },
-};
-
-
-static void __init wpj342_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wpj342_leds_gpio),
- wpj342_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WPJ342_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wpj342_gpio_keys),
- wpj342_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + WPJ342_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- mdiobus_register_board_info(wpj342_mdio0_info,
- ARRAY_SIZE(wpj342_mdio0_info));
-
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ342_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac + WPJ342_MAC1_OFFSET, 0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0);
-
- /* GMAC0 is connected to an AR8236 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPJ342, "WPJ342", "Compex WPJ342", wpj342_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj344.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj344.c
deleted file mode 100644
index ffb9ef6dfa..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj344.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Compex WPJ344 board support
- *
- * Copyright (c) 2011 Qualcomm Atheros
- * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/phy.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 "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-usb.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WPJ344_GPIO_LED_SIG1 15
-#define WPJ344_GPIO_LED_SIG2 20
-#define WPJ344_GPIO_LED_SIG3 21
-#define WPJ344_GPIO_LED_SIG4 22
-#define WPJ344_GPIO_LED_STATUS 14
-
-#define WPJ344_GPIO_BTN_RESET 12
-
-#define WPJ344_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPJ344_KEYS_DEBOUNCE_INTERVAL (3 * WPJ344_KEYS_POLL_INTERVAL)
-
-#define WPJ344_MAC0_OFFSET 0x10
-#define WPJ344_MAC1_OFFSET 0x18
-#define WPJ344_WMAC_CALDATA_OFFSET 0x1000
-#define WPJ344_PCIE_CALDATA_OFFSET 0x5000
-
-static struct gpio_led wpj344_leds_gpio[] __initdata = {
- {
- .name = "wpj344:green:status",
- .gpio = WPJ344_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "wpj344:red:sig1",
- .gpio = WPJ344_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "wpj344:yellow:sig2",
- .gpio = WPJ344_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "wpj344:green:sig3",
- .gpio = WPJ344_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "wpj344:green:sig4",
- .gpio = WPJ344_GPIO_LED_SIG4,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wpj344_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPJ344_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPJ344_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg wpj344_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
- .mac06_exchange_dis = true,
-};
-
-static struct ar8327_led_cfg wpj344_ar8327_led_cfg = {
- .led_ctrl0 = 0x00000000,
- .led_ctrl1 = 0xc737c737,
- .led_ctrl2 = 0x00000000,
- .led_ctrl3 = 0x00c30c00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data wpj344_ar8327_data = {
- .pad0_cfg = &wpj344_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wpj344_ar8327_led_cfg,
-};
-
-static struct mdio_board_info wpj344_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wpj344_ar8327_data,
- },
-};
-
-static void __init wpj344_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wpj344_leds_gpio),
- wpj344_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WPJ344_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wpj344_gpio_keys),
- wpj344_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + WPJ344_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- mdiobus_register_board_info(wpj344_mdio0_info,
- ARRAY_SIZE(wpj344_mdio0_info));
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ344_MAC0_OFFSET, 0);
-
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPJ344, "WPJ344", "Compex WPJ344", wpj344_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
deleted file mode 100644
index 351293230f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Compex WPJ531 board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/irq.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "pci.h"
-#include "common.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WPJ531_GPIO_LED_SIG1 12
-#define WPJ531_GPIO_LED_SIG2 14
-#define WPJ531_GPIO_LED_SIG3 15
-#define WPJ531_GPIO_LED_SIG4 16
-#define WPJ531_GPIO_BUZZER 4
-
-#define WPJ531_GPIO_BTN_RESET 17
-
-#define WPJ531_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPJ531_KEYS_DEBOUNCE_INTERVAL (3 * WPJ531_KEYS_POLL_INTERVAL)
-
-#define WPJ531_MAC0_OFFSET 0x10
-#define WPJ531_MAC1_OFFSET 0x18
-#define WPJ531_WMAC_CALDATA_OFFSET 0x1000
-#define WPJ531_PCIE_CALDATA_OFFSET 0x5000
-
-#define WPJ531_ART_SIZE 0x8000
-
-static struct gpio_led wpj531_leds_gpio[] __initdata = {
- {
- .name = "wpj531:red:sig1",
- .gpio = WPJ531_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "wpj531:yellow:sig2",
- .gpio = WPJ531_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "wpj531:green:sig3",
- .gpio = WPJ531_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "wpj531:green:sig4",
- .gpio = WPJ531_GPIO_LED_SIG4,
- .active_low = 1,
- },
- {
- .name = "wpj531:buzzer",
- .gpio = WPJ531_GPIO_BUZZER,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button wpj531_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPJ531_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPJ531_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init common_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
-
- ath79_register_m25p80(NULL);
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ531_MAC0_OFFSET, 0);
- ath79_register_eth(0);
-
- /* WAN */
- 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.speed = SPEED_1000;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac + WPJ531_MAC1_OFFSET, 0);
- ath79_register_eth(1);
-
- ath79_register_wmac(art + WPJ531_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
- ath79_register_usb();
-}
-
-static void __init wpj531_setup(void)
-{
- common_setup();
-
- ath79_register_leds_gpio(-1,
- ARRAY_SIZE(wpj531_leds_gpio),
- wpj531_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1,
- WPJ531_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wpj531_gpio_keys),
- wpj531_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPJ531, "WPJ531", "Compex WPJ531", wpj531_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj558.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj558.c
deleted file mode 100644
index 1839cc6676..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj558.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Compex WPJ558 board support
- *
- * Copyright (c) 2012 Qualcomm Atheros
- * Copyright (c) 2012-2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <linux/ar8216_platform.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "pci.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-eth.h"
-#include "dev-usb.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-spi.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WPJ558_GPIO_LED_SIG1 14
-#define WPJ558_GPIO_LED_SIG2 15
-#define WPJ558_GPIO_LED_SIG3 22
-#define WPJ558_GPIO_LED_SIG4 23
-#define WPJ558_GPIO_BUZZER 4
-
-#define WPJ558_GPIO_BTN_RESET 17
-
-#define WPJ558_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPJ558_KEYS_DEBOUNCE_INTERVAL (3 * WPJ558_KEYS_POLL_INTERVAL)
-
-#define WPJ558_MAC_OFFSET 0x10
-#define WPJ558_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led wpj558_leds_gpio[] __initdata = {
- {
- .name = "wpj558:red:sig1",
- .gpio = WPJ558_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "wpj558:yellow:sig2",
- .gpio = WPJ558_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "wpj558:green:sig3",
- .gpio = WPJ558_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "wpj558:green:sig4",
- .gpio = WPJ558_GPIO_LED_SIG4,
- .active_low = 1,
- },
- {
- .name = "wpj558:buzzer",
- .gpio = WPJ558_GPIO_BUZZER,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button wpj558_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPJ558_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPJ558_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg wpj558_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_pad_cfg wpj558_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data wpj558_ar8327_data = {
- .pad0_cfg = &wpj558_ar8327_pad0_cfg,
- .pad6_cfg = &wpj558_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info wpj558_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wpj558_ar8327_data,
- },
-};
-
-static void __init wpj558_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
-
- ath79_register_m25p80(NULL);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wpj558_leds_gpio),
- wpj558_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WPJ558_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wpj558_gpio_keys),
- wpj558_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + WPJ558_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- mdiobus_register_board_info(wpj558_mdio0_info,
- ARRAY_SIZE(wpj558_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ558_MAC_OFFSET, 0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_WPJ558, "WPJ558", "Compex WPJ558", wpj558_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj563.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj563.c
deleted file mode 100644
index d884be916b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj563.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Compex WPJ563 board support
- *
- * Copyright (c) 2015 Qualcomm Atheros
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/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-m25p80.h"
-#include "machtypes.h"
-#include "pci.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-
-#define WPJ563_GPIO_LED_SIG1 1
-#define WPJ563_GPIO_LED_SIG2 5
-#define WPJ563_GPIO_LED_SIG3 6
-#define WPJ563_GPIO_LED_SIG4 7
-#define WPJ563_GPIO_BUZZER 19
-
-#define WPJ563_GPIO_BTN_RESET 2
-#define WPJ563_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WPJ563_KEYS_DEBOUNCE_INTERVAL (3 * WPJ563_KEYS_POLL_INTERVAL)
-
-#define WPJ563_MAC0_OFFSET 0x10
-#define WPJ563_MAC1_OFFSET 0x18
-#define WPJ563_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led WPJ563_leds_gpio[] __initdata = {
- {
- .name = "wpj563:green:sig1",
- .gpio = WPJ563_GPIO_LED_SIG1,
- .active_low = 1,
- },
- {
- .name = "wpj563:green:sig2",
- .gpio = WPJ563_GPIO_LED_SIG2,
- .active_low = 1,
- },
- {
- .name = "wpj563:green:sig3",
- .gpio = WPJ563_GPIO_LED_SIG3,
- .active_low = 1,
- },
- {
- .name = "wpj563:green:sig4",
- .gpio = WPJ563_GPIO_LED_SIG4,
- .active_low = 1,
- },
- {
- .name = "wpj563:buzzer",
- .gpio = WPJ563_GPIO_BUZZER,
- .active_low = 0,
- }
-};
-
-static struct gpio_keys_button WPJ563_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WPJ563_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WPJ563_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct ar8327_pad_cfg WPJ563_ar8337_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-static struct ar8327_platform_data WPJ563_ar8337_data = {
- .pad0_cfg = &WPJ563_ar8337_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info WPJ563_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &WPJ563_ar8337_data,
- },
-};
-
-static void __init WPJ563_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(WPJ563_leds_gpio),
- WPJ563_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WPJ563_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(WPJ563_gpio_keys),
- WPJ563_gpio_keys);
-
- ath79_register_usb();
-
- ath79_register_wmac(art + WPJ563_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_pci();
-
- mdiobus_register_board_info(WPJ563_mdio0_info,
- ARRAY_SIZE(WPJ563_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ563_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac + WPJ563_MAC1_OFFSET, 0);
-
- /* GMAC0 is connected to an QCA8334 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_WPJ563, "WPJ563", "Compex WPJ563", WPJ563_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c
deleted file mode 100644
index ede3c214c2..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Linksys WRT160NL board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-m25p80.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "nvram.h"
-#include "machtypes.h"
-
-#define WRT160NL_GPIO_LED_POWER 14
-#define WRT160NL_GPIO_LED_WPS_AMBER 9
-#define WRT160NL_GPIO_LED_WPS_BLUE 8
-#define WRT160NL_GPIO_LED_WLAN 6
-
-#define WRT160NL_GPIO_BTN_WPS 7
-#define WRT160NL_GPIO_BTN_RESET 21
-
-#define WRT160NL_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WRT160NL_KEYS_DEBOUNCE_INTERVAL (3 * WRT160NL_KEYS_POLL_INTERVAL)
-
-#define WRT160NL_NVRAM_ADDR 0x1f7e0000
-#define WRT160NL_NVRAM_SIZE 0x10000
-
-static const char *wrt160nl_part_probes[] = {
- "cybertan",
- NULL,
-};
-
-static struct flash_platform_data wrt160nl_flash_data = {
- .part_probes = wrt160nl_part_probes,
-};
-
-static struct gpio_led wrt160nl_leds_gpio[] __initdata = {
- {
- .name = "wrt160nl:blue:power",
- .gpio = WRT160NL_GPIO_LED_POWER,
- .active_low = 1,
- .default_trigger = "default-on",
- }, {
- .name = "wrt160nl:amber:wps",
- .gpio = WRT160NL_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- }, {
- .name = "wrt160nl:blue:wps",
- .gpio = WRT160NL_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- }, {
- .name = "wrt160nl:blue:wlan",
- .gpio = WRT160NL_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wrt160nl_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WRT160NL_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WRT160NL_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wps",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WRT160NL_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WRT160NL_GPIO_BTN_WPS,
- .active_low = 1,
- }
-};
-
-static void __init wrt160nl_setup(void)
-{
- const char *nvram = (char *) KSEG1ADDR(WRT160NL_NVRAM_ADDR);
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 mac[6];
-
- if (ath79_nvram_parse_mac_addr(nvram, WRT160NL_NVRAM_SIZE,
- "lan_hwaddr=", mac) == 0) {
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
- }
-
- ath79_register_mdio(0, 0x0);
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.phy_mask = 0x01;
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(&wrt160nl_flash_data);
-
- ath79_register_usb();
-
- if (ath79_nvram_parse_mac_addr(nvram, WRT160NL_NVRAM_SIZE,
- "wl0_hwaddr=", mac) == 0)
- ath79_register_wmac(eeprom, mac);
- else
- ath79_register_wmac(eeprom, NULL);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wrt160nl_leds_gpio),
- wrt160nl_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WRT160NL_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wrt160nl_gpio_keys),
- wrt160nl_gpio_keys);
-}
-
-MIPS_MACHINE(ATH79_MACH_WRT160NL, "WRT160NL", "Linksys WRT160NL",
- wrt160nl_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt400n.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt400n.c
deleted file mode 100644
index 6c4c1cb0d6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt400n.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Linksys WRT400N board support
- *
- * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2009 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define WRT400N_GPIO_LED_POWER 1
-#define WRT400N_GPIO_LED_WPS_BLUE 4
-#define WRT400N_GPIO_LED_WPS_AMBER 5
-#define WRT400N_GPIO_LED_WLAN 6
-
-#define WRT400N_GPIO_BTN_RESET 8
-#define WRT400N_GPIO_BTN_WLSEC 3
-
-#define WRT400N_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WRT400N_KEYS_DEBOUNE_INTERVAL (3 * WRT400N_KEYS_POLL_INTERVAL)
-
-#define WRT400N_MAC_ADDR_OFFSET 0x120c
-#define WRT400N_CALDATA0_OFFSET 0x1000
-#define WRT400N_CALDATA1_OFFSET 0x5000
-
-static struct mtd_partition wrt400n_partitions[] = {
- {
- .name = "uboot",
- .offset = 0,
- .size = 0x030000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "env",
- .offset = 0x030000,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "linux",
- .offset = 0x040000,
- .size = 0x140000,
- }, {
- .name = "rootfs",
- .offset = 0x180000,
- .size = 0x630000,
- }, {
- .name = "nvram",
- .offset = 0x7b0000,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "factory",
- .offset = 0x7c0000,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "language",
- .offset = 0x7d0000,
- .size = 0x020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "caldata",
- .offset = 0x7f0000,
- .size = 0x010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x040000,
- .size = 0x770000,
- }
-};
-
-static struct flash_platform_data wrt400n_flash_data = {
- .parts = wrt400n_partitions,
- .nr_parts = ARRAY_SIZE(wrt400n_partitions),
-};
-
-static struct gpio_led wrt400n_leds_gpio[] __initdata = {
- {
- .name = "wrt400n:blue:wps",
- .gpio = WRT400N_GPIO_LED_WPS_BLUE,
- .active_low = 1,
- }, {
- .name = "wrt400n:amber:wps",
- .gpio = WRT400N_GPIO_LED_WPS_AMBER,
- .active_low = 1,
- }, {
- .name = "wrt400n:blue:wlan",
- .gpio = WRT400N_GPIO_LED_WLAN,
- .active_low = 1,
- }, {
- .name = "wrt400n:blue:power",
- .gpio = WRT400N_GPIO_LED_POWER,
- .active_low = 0,
- .default_trigger = "default-on",
- }
-};
-
-static struct gpio_keys_button wrt400n_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WRT400N_KEYS_DEBOUNE_INTERVAL,
- .gpio = WRT400N_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "wlsec",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WRT400N_KEYS_DEBOUNE_INTERVAL,
- .gpio = WRT400N_GPIO_BTN_WLSEC,
- .active_low = 1,
- }
-};
-
-static void __init wrt400n_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac = art + WRT400N_MAC_ADDR_OFFSET;
-
- ath79_register_mdio(0, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 2);
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_m25p80(&wrt400n_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wrt400n_leds_gpio),
- wrt400n_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WRT400N_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wrt400n_gpio_keys),
- wrt400n_gpio_keys);
-
- ap94_pci_init(art + WRT400N_CALDATA0_OFFSET, NULL,
- art + WRT400N_CALDATA1_OFFSET, NULL);
-}
-
-MIPS_MACHINE(ATH79_MACH_WRT400N, "WRT400N", "Linksys WRT400N", wrt400n_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrtnode2q.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wrtnode2q.c
deleted file mode 100644
index 150a28b0d7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrtnode2q.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * WRTnode2Q board support
- *
- * Copyright (c) 2013 The Linux Foundation. All rights reserved.
- * Copyright (c) 2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2015 Kelei <xzmu@wrtnode.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/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-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"
-#include "pci.h"
-
-#define WRTNODE2Q_GPIO_LED_WLAN 12
-#define WRTNODE2Q_GPIO_LED_WPS 13
-#define WRTNODE2Q_GPIO_LED_STATUS 13
-
-#define WRTNODE2Q_GPIO_LED_WAN 4
-#define WRTNODE2Q_GPIO_LED_LAN1 16
-#define WRTNODE2Q_GPIO_LED_LAN2 15
-#define WRTNODE2Q_GPIO_LED_LAN3 14
-#define WRTNODE2Q_GPIO_LED_LAN4 11
-
-#define WRTNODE2Q_GPIO_BTN_WPS 17
-
-#define WRTNODE2Q_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WRTNODE2Q_KEYS_DEBOUNCE_INTERVAL (3 * WRTNODE2Q_KEYS_POLL_INTERVAL)
-
-#define WRTNODE2Q_MAC0_OFFSET 0
-#define WRTNODE2Q_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led wrtnode2q_leds_gpio[] __initdata = {
- {
- .name = "wrtnode2q:green:status",
- .gpio = WRTNODE2Q_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "wrtnode2q:green:wlan",
- .gpio = WRTNODE2Q_GPIO_LED_WLAN,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wrtnode2q_gpio_keys[] __initdata = {
- {
- .desc = "WPS button",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WRTNODE2Q_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WRTNODE2Q_GPIO_BTN_WPS,
- .active_low = 1,
- },
-};
-
-static void __init wrtnode2q_gpio_led_setup(void)
-{
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wrtnode2q_leds_gpio),
- wrtnode2q_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WRTNODE2Q_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wrtnode2q_gpio_keys),
- wrtnode2q_gpio_keys);
-}
-
-static void __init wrtnode2q_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1f040000);
-
- ath79_register_m25p80(NULL);
-
- wrtnode2q_gpio_led_setup();
-
- ath79_register_pci();
- ath79_register_usb();
-
- ath79_register_wmac(art + WRTNODE2Q_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_mdio(0, 0x0);
- ath79_register_mdio(1, 0x0);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, art + WRTNODE2Q_MAC0_OFFSET, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, art + WRTNODE2Q_MAC0_OFFSET, 1);
-
- /* LAN ports */
- 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.phy4_mii_en = 1;
- ath79_register_eth(1);
-
- /* WAN port */
- 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(4);
- ath79_register_eth(0);
-}
-
-MIPS_MACHINE(ATH79_MACH_WRTNODE2Q, "WRTNODE2Q", "WRTnode2Q board",
- wrtnode2q_setup); \ No newline at end of file
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-450hp2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-450hp2.c
deleted file mode 100644
index ca45309487..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-450hp2.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Buffalo WZR-450HP2 board support
- *
- * Copyright (c) 2013 Gabor Juhos <juhosg@openwrt.org>
- *
- * Based on the Qualcomm Atheros AP135/AP136 reference board support code
- * Copyright (c) 2012 Qualcomm Atheros
- *
- * 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/phy.h>
-#include <linux/gpio.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/ar8216_platform.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-spi.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WZR_450HP2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WZR_450HP2_KEYS_DEBOUNCE_INTERVAL (3 * WZR_450HP2_KEYS_POLL_INTERVAL)
-
-#define WZR_450HP2_WMAC_CALDATA_OFFSET 0x1000
-
-static struct mtd_partition wzrhpg450h_partitions[] = {
- {
- .name = "u-boot",
- .offset = 0,
- .size = 0x0040000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "u-boot-env",
- .offset = 0x0040000,
- .size = 0x0010000,
- }, {
- .name = "ART",
- .offset = 0x0ff0000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0050000,
- .size = 0x0f90000,
- }, {
- .name = "user_property",
- .offset = 0x0fe0000,
- .size = 0x0010000,
- }
-};
-
-static struct flash_platform_data wzr_450hp2_flash_data = {
- .parts = wzrhpg450h_partitions,
- .nr_parts = ARRAY_SIZE(wzrhpg450h_partitions),
-};
-
-static struct gpio_led wzr_450hp2_leds_gpio[] __initdata = {
- {
- .name = "buffalo:green:wps",
- .gpio = 3,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:system",
- .gpio = 20,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:wlan",
- .gpio = 18,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wzr_450hp2_gpio_keys[] __initdata = {
- {
- .desc = "Reset button",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WZR_450HP2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 17,
- .active_low = 1,
- },
- {
- .desc = "RFKILL button",
- .type = EV_KEY,
- .code = KEY_RFKILL,
- .debounce_interval = WZR_450HP2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 21,
- .active_low = 1,
- },
-};
-
-static const struct ar8327_led_info wzr_450hp2_leds_ar8327[] = {
- AR8327_LED_INFO(PHY0_0, HW, "buffalo:green:lan1"),
- AR8327_LED_INFO(PHY1_0, HW, "buffalo:green:lan2"),
- AR8327_LED_INFO(PHY2_0, HW, "buffalo:green:lan3"),
- AR8327_LED_INFO(PHY3_0, HW, "buffalo:green:lan4"),
- AR8327_LED_INFO(PHY4_0, HW, "buffalo:green:wan"),
-};
-
-/* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */
-static struct ar8327_pad_cfg wzr_450hp2_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_SGMII,
- .sgmii_delay_en = true,
-};
-
-/* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */
-static struct ar8327_pad_cfg wzr_450hp2_ar8327_pad6_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_led_cfg wzr_450hp2_ar8327_led_cfg = {
- .led_ctrl0 = 0xcc35cc35,
- .led_ctrl1 = 0xca35ca35,
- .led_ctrl2 = 0xc935c935,
- .led_ctrl3 = 0x03ffff00,
- .open_drain = true,
-};
-
-static struct ar8327_platform_data wzr_450hp2_ar8327_data = {
- .pad0_cfg = &wzr_450hp2_ar8327_pad0_cfg,
- .pad6_cfg = &wzr_450hp2_ar8327_pad6_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .port6_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
- .led_cfg = &wzr_450hp2_ar8327_led_cfg,
- .num_leds = ARRAY_SIZE(wzr_450hp2_leds_ar8327),
- .leds = wzr_450hp2_leds_ar8327,
-};
-
-static struct mdio_board_info wzr_450hp2_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = 0,
- .platform_data = &wzr_450hp2_ar8327_data,
- },
-};
-
-static void __init wzr_450hp2_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- u8 *mac_wan = art;
- u8 *mac_lan = mac_wan + ETH_ALEN;
-
- ath79_register_m25p80(&wzr_450hp2_flash_data);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wzr_450hp2_leds_gpio),
- wzr_450hp2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WZR_450HP2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wzr_450hp2_gpio_keys),
- wzr_450hp2_gpio_keys);
-
- ath79_register_wmac(art + WZR_450HP2_WMAC_CALDATA_OFFSET, mac_lan);
-
- mdiobus_register_board_info(wzr_450hp2_mdio0_info,
- ARRAY_SIZE(wzr_450hp2_mdio0_info));
- ath79_register_mdio(0, 0x0);
-
- ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-
- /* GMAC0 is connected to the RMGII interface */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(0);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x56000000;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac_wan, 0);
- ath79_register_eth(0);
-
- /* GMAC1 is connected to the SGMII interface */
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
- ath79_eth1_data.speed = SPEED_1000;
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_pll_data.pll_1000 = 0x03000101;
-
- ath79_init_mac(ath79_eth1_data.mac_addr, mac_lan, 0);
- ath79_register_eth(1);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_WZR_450HP2, "WZR-450HP2",
- "Buffalo WZR-450HP2", wzr_450hp2_setup);
-
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-ag300h.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-ag300h.c
deleted file mode 100644
index a9ed3fdd46..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-ag300h.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Buffalo WZR-HP-AG300H board support
- *
- * Copyright (C) 2011 Felix Fietkau <nbd@nbd.name>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ath79.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 "machtypes.h"
-
-#define WZRHPAG300H_MAC_OFFSET 0x20c
-#define WZRHPAG300H_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPAG300H_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition wzrhpag300h_flash_partitions[] = {
- {
- .name = "u-boot",
- .offset = 0,
- .size = 0x0040000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "u-boot-env",
- .offset = 0x0040000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "art",
- .offset = 0x0050000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0060000,
- .size = 0x1f90000,
- }, {
- .name = "user_property",
- .offset = 0x1ff0000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct flash_platform_data wzrhpag300h_flash_data = {
- .parts = wzrhpag300h_flash_partitions,
- .nr_parts = ARRAY_SIZE(wzrhpag300h_flash_partitions),
-};
-
-static struct gpio_led wzrhpag300h_leds_gpio[] __initdata = {
- {
- .name = "buffalo:red:diag",
- .gpio = 1,
- .active_low = 1,
- },
-};
-
-static struct gpio_led wzrhpag300h_wmac0_leds_gpio[] = {
- {
- .name = "buffalo:amber:band2g",
- .gpio = 1,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:usb",
- .gpio = 3,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:band2g",
- .gpio = 5,
- .active_low = 1,
- },
-};
-
-static struct gpio_led wzrhpag300h_wmac1_leds_gpio[] = {
- {
- .name = "buffalo:green:band5g",
- .gpio = 1,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:router",
- .gpio = 3,
- .active_low = 1,
- },
- {
- .name = "buffalo:blue:movie_engine",
- .gpio = 4,
- .active_low = 1,
- },
- {
- .name = "buffalo:amber:band5g",
- .gpio = 5,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wzrhpag300h_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 11,
- .active_low = 1,
- }, {
- .desc = "usb",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 3,
- .active_low = 1,
- }, {
- .desc = "aoss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 5,
- .active_low = 1,
- }, {
- .desc = "router_auto",
- .type = EV_SW,
- .code = BTN_6,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 6,
- .active_low = 1,
- }, {
- .desc = "router_off",
- .type = EV_SW,
- .code = BTN_5,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 7,
- .active_low = 1,
- }, {
- .desc = "movie_engine",
- .type = EV_SW,
- .code = BTN_7,
- .debounce_interval = WZRHPAG300H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 8,
- .active_low = 1,
- }
-};
-
-static void __init wzrhpag300h_setup(void)
-{
- u8 *eeprom1 = (u8 *) KSEG1ADDR(0x1f051000);
- u8 *eeprom2 = (u8 *) KSEG1ADDR(0x1f055000);
- u8 *mac1 = eeprom1 + WZRHPAG300H_MAC_OFFSET;
- u8 *mac2 = eeprom2 + WZRHPAG300H_MAC_OFFSET;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 1);
-
- ath79_register_mdio(0, ~(BIT(0) | BIT(4)));
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = BIT(4);
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- gpio_request_one(2, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpag300h_leds_gpio),
- wzrhpag300h_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WZRHPAG300H_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wzrhpag300h_gpio_keys),
- wzrhpag300h_gpio_keys);
-
- ath79_register_m25p80_multi(&wzrhpag300h_flash_data);
-
- ap94_pci_init(eeprom1, mac1, eeprom2, mac2);
-
- 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,
- ARRAY_SIZE(wzrhpag300h_wmac1_leds_gpio));
-}
-
-MIPS_MACHINE(ATH79_MACH_WZR_HP_AG300H, "WZR-HP-AG300H",
- "Buffalo WZR-HP-AG300H/WZR-600DHP", wzrhpag300h_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh.c
deleted file mode 100644
index 0a3eba9f77..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Buffalo WZR-HP-G300NH board support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/platform_device.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/nxp_74hc153.h>
-#include <linux/rtl8366.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define WZRHPG300NH_GPIO_LED_USB 0
-#define WZRHPG300NH_GPIO_LED_DIAG 1
-#define WZRHPG300NH_GPIO_LED_WIRELESS 6
-#define WZRHPG300NH_GPIO_LED_SECURITY 17
-#define WZRHPG300NH_GPIO_LED_ROUTER 18
-
-#define WZRHPG300NH_GPIO_RTL8366_SDA 19
-#define WZRHPG300NH_GPIO_RTL8366_SCK 20
-
-#define WZRHPG300NH_GPIO_74HC153_S0 9
-#define WZRHPG300NH_GPIO_74HC153_S1 11
-#define WZRHPG300NH_GPIO_74HC153_1Y 12
-#define WZRHPG300NH_GPIO_74HC153_2Y 14
-
-#define WZRHPG300NH_GPIO_EXP_BASE 32
-#define WZRHPG300NH_GPIO_BTN_AOSS (WZRHPG300NH_GPIO_EXP_BASE + 0)
-#define WZRHPG300NH_GPIO_BTN_RESET (WZRHPG300NH_GPIO_EXP_BASE + 1)
-#define WZRHPG300NH_GPIO_BTN_ROUTER_ON (WZRHPG300NH_GPIO_EXP_BASE + 2)
-#define WZRHPG300NH_GPIO_BTN_QOS_ON (WZRHPG300NH_GPIO_EXP_BASE + 3)
-#define WZRHPG300NH_GPIO_BTN_USB (WZRHPG300NH_GPIO_EXP_BASE + 5)
-#define WZRHPG300NH_GPIO_BTN_ROUTER_AUTO (WZRHPG300NH_GPIO_EXP_BASE + 6)
-#define WZRHPG300NH_GPIO_BTN_QOS_OFF (WZRHPG300NH_GPIO_EXP_BASE + 7)
-
-#define WZRHPG300NH_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPG300NH_KEYS_POLL_INTERVAL)
-
-#define WZRHPG300NH_MAC_OFFSET 0x20c
-
-static struct mtd_partition wzrhpg300nh_flash_partitions[] = {
- {
- .name = "u-boot",
- .offset = 0,
- .size = 0x0040000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "u-boot-env",
- .offset = 0x0040000,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0060000,
- .size = 0x1f60000,
- }, {
- .name = "user_property",
- .offset = 0x1fc0000,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "art",
- .offset = 0x1fe0000,
- .size = 0x0020000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct physmap_flash_data wzrhpg300nh_flash_data = {
- .width = 2,
- .parts = wzrhpg300nh_flash_partitions,
- .nr_parts = ARRAY_SIZE(wzrhpg300nh_flash_partitions),
-};
-
-#define WZRHPG300NH_FLASH_BASE 0x1e000000
-#define WZRHPG300NH_FLASH_SIZE (32 * 1024 * 1024)
-
-static struct resource wzrhpg300nh_flash_resources[] = {
- [0] = {
- .start = WZRHPG300NH_FLASH_BASE,
- .end = WZRHPG300NH_FLASH_BASE + WZRHPG300NH_FLASH_SIZE - 1,
- .flags = IORESOURCE_MEM,
- },
-};
-
-static struct platform_device wzrhpg300nh_flash_device = {
- .name = "physmap-flash",
- .id = -1,
- .resource = wzrhpg300nh_flash_resources,
- .num_resources = ARRAY_SIZE(wzrhpg300nh_flash_resources),
- .dev = {
- .platform_data = &wzrhpg300nh_flash_data,
- }
-};
-
-static struct gpio_led wzrhpg300nh_leds_gpio[] __initdata = {
- {
- .name = "buffalo:orange:security",
- .gpio = WZRHPG300NH_GPIO_LED_SECURITY,
- .active_low = 1,
- }, {
- .name = "buffalo:green:wireless",
- .gpio = WZRHPG300NH_GPIO_LED_WIRELESS,
- .active_low = 1,
- }, {
- .name = "buffalo:green:router",
- .gpio = WZRHPG300NH_GPIO_LED_ROUTER,
- .active_low = 1,
- }, {
- .name = "buffalo:red:diag",
- .gpio = WZRHPG300NH_GPIO_LED_DIAG,
- .active_low = 1,
- }, {
- .name = "buffalo:blue:usb",
- .gpio = WZRHPG300NH_GPIO_LED_USB,
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_button wzrhpg300nh_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_RESET,
- .active_low = 1,
- }, {
- .desc = "aoss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_AOSS,
- .active_low = 1,
- }, {
- .desc = "usb",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_USB,
- .active_low = 1,
- }, {
- .desc = "qos_on",
- .type = EV_KEY,
- .code = BTN_3,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_QOS_ON,
- .active_low = 0,
- }, {
- .desc = "qos_off",
- .type = EV_KEY,
- .code = BTN_4,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_QOS_OFF,
- .active_low = 0,
- }, {
- .desc = "router_on",
- .type = EV_KEY,
- .code = BTN_5,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_ROUTER_ON,
- .active_low = 0,
- }, {
- .desc = "router_auto",
- .type = EV_KEY,
- .code = BTN_6,
- .debounce_interval = WZRHPG300NH_KEYS_DEBOUNCE_INTERVAL,
- .gpio = WZRHPG300NH_GPIO_BTN_ROUTER_AUTO,
- .active_low = 0,
- }
-};
-
-static struct nxp_74hc153_platform_data wzrhpg300nh_74hc153_data = {
- .gpio_base = WZRHPG300NH_GPIO_EXP_BASE,
- .gpio_pin_s0 = WZRHPG300NH_GPIO_74HC153_S0,
- .gpio_pin_s1 = WZRHPG300NH_GPIO_74HC153_S1,
- .gpio_pin_1y = WZRHPG300NH_GPIO_74HC153_1Y,
- .gpio_pin_2y = WZRHPG300NH_GPIO_74HC153_2Y,
-};
-
-static struct platform_device wzrhpg300nh_74hc153_device = {
- .name = NXP_74HC153_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &wzrhpg300nh_74hc153_data,
- }
-};
-
-static struct rtl8366_platform_data wzrhpg300nh_rtl8366_data = {
- .gpio_sda = WZRHPG300NH_GPIO_RTL8366_SDA,
- .gpio_sck = WZRHPG300NH_GPIO_RTL8366_SCK,
-};
-
-static struct platform_device wzrhpg300nh_rtl8366s_device = {
- .name = RTL8366S_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &wzrhpg300nh_rtl8366_data,
- }
-};
-
-static struct platform_device wzrhpg300nh_rtl8366rb_device = {
- .name = RTL8366RB_DRIVER_NAME,
- .id = -1,
- .dev = {
- .platform_data = &wzrhpg300nh_rtl8366_data,
- }
-};
-
-static void __init wzrhpg300nh_setup(void)
-{
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
- u8 *mac = eeprom + WZRHPG300NH_MAC_OFFSET;
- bool hasrtl8366rb = false;
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- if (rtl8366_smi_detect(&wzrhpg300nh_rtl8366_data) == RTL8366_TYPE_RB)
- hasrtl8366rb = true;
-
- if (hasrtl8366rb) {
- ath79_eth0_pll_data.pll_1000 = 0x1f000000;
- ath79_eth0_data.mii_bus_dev = &wzrhpg300nh_rtl8366rb_device.dev;
- ath79_eth1_pll_data.pll_1000 = 0x100;
- ath79_eth1_data.mii_bus_dev = &wzrhpg300nh_rtl8366rb_device.dev;
- } else {
- ath79_eth0_pll_data.pll_1000 = 0x1e000100;
- ath79_eth0_data.mii_bus_dev = &wzrhpg300nh_rtl8366s_device.dev;
- ath79_eth1_pll_data.pll_1000 = 0x1e000100;
- ath79_eth1_data.mii_bus_dev = &wzrhpg300nh_rtl8366s_device.dev;
- }
-
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
-
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth1_data.phy_mask = 0x10;
-
- ath79_register_eth(0);
- ath79_register_eth(1);
-
- ath79_register_usb();
- ath79_register_wmac(eeprom, NULL);
-
- platform_device_register(&wzrhpg300nh_74hc153_device);
- platform_device_register(&wzrhpg300nh_flash_device);
-
- if (hasrtl8366rb)
- platform_device_register(&wzrhpg300nh_rtl8366rb_device);
- else
- platform_device_register(&wzrhpg300nh_rtl8366s_device);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpg300nh_leds_gpio),
- wzrhpg300nh_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WZRHPG300NH_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wzrhpg300nh_gpio_keys),
- wzrhpg300nh_gpio_keys);
-
-}
-
-MIPS_MACHINE(ATH79_MACH_WZR_HP_G300NH, "WZR-HP-G300NH",
- "Buffalo WZR-HP-G300NH", wzrhpg300nh_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh2.c
deleted file mode 100644
index c44a9cf770..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh2.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Buffalo WZR-HP-G300NH2 board support
- *
- * Copyright (C) 2011 Felix Fietkau <nbd@nbd.name>
- * Copyright (C) 2011 Mark Deneen <mdeneen@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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <asm/mach-ath79/ath79.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-usb.h"
-#include "machtypes.h"
-
-#define WZRHPG300NH2_MAC_OFFSET 0x20c
-#define WZRHPG300NH2_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPG300NH2_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition wzrhpg300nh2_flash_partitions[] = {
- {
- .name = "u-boot",
- .offset = 0,
- .size = 0x0040000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "u-boot-env",
- .offset = 0x0040000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "art",
- .offset = 0x0050000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0060000,
- .size = 0x1f90000,
- }, {
- .name = "user_property",
- .offset = 0x1ff0000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }
-};
-
-static struct flash_platform_data wzrhpg300nh2_flash_data = {
- .parts = wzrhpg300nh2_flash_partitions,
- .nr_parts = ARRAY_SIZE(wzrhpg300nh2_flash_partitions),
-};
-
-static struct gpio_led wzrhpg300nh2_leds_gpio[] __initdata = {
- {
- .name = "buffalo:red:diag",
- .gpio = 16,
- .active_low = 1,
- },
-};
-
-static struct gpio_led wzrhpg300nh2_wmac_leds_gpio[] = {
- {
- .name = "buffalo:blue:usb",
- .gpio = 4,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:wireless",
- .gpio = 5,
- .active_low = 1,
- },
- {
- .name = "buffalo:orange:security",
- .gpio = 6,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:router",
- .gpio = 7,
- .active_low = 1,
- },
- {
- .name = "buffalo:blue:movie_engine_on",
- .gpio = 8,
- .active_low = 1,
- },
- {
- .name = "buffalo:blue:movie_engine_off",
- .gpio = 9,
- .active_low = 1,
- },
-};
-
-/* The AOSS button is wmac gpio 12 */
-static struct gpio_keys_button wzrhpg300nh2_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 1,
- .active_low = 1,
- }, {
- .desc = "usb",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 7,
- .active_low = 1,
- }, {
- .desc = "qos",
- .type = EV_KEY,
- .code = BTN_3,
- .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 11,
- .active_low = 0,
- }, {
- .desc = "router_on",
- .type = EV_KEY,
- .code = BTN_5,
- .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 8,
- .active_low = 0,
- },
-};
-
-static void __init wzrhpg300nh2_setup(void)
-{
-
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1f051000);
- u8 *mac0 = eeprom + WZRHPG300NH2_MAC_OFFSET;
- /* There is an eth1 but it is not connected to the switch */
-
- ath79_register_m25p80_multi(&wzrhpg300nh2_flash_data);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
- ath79_register_mdio(0, ~(BIT(0)));
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_register_eth(0);
-
- /* gpio13 is usb power. Turn it on. */
- gpio_request_one(13, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpg300nh2_leds_gpio),
- wzrhpg300nh2_leds_gpio);
- ath79_register_gpio_keys_polled(-1, WZRHPG300NH2_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wzrhpg300nh2_gpio_keys),
- wzrhpg300nh2_gpio_keys);
- ap9x_pci_setup_wmac_leds(0, wzrhpg300nh2_wmac_leds_gpio,
- ARRAY_SIZE(wzrhpg300nh2_wmac_leds_gpio));
-
- ap91_pci_init(eeprom, mac0);
-}
-
-MIPS_MACHINE(ATH79_MACH_WZR_HP_G300NH2, "WZR-HP-G300NH2",
- "Buffalo WZR-HP-G300NH2", wzrhpg300nh2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g450h.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g450h.c
deleted file mode 100644
index 5d235c49f4..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g450h.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Buffalo WZR-HP-G450G board support
- *
- * Copyright (C) 2011 Felix Fietkau <nbd@nbd.name>
- * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/ath9k_platform.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-usb.h"
-#include "machtypes.h"
-
-#define WZRHPG450H_KEYS_POLL_INTERVAL 20 /* msecs */
-#define WZRHPG450H_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPG450H_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition wzrhpg450h_partitions[] = {
- {
- .name = "u-boot",
- .offset = 0,
- .size = 0x0040000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "u-boot-env",
- .offset = 0x0040000,
- .size = 0x0010000,
- }, {
- .name = "ART",
- .offset = 0x0050000,
- .size = 0x0010000,
- .mask_flags = MTD_WRITEABLE,
- }, {
- .name = "firmware",
- .offset = 0x0060000,
- .size = 0x1f80000,
- }, {
- .name = "user_property",
- .offset = 0x1fe0000,
- .size = 0x0020000,
- }
-};
-
-static struct flash_platform_data wzrhpg450h_flash_data = {
- .parts = wzrhpg450h_partitions,
- .nr_parts = ARRAY_SIZE(wzrhpg450h_partitions),
-};
-
-static struct gpio_led wzrhpg450h_leds_gpio[] __initdata = {
- {
- .name = "buffalo:red:diag",
- .gpio = 14,
- .active_low = 1,
- },
- {
- .name = "buffalo:orange:security",
- .gpio = 13,
- .active_low = 1,
- },
-};
-
-
-static struct gpio_led wzrhpg450h_wmac_leds_gpio[] = {
- {
- .name = "buffalo:blue:movie_engine",
- .gpio = 13,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:router",
- .gpio = 14,
- .active_low = 1,
- },
- {
- .name = "buffalo:green:wireless",
- .gpio = 15,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button wzrhpg450h_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = WZRHPG450H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 6,
- .active_low = 1,
- }, {
- .desc = "usb",
- .type = EV_KEY,
- .code = BTN_2,
- .debounce_interval = WZRHPG450H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 1,
- .active_low = 1,
- }, {
- .desc = "aoss",
- .type = EV_KEY,
- .code = KEY_WPS_BUTTON,
- .debounce_interval = WZRHPG450H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 8,
- .active_low = 1,
- }, {
- .desc = "movie_engine",
- .type = EV_KEY,
- .code = BTN_6,
- .debounce_interval = WZRHPG450H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 7,
- .active_low = 0,
- }, {
- .desc = "router_off",
- .type = EV_KEY,
- .code = BTN_5,
- .debounce_interval = WZRHPG450H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = 12,
- .active_low = 0,
- }
-};
-
-
-static void __init wzrhpg450h_init(void)
-{
- u8 *ee = (u8 *) KSEG1ADDR(0x1f051000);
- u8 *mac = (u8 *) ee + 2;
-
- ath79_register_m25p80_multi(&wzrhpg450h_flash_data);
-
- ath79_register_mdio(0, ~BIT(0));
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.speed = SPEED_1000;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_mask = BIT(0);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpg450h_leds_gpio),
- wzrhpg450h_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, WZRHPG450H_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(wzrhpg450h_gpio_keys),
- wzrhpg450h_gpio_keys);
-
- ath79_register_eth(0);
-
- gpio_request_one(16, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
- "USB power");
- ath79_register_usb();
-
- ap91_pci_init(ee, NULL);
- ap9x_pci_get_wmac_data(0)->tx_gain_buffalo = true;
- ap9x_pci_get_wmac_data(1)->tx_gain_buffalo = true;
- ap9x_pci_setup_wmac_leds(0, wzrhpg450h_wmac_leds_gpio,
- ARRAY_SIZE(wzrhpg450h_wmac_leds_gpio));
-}
-
-MIPS_MACHINE(ATH79_MACH_WZR_HP_G450H, "WZR-HP-G450H", "Buffalo WZR-HP-G450H",
- wzrhpg450h_init);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c
deleted file mode 100644
index 912e9b2a6f..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Cisco Meraki Z1 board support
- *
- * Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
- * Copyright (C) 2016 Christian Lamparter <chunkeey@googlemail.com>
- *
- * Based on Cisco Meraki GPL Release r23-20150601 Z1 Device Config
- *
- * 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/platform_device.h>
-#include <linux/ath9k_platform.h>
-#include <linux/ar8216_platform.h>
-#include <linux/platform/ar934x_nfc.h>
-
-#include <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include <linux/leds-nu801.h>
-#include <linux/firmware.h>
-#include <linux/pci.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-nfc.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "dev-ap9x-pci.h"
-#include "machtypes.h"
-
-#define Z1_GPIO_LED_POWER_ORANGE 17
-
-#define Z1_GPIO_NU801_CKI 14
-#define Z1_GPIO_NU801_SDI 15
-
-#define Z1_GPIO_XLNA0 18
-#define Z1_GPIO_XLNA1 19
-
-#define Z1_GPIO_BTN_RESET 12
-#define Z1_KEYS_POLL_INTERVAL 20 /* msecs */
-#define Z1_KEYS_DEBOUNCE_INTERVAL (3 * Z1_KEYS_POLL_INTERVAL)
-
-#define Z1_ETH_SWITCH_PHY 0
-
-static struct gpio_led Z1_leds_gpio[] __initdata = {
- {
- .name = "z1:orange:power",
- .gpio = Z1_GPIO_LED_POWER_ORANGE,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button Z1_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = Z1_KEYS_DEBOUNCE_INTERVAL,
- .gpio = Z1_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static struct led_nu801_template tricolor_led_template = {
- .device_name = "z1",
- .name = "tricolor",
- .num_leds = 1,
- .cki = Z1_GPIO_NU801_CKI,
- .sdi = Z1_GPIO_NU801_SDI,
- .lei = -1,
- .ndelay = 500,
- .init_brightness = {
- LED_OFF,
- LED_OFF,
- LED_OFF,
- },
- .default_trigger = "none",
-};
-
-static struct led_nu801_platform_data tricolor_led_data = {
- .num_controllers = 1,
- .template = &tricolor_led_template,
-};
-
-static struct platform_device tricolor_leds = {
- .name = "leds-nu801",
- .id = -1,
- .dev.platform_data = &tricolor_led_data,
-};
-
-static struct ar8327_pad_cfg z1_ar8327_pad0_cfg = {
- .mode = AR8327_PAD_MAC_RGMII,
- .txclk_delay_en = true,
- .rxclk_delay_en = true,
- .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
- .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-};
-
-static struct ar8327_platform_data z1_ar8327_data = {
- .pad0_cfg = &z1_ar8327_pad0_cfg,
- .port0_cfg = {
- .force_link = 1,
- .speed = AR8327_PORT_SPEED_1000,
- .duplex = 1,
- .txpause = 1,
- .rxpause = 1,
- },
-};
-
-static struct mdio_board_info z1_mdio0_info[] = {
- {
- .bus_id = "ag71xx-mdio.0",
- .mdio_addr = Z1_ETH_SWITCH_PHY,
- .platform_data = &z1_ar8327_data,
- },
-};
-
-static void __init z1_setup(void)
-{
- /* NAND */
- ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_SOFT_BCH);
- ath79_register_nfc();
-
- /* Eth Config */
- ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
- AR934X_ETH_CFG_SW_ONLY_MODE);
-
- /* MDIO Interface */
- ath79_register_mdio(1, 0x0);
- ath79_register_mdio(0, 0x0);
- mdiobus_register_board_info(z1_mdio0_info,
- ARRAY_SIZE(z1_mdio0_info));
-
- /* GMAC0 is connected to an AR8327 switch */
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
- ath79_eth0_data.phy_mask = BIT(Z1_ETH_SWITCH_PHY);
- ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
- ath79_register_eth(0);
-
- /* XLNA */
- ath79_wmac_set_ext_lna_gpio(0, Z1_GPIO_XLNA0);
- ath79_wmac_set_ext_lna_gpio(1, Z1_GPIO_XLNA1);
-
- /* LEDs and Buttons */
- platform_device_register(&tricolor_leds);
- ath79_register_leds_gpio(-1, ARRAY_SIZE(Z1_leds_gpio),
- Z1_leds_gpio);
- ath79_register_gpio_keys_polled(-1, Z1_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(Z1_gpio_keys),
- Z1_gpio_keys);
-
- /* USB */
- ath79_register_usb();
-
- /* Wireless */
- ath79_register_wmac_simple();
- ap91_pci_init_simple();
-}
-MIPS_MACHINE(ATH79_MACH_Z1, "Z1", "Meraki Z1", z1_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-zbt-we1526.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-zbt-we1526.c
deleted file mode 100644
index 42bad11905..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-zbt-we1526.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Zbtlink ZBT-WE1526 board support
- *
- * Copyright (C) 2016 Piotr Dymacz <pepe2k@gmail.com>
- *
- * Based on mach-dr531.c and mach-tl-wr841n-v9.c
- *
- * 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-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define ZBT_WE1526_GPIO_LED_STATUS 13
-#define ZBT_WE1526_GPIO_LED_LAN1 16
-#define ZBT_WE1526_GPIO_LED_LAN2 15
-#define ZBT_WE1526_GPIO_LED_LAN3 14
-#define ZBT_WE1526_GPIO_LED_LAN4 11
-#define ZBT_WE1526_GPIO_LED_WAN 4
-#define ZBT_WE1526_GPIO_LED_WLAN 12
-
-#define ZBT_WE1526_GPIO_BTN_RESET 17
-
-#define ZBT_WE1526_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ZBT_WE1526_KEYS_DEBOUNCE_INTERVAL \
- (3 * ZBT_WE1526_KEYS_POLL_INTERVAL)
-
-#define ZBT_WE1526_MAC0_OFFSET 0x0
-#define ZBT_WE1526_MAC1_OFFSET 0x6
-#define ZBT_WE1526_WMAC_CALDATA_OFFSET 0x1000
-
-static struct gpio_led zbt_we1526_leds_gpio[] __initdata = {
- {
- .name = "zbt-we1526:green:status",
- .gpio = ZBT_WE1526_GPIO_LED_STATUS,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:lan1",
- .gpio = ZBT_WE1526_GPIO_LED_LAN1,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:lan2",
- .gpio = ZBT_WE1526_GPIO_LED_LAN2,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:lan3",
- .gpio = ZBT_WE1526_GPIO_LED_LAN3,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:lan4",
- .gpio = ZBT_WE1526_GPIO_LED_LAN4,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:wan",
- .gpio = ZBT_WE1526_GPIO_LED_WAN,
- .active_low = 1,
- },
- {
- .name = "zbt-we1526:green:wlan",
- .gpio = ZBT_WE1526_GPIO_LED_WLAN,
- .active_low = 1,
- },
-};
-
-static struct gpio_keys_button zbt_we1526_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ZBT_WE1526_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ZBT_WE1526_GPIO_BTN_RESET,
- .active_low = 1,
- },
-};
-
-static void __init zbt_we1526_gpio_setup(void)
-{
- /* For LED on GPIO4 */
- ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
- ath79_gpio_output_select(ZBT_WE1526_GPIO_LED_WAN, 0);
-
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_STATUS, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_LAN1, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_LAN2, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_LAN3, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_LAN4, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_WAN, true);
- ath79_gpio_direction_select(ZBT_WE1526_GPIO_LED_WLAN, true);
-
- ath79_register_leds_gpio(-1, ARRAY_SIZE(zbt_we1526_leds_gpio),
- zbt_we1526_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ZBT_WE1526_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(zbt_we1526_gpio_keys),
- zbt_we1526_gpio_keys);
-}
-
-static void __init zbt_we1526_setup(void)
-{
- u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
-
- ath79_register_m25p80(NULL);
-
- zbt_we1526_gpio_setup();
-
- ath79_setup_ar933x_phy4_switch(false, false);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN */
- ath79_eth1_data.duplex = DUPLEX_FULL;
- ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- ath79_switch_data.phy_poll_mask |= BIT(4);
- ath79_init_mac(ath79_eth1_data.mac_addr,
- art + ZBT_WE1526_MAC0_OFFSET, 0);
- ath79_register_eth(1);
-
- /* WAN */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_eth0_data.speed = SPEED_100;
- ath79_init_mac(ath79_eth0_data.mac_addr,
- art + ZBT_WE1526_MAC1_OFFSET, 0);
- ath79_register_eth(0);
-
- ath79_register_wmac(art + ZBT_WE1526_WMAC_CALDATA_OFFSET, NULL);
-
- ath79_register_usb();
-}
-
-MIPS_MACHINE(ATH79_MACH_ZBT_WE1526, "ZBT-WE1526", "Zbtlink ZBT-WE1526",
- zbt_we1526_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-zcn-1523h.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-zcn-1523h.c
deleted file mode 100644
index bc79ab9953..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-zcn-1523h.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Zcomax ZCN-1523H-2-8/5-16 board support
- *
- * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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 <asm/mach-ath79/ath79.h>
-#include <asm/mach-ath79/ar71xx_regs.h>
-
-#include "common.h"
-#include "dev-eth.h"
-#include "dev-m25p80.h"
-#include "dev-ap9x-pci.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "machtypes.h"
-
-#define ZCN_1523H_GPIO_BTN_RESET 0
-#define ZCN_1523H_GPIO_LED_INIT 11
-#define ZCN_1523H_GPIO_LED_LAN1 17
-
-#define ZCN_1523H_2_GPIO_LED_WEAK 13
-#define ZCN_1523H_2_GPIO_LED_MEDIUM 14
-#define ZCN_1523H_2_GPIO_LED_STRONG 15
-
-#define ZCN_1523H_5_GPIO_LAN2_POWER 1
-#define ZCN_1523H_5_GPIO_LED_LAN2 13
-#define ZCN_1523H_5_GPIO_LED_WEAK 14
-#define ZCN_1523H_5_GPIO_LED_MEDIUM 15
-#define ZCN_1523H_5_GPIO_LED_STRONG 16
-
-#define ZCN_1523H_KEYS_POLL_INTERVAL 20 /* msecs */
-#define ZCN_1523H_KEYS_DEBOUNCE_INTERVAL (3 * ZCN_1523H_KEYS_POLL_INTERVAL)
-
-static struct gpio_keys_button zcn_1523h_gpio_keys[] __initdata = {
- {
- .desc = "reset",
- .type = EV_KEY,
- .code = KEY_RESTART,
- .debounce_interval = ZCN_1523H_KEYS_DEBOUNCE_INTERVAL,
- .gpio = ZCN_1523H_GPIO_BTN_RESET,
- .active_low = 1,
- }
-};
-
-static struct gpio_led zcn_1523h_leds_gpio[] __initdata = {
- {
- .name = "zcn-1523h:amber:init",
- .gpio = ZCN_1523H_GPIO_LED_INIT,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:green:lan1",
- .gpio = ZCN_1523H_GPIO_LED_LAN1,
- .active_low = 1,
- }
-};
-
-static struct gpio_led zcn_1523h_2_leds_gpio[] __initdata = {
- {
- .name = "zcn-1523h:red:weak",
- .gpio = ZCN_1523H_2_GPIO_LED_WEAK,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:amber:medium",
- .gpio = ZCN_1523H_2_GPIO_LED_MEDIUM,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:green:strong",
- .gpio = ZCN_1523H_2_GPIO_LED_STRONG,
- .active_low = 1,
- }
-};
-
-static struct gpio_led zcn_1523h_5_leds_gpio[] __initdata = {
- {
- .name = "zcn-1523h:red:weak",
- .gpio = ZCN_1523H_5_GPIO_LED_WEAK,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:amber:medium",
- .gpio = ZCN_1523H_5_GPIO_LED_MEDIUM,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:green:strong",
- .gpio = ZCN_1523H_5_GPIO_LED_STRONG,
- .active_low = 1,
- }, {
- .name = "zcn-1523h:green:lan2",
- .gpio = ZCN_1523H_5_GPIO_LED_LAN2,
- .active_low = 1,
- }
-};
-
-static void __init zcn_1523h_generic_setup(void)
-{
- u8 *mac = (u8 *) KSEG1ADDR(0x1f7e0004);
- u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-
- ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
- AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-
- ath79_register_m25p80(NULL);
-
- ath79_register_leds_gpio(0, ARRAY_SIZE(zcn_1523h_leds_gpio),
- zcn_1523h_leds_gpio);
-
- ath79_register_gpio_keys_polled(-1, ZCN_1523H_KEYS_POLL_INTERVAL,
- ARRAY_SIZE(zcn_1523h_gpio_keys),
- zcn_1523h_gpio_keys);
-
- ap91_pci_init(ee, mac);
-
- ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
- ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
-
- ath79_register_mdio(0, 0x0);
-
- /* LAN1 port */
- ath79_register_eth(0);
-}
-
-static void __init zcn_1523h_2_setup(void)
-{
- zcn_1523h_generic_setup();
- ap9x_pci_setup_wmac_gpio(0, BIT(9), 0);
-
- ath79_register_leds_gpio(1, ARRAY_SIZE(zcn_1523h_2_leds_gpio),
- zcn_1523h_2_leds_gpio);
-}
-
-MIPS_MACHINE(ATH79_MACH_ZCN_1523H_2, "ZCN-1523H-2", "Zcomax ZCN-1523H-2",
- zcn_1523h_2_setup);
-
-static void __init zcn_1523h_5_setup(void)
-{
- zcn_1523h_generic_setup();
- ap9x_pci_setup_wmac_gpio(0, BIT(8), 0);
-
- ath79_register_leds_gpio(1, ARRAY_SIZE(zcn_1523h_5_leds_gpio),
- zcn_1523h_5_leds_gpio);
-
- /* LAN2 port */
- ath79_register_eth(1);
-}
-
-MIPS_MACHINE(ATH79_MACH_ZCN_1523H_5, "ZCN-1523H-5", "Zcomax ZCN-1523H-5",
- zcn_1523h_5_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
deleted file mode 100644
index 900b4ec87b..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Atheros AR71XX/AR724X/AR913X machine type definitions
- *
- * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_MACHTYPE_H
-#define _ATH79_MACHTYPE_H
-
-#include <asm/mips_machine.h>
-
-enum ath79_mach_type {
- ATH79_MACH_GENERIC_OF = -1, /* Device tree board */
- ATH79_MACH_GENERIC = 0,
- ATH79_MACH_A40, /* OpenMesh A40 */
- ATH79_MACH_A60, /* OpenMesh A60 */
- ATH79_MACH_WI2A_AC200I, /* Nokia WI2A-AC200i */
- ATH79_MACH_ALFA_AP120C, /* ALFA Network AP120C board */
- ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */
- ATH79_MACH_ALFA_NX, /* ALFA Network N2/N5 board */
- ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
- ATH79_MACH_ALL0305, /* Allnet ALL0305 */
- ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
- ATH79_MACH_ANTMINER_S1, /* Antminer S1 */
- ATH79_MACH_ANTMINER_S3, /* Antminer S3 */
- ATH79_MACH_ANTROUTER_R1, /* Antrouter R1 */
- ATH79_MACH_AP121, /* Atheros AP121 reference board */
- ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
- ATH79_MACH_AP121F, /* ALFA Network AP121F */
- ATH79_MACH_AP132, /* Atheros AP132 reference board */
- ATH79_MACH_AP135_020, /* Atheros AP135-020 reference board */
- ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
- ATH79_MACH_AP136_020, /* Atheros AP136-020 reference board */
- ATH79_MACH_AP143, /* Atheros AP143 reference board */
- ATH79_MACH_AP147_010, /* Atheros AP147-010 reference board */
- ATH79_MACH_AP152, /* Atheros AP152 reference board */
- ATH79_MACH_AP531B0, /* Rockeetech AP531B0 */
- ATH79_MACH_AP90Q, /* YunCore AP80Q/AP90Q */
- ATH79_MACH_AP91_5G, /* ALFA Network AP91-5G */
- ATH79_MACH_AP96, /* Atheros AP96 */
- ATH79_MACH_ARCHER_C25_V1, /* TP-LINK Archer C25 V1 board */
- ATH79_MACH_ARCHER_C5, /* TP-LINK Archer C5 board */
- ATH79_MACH_ARCHER_C58_V1, /* TP-LINK Archer C58 V1 board */
- ATH79_MACH_ARCHER_C59_V1, /* TP-LINK Archer C59 V1 board */
- ATH79_MACH_ARCHER_C59_V2, /* TP-LINK Archer C59 V2 board */
- ATH79_MACH_ARCHER_C60_V1, /* TP-LINK Archer C60 V1 board */
- ATH79_MACH_ARCHER_C60_V2, /* TP-LINK Archer C60 V2 board */
- ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
- ATH79_MACH_ARCHER_C7_V2, /* TP-LINK Archer C7 V2 board */
- ATH79_MACH_ARCHER_C7_V4, /* TP-LINK Archer C7 V4 board */
- ATH79_MACH_ARCHER_C7_V5, /* TP-LINK Archer C7 V5 board */
- ATH79_MACH_ARDUINO_YUN, /* Yun */
- ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
- ATH79_MACH_BHR_4GRV2, /* Buffalo BHR-4GRV2 */
- ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
- ATH79_MACH_BSB, /* Smart Electronics Black Swift board */
- ATH79_MACH_C55, /* AirTight Networks C-55 */
- ATH79_MACH_C60, /* AirTight Networks C-60 */
- ATH79_MACH_CAP324, /* PowerCloud Systems CAP324 */
- ATH79_MACH_CAP4200AG, /* Senao CAP4200AG */
- ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */
- ATH79_MACH_CF_E316N_V2, /* COMFAST CF-E316N v2 */
- ATH79_MACH_CF_E320N_V2, /* COMFAST CF-E320N v2 */
- ATH79_MACH_CF_E355AC, /* COMFAST CF-E355AC */
- ATH79_MACH_CF_E355AC_V2, /* COMFAST CF-E355AC v2*/
- ATH79_MACH_CF_E375AC, /* COMFAST CF-E375AC */
- ATH79_MACH_CF_E380AC_V1, /* COMFAST CF-E380AC v1 */
- ATH79_MACH_CF_E380AC_V2, /* COMFAST CF-E380AC v2 */
- ATH79_MACH_CF_E385AC, /* COMFAST CF-E385AC */
- ATH79_MACH_CF_E520N, /* COMFAST CF-E520N */
- ATH79_MACH_CF_E530N, /* COMFAST CF-E530N */
- ATH79_MACH_CPE210, /* TP-LINK CPE210 v1 */
- ATH79_MACH_CPE210_V2, /* TP-LINK CPE210 v2 */
- ATH79_MACH_CPE210_V3, /* TP-LINK CPE210 v3 */
- ATH79_MACH_CPE505N, /* P&W CPE505N */
- ATH79_MACH_CPE510, /* TP-LINK CPE510 */
- ATH79_MACH_CPE510_V2, /* TP-LINK CPE510 v2 */
- ATH79_MACH_CPE830, /* YunCore CPE830 */
- ATH79_MACH_CPE870, /* YunCore CPE870 */
- ATH79_MACH_CR3000, /* PowerCloud Systems CR3000 */
- ATH79_MACH_CR5000, /* PowerCloud Systems CR5000 */
- ATH79_MACH_DAP_1330_A1, /* D-Link DAP-1330 rev. A1 */
- ATH79_MACH_DAP_2695_A1, /* D-Link DAP-2695 rev. A1 */
- ATH79_MACH_DB120, /* Atheros DB120 reference board */
- ATH79_MACH_DGL_5500_A1, /* D-link DGL-5500 rev. A1 */
- ATH79_MACH_DHP_1565_A1, /* D-Link DHP-1565 rev. A1 */
- ATH79_MACH_DIR_505_A1, /* D-Link DIR-505 rev. A1 */
- ATH79_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
- ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
- ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */
- ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
- ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */
- ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
- ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
- ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
- ATH79_MACH_DIR_869_A1, /* D-Link DIR-869 rev. A1 */
- ATH79_MACH_DLAN_HOTSPOT, /* devolo dLAN Hotspot */
- 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 */
- ATH79_MACH_E1700AC_V2, /* Qxwlan E1700AC v2 */
- ATH79_MACH_E558_V2, /* Qxwlan E558 v2 */
- ATH79_MACH_E600G_V2, /* Qxwlan E600G v2 */
- ATH79_MACH_E600GAC_V2, /* Qxwlan E600GAC v2 */
- ATH79_MACH_E750A_V4, /* Qxwlan E750A v4 */
- ATH79_MACH_E750G_V8, /* Qxwlan E750G v8 */
- ATH79_MACH_EAP120, /* TP-LINK EAP120 */
- ATH79_MACH_EAP300V2, /* EnGenius EAP300 v2 */
- ATH79_MACH_EAP7660D, /* Senao EAP7660D */
- ATH79_MACH_EBR_2310_C1, /* D-link EBR-2310 rev. C1 */
- ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
- ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
- ATH79_MACH_ENS202EXT, /* EnGenius ENS202EXT */
- ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
- ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
- ATH79_MACH_ESR900, /* EnGenius ESR900 */
- ATH79_MACH_EW_BALIN, /* embedded wireless Balin Platform */
- ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
- ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
- ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
- ATH79_MACH_FRITZ300E, /* AVM FRITZ!WLAN Repeater 300E */
- ATH79_MACH_FRITZ4020, /* AVM FRITZ!Box 4020 */
- ATH79_MACH_FRITZ450E, /* AVM FRITZ!WLAN Repeater 450E */
- ATH79_MACH_GL_AR150, /* GL-AR150 support */
- ATH79_MACH_GL_AR300, /* GL-AR300 */
- ATH79_MACH_GL_AR300M, /* GL-AR300M */
- ATH79_MACH_GL_AR750, /* GL.iNet GL-AR750 */
- ATH79_MACH_GL_AR750S, /* GL.iNet GL-AR750S */
- ATH79_MACH_GL_DOMINO, /* Domino */
- ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
- ATH79_MACH_GL_MIFI, /* GL-MIFI support */
- ATH79_MACH_GL_USB150, /* GL.iNet GL-USB150 */
- ATH79_MACH_GS_MINIBOX_V1, /* GainStrong MiniBox V1.0 */
- ATH79_MACH_GS_MINIBOX_V32, /* Gainstrong MiniBox V3.2 */
- ATH79_MACH_GS_OOLITE_V1, /* GainStrong Oolite V1.0 */
- ATH79_MACH_GS_OOLITE_V5_2, /* GainStrong Oolite V5.2 */
- ATH79_MACH_GS_OOLITE_V5_2_DEV, /* GainStrong Oolite V5.2-Dev */
- ATH79_MACH_HIVEAP_121, /* Aerohive HiveAP-121*/
- ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */
- ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
- ATH79_MACH_JA76PF, /* jjPlus JA76PF */
- ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
- ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
- ATH79_MACH_JWAP230, /* jjPlus JWAP230 */
- ATH79_MACH_KOALA, /* OCEDO Koala */
- ATH79_MACH_LAN_TURTLE, /* Hak5 LAN Turtle */
- ATH79_MACH_LIMA, /* 8devices Lima */
- ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R */
- ATH79_MACH_MR12, /* Cisco Meraki MR12 */
- ATH79_MACH_MR16, /* Cisco Meraki MR16 */
- ATH79_MACH_MR1750, /* OpenMesh MR1750 */
- ATH79_MACH_MR1750V2, /* OpenMesh MR1750v2 */
- ATH79_MACH_MR18, /* Cisco Meraki MR18 */
- ATH79_MACH_MR600, /* OpenMesh MR600 */
- ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
- ATH79_MACH_MR900, /* OpenMesh MR900 */
- ATH79_MACH_MR900v2, /* OpenMesh MR900v2 */
- ATH79_MACH_MYNET_N600, /* WD My Net N600 */
- ATH79_MACH_MYNET_N750, /* WD My Net N750 */
- ATH79_MACH_MYNET_REXT, /* WD My Net Wi-Fi Range Extender */
- ATH79_MACH_MZK_W04NU, /* Planex MZK-W04NU */
- ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
- ATH79_MACH_N5Q, /* ALFA Network N5Q */
- ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
- ATH79_MACH_NBG6616, /* Zyxel NBG6616 */
- ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
- ATH79_MACH_OM2P, /* OpenMesh OM2P */
- ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
- ATH79_MACH_OM2Pv4, /* OpenMesh OM2Pv4 */
- ATH79_MACH_OM2P_HS, /* OpenMesh OM2P-HS */
- ATH79_MACH_OM2P_HSv2, /* OpenMesh OM2P-HSv2 */
- ATH79_MACH_OM2P_HSv3, /* OpenMesh OM2P-HSv3 */
- ATH79_MACH_OM2P_HSv4, /* OpenMesh OM2P-HSv4 */
- ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
- ATH79_MACH_OM5P, /* OpenMesh OM5P */
- ATH79_MACH_OM5P_AC, /* OpenMesh OM5P-AC */
- ATH79_MACH_OM5P_ACv2, /* OpenMesh OM5P-ACv2 */
- ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
- ATH79_MACH_OMY_G1, /* OMYlink OMY-G1 */
- ATH79_MACH_OMY_X1, /* OMYlink OMY-X1 */
- ATH79_MACH_ONION_OMEGA, /* ONION OMEGA */
- ATH79_MACH_PACKET_SQUIRREL, /* Hak5 Packet Squirrel */
- ATH79_MACH_PB42, /* Atheros PB42 */
- ATH79_MACH_PB44, /* Atheros PB44 reference board */
- ATH79_MACH_PQI_AIR_PEN, /* PQI Air Pen */
- ATH79_MACH_QIHOO_C301, /* Qihoo 360 C301 */
- ATH79_MACH_R36A, /* ALFA Network R36A */
- ATH79_MACH_R602N, /* P&W R602N */
- ATH79_MACH_R6100, /* NETGEAR R6100 */
- ATH79_MACH_RAMBUTAN, /* 8devices Rambutan */
- ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
- ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
- ATH79_MACH_RB_2011R5, /* Mikrotik RouterBOARD 2011UiAS(-2Hnd) */
- ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
- ATH79_MACH_RB_411, /* MikroTik RouterBOARD 411/411A/411AH */
- ATH79_MACH_RB_411U, /* MikroTik RouterBOARD 411U */
- ATH79_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
- ATH79_MACH_RB_433U, /* MikroTik RouterBOARD 433UAH */
- ATH79_MACH_RB_435G, /* MikroTik RouterBOARD 435G */
- ATH79_MACH_RB_450, /* MikroTik RouterBOARD 450 */
- ATH79_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
- ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
- ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
- ATH79_MACH_RB_711GR100, /* Mikrotik RouterBOARD 911/912 boards */
- ATH79_MACH_RB_750, /* MikroTik RouterBOARD 750 */
- ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
- ATH79_MACH_RB_750UPR2, /* MikroTik RouterBOARD 750UP r2 */
- ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
- ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
- ATH79_MACH_RB_911L, /* Mikrotik RouterBOARD 911-2Hn/911-5Hn boards */
- ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
- ATH79_MACH_RB_931, /* MikroTik RouterBOARD 931-2nD */
- ATH79_MACH_RB_941, /* MikroTik RouterBOARD 941-2nD */
- ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
- ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
- ATH79_MACH_RB_952, /* MikroTik RouterBOARD 951Ui-2nD / 952Ui-5ac2nD */
- ATH79_MACH_RB_962, /* MikroTik RouterBOARD 962UiGS-5HacT2HnT */
- ATH79_MACH_RB_CAP, /* Mikrotik RouterBOARD cAP2nD */
- ATH79_MACH_RB_LHG5, /* Mikrotik RouterBOARD LHG5 */
- ATH79_MACH_RB_MAP, /* Mikrotik RouterBOARD mAP2nD */
- ATH79_MACH_RB_MAPL, /* Mikrotik RouterBOARD mAP L-2nD */
- ATH79_MACH_RB_WAP, /* Mikrotik RouterBOARD wAP2nD */
- ATH79_MACH_RB_WAPR, /* Mikrotik RouterBOARD wAPR2nD */
- ATH79_MACH_RB_WAPAC, /* Mikrotik RouterBOARD wAPG-5HacT2HnD */
- ATH79_MACH_RB_SXTLITE2ND, /* Mikrotik RouterBOARD SXT Lite 2nD */
- ATH79_MACH_RB_SXTLITE5ND, /* Mikrotik RouterBOARD SXT Lite 5nD */
- ATH79_MACH_RE355, /* TP-LINK RE355 */
- ATH79_MACH_RE450, /* TP-LINK RE450 */
- ATH79_MACH_RME_EG200, /* eTactica EG200 */
- ATH79_MACH_RUT9XX, /* Teltonika RUT900 series */
- ATH79_MACH_RW2458N, /* Redwave RW2458N */
- ATH79_MACH_SC1750, /* Abicom SC1750 */
- ATH79_MACH_SC300M, /* Abicom SC300M */
- ATH79_MACH_SC450, /* Abicom SC450 */
- ATH79_MACH_SMART_300, /* NC-LINK SMART-300 */
- ATH79_MACH_SOM9331, /* OpenEmbed SOM9331 */
- ATH79_MACH_SR3200, /* YunCore SR3200 */
- ATH79_MACH_T830, /* YunCore T830 */
- ATH79_MACH_TELLSTICK_ZNET_LITE, /* TellStick ZNet Lite */
- ATH79_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
- ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
- ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
- ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
- ATH79_MACH_TEW_823DRU, /* TRENDnet TEW-823DRU */
- ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
- ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
- ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */
- ATH79_MACH_TL_MR3020, /* TP-LINK TL-MR3020 */
- ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */
- ATH79_MACH_TL_MR3040_V2, /* TP-LINK TL-MR3040 v2 */
- ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
- ATH79_MACH_TL_MR3220_V2, /* TP-LINK TL-MR3220 v2 */
- ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */
- ATH79_MACH_TL_MR3420_V2, /* TP-LINK TL-MR3420 v2 */
- ATH79_MACH_TL_MR6400, /* TP-LINK TL-MR6400 */
- ATH79_MACH_TL_WA701ND_V2, /* TP-LINK TL-WA701ND v2 */
- ATH79_MACH_TL_WA7210N_V2, /* TP-LINK TL-WA7210N v2 */
- ATH79_MACH_TL_WA750RE, /* TP-LINK TL-WA750RE */
- ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1 */
- ATH79_MACH_TL_WA801ND_V2, /* TP-LINK TL-WA801ND v2 */
- ATH79_MACH_TL_WA801ND_V3, /* TP-LINK TL-WA801ND v3 */
- ATH79_MACH_TL_WA830RE_V2, /* TP-LINK TL-WA830RE v2 */
- ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
- ATH79_MACH_TL_WA850RE_V2, /* TP-LINK TL-WA850RE v2 */
- ATH79_MACH_TL_WA855RE_V1, /* TP-LINK TL-WA855RE v1 */
- ATH79_MACH_TL_WA860RE, /* TP-LINK TL-WA860RE */
- ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
- 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_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 */
- ATH79_MACH_TL_WR2543N, /* TP-LINK TL-WR2543N/ND */
- ATH79_MACH_TL_WR703N, /* TP-LINK TL-WR703N */
- ATH79_MACH_TL_WR710N, /* TP-LINK TL-WR710N */
- ATH79_MACH_TL_WR720N_V3, /* TP-LINK TL-WR720N v3/v4 */
- ATH79_MACH_TL_WR740N_V6, /* TP-LINK TL-WR740N/ND v6 */
- ATH79_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */
- ATH79_MACH_TL_WR741ND_V4, /* TP-LINK TL-WR741ND v4 */
- 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 */
- ATH79_MACH_TL_WR841N_V11, /* TP-LINK TL-WR841N/ND v11 */
- ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */
- ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */
- 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_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_WR940N_V4, /* TP-LINK TL-WR940N v4 */
- ATH79_MACH_TL_WR940N_V6, /* TP-LINK TL-WR940N v6 */
- ATH79_MACH_TL_WR942N_V1, /* TP-LINK TL-WR942N v1 */
- ATH79_MACH_TS_D084, /* PISEN TS-D084 */
- ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */
- ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */
- ATH79_MACH_UBNT_AIRGWP, /* Ubiquiti AirGateway Pro */
- ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
- ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
- ATH79_MACH_UBNT_BULLET_M_XW, /* Ubiquiti Bullet M XW */
- ATH79_MACH_UBNT_LBE_M5, /* Ubiquiti Litebeam M5 */
- ATH79_MACH_UBNT_LOCO_M_XW, /* Ubiquiti Loco M XW */
- ATH79_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
- ATH79_MACH_UBNT_LSX, /* Ubiquiti LSX */
- ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
- ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
- ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
- ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI */
- ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW */
- ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
- ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
- ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
- ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
- ATH79_MACH_UBNT_UNIFIAC_LITE, /* Ubiquiti Unifi AC LITE/LR/MESH */
- ATH79_MACH_UBNT_UNIFIAC_PRO, /* Ubiquiti Unifi AC PRO/MESH PRO */
- ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
- ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */
- ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
- ATH79_MACH_WAM250, /* Samsung WAM250 */
- ATH79_MACH_WBS210, /* TP-LINK WBS210 */
- ATH79_MACH_WBS510, /* TP-LINK WBS510 */
- ATH79_MACH_WEIO, /* WeIO board */
- ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
- ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
- ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
- ATH79_MACH_WIFI_PINEAPPLE_NANO, /* Hak5 WiFi Pineapple NANO */
- ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
- ATH79_MACH_WLR8100, /* SITECOM WLR-8100 */
- ATH79_MACH_WNDAP360, /* NETGEAR WNDAP360 */
- ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */
- ATH79_MACH_WNDR3700_V4, /* NETGEAR WNDR3700v4 */
- ATH79_MACH_WNDR4300, /* NETGEAR WNDR4300 */
- ATH79_MACH_WNR1000_V2, /* NETGEAR WNR1000 v2 */
- ATH79_MACH_WNR2000, /* NETGEAR WNR2000 */
- ATH79_MACH_WNR2000_V3, /* NETGEAR WNR2000 v3 */
- ATH79_MACH_WNR2000_V4, /* NETGEAR WNR2000 v4 */
- ATH79_MACH_WNR2200, /* NETGEAR WNR2200 */
- ATH79_MACH_WNR612_V2, /* NETGEAR WNR612 v2 */
- ATH79_MACH_WP543, /* Compex WP543 */
- ATH79_MACH_WPE72, /* Compex WPE72 */
- ATH79_MACH_WPJ342, /* Compex WPJ342 */
- ATH79_MACH_WPJ344, /* Compex WPJ344 */
- ATH79_MACH_WPJ531, /* Compex WPJ531 */
- ATH79_MACH_WPJ558, /* Compex WPJ558 */
- ATH79_MACH_WPJ563, /* Compex WPJ563 */
- ATH79_MACH_WPN824N, /* NETGEAR WPN824N */
- ATH79_MACH_WRT160NL, /* Linksys WRT160NL */
- ATH79_MACH_WRT400N, /* Linksys WRT400N */
- ATH79_MACH_WRTNODE2Q, /* WRTnode2Q */
- ATH79_MACH_WZR_450HP2, /* Buffalo WZR-450HP2 */
- ATH79_MACH_WZR_HP_AG300H, /* Buffalo WZR-HP-AG300H */
- ATH79_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
- ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */
- ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */
- ATH79_MACH_XD3200, /* YunCore XD3200 */
- ATH79_MACH_Z1, /* Cisco Meraki Z1 */
- ATH79_MACH_ZBT_WE1526, /* Zbtlink ZBT-WE1526 */
- ATH79_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */
- ATH79_MACH_ZCN_1523H_5, /* Zcomax ZCN-1523H-5-xx */
-};
-
-#endif /* _ATH79_MACHTYPE_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
deleted file mode 100644
index a1de55fb19..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Atheros AR71xx minimal nvram support
- *
- * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/kernel.h>
-#include <linux/vmalloc.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/string.h>
-#include <linux/etherdevice.h>
-
-#include "nvram.h"
-
-char *ath79_nvram_find_var(const char *name, const char *buf, unsigned buf_len)
-{
- unsigned len = strlen(name);
- char *cur, *last;
-
- if (buf_len == 0 || len == 0)
- return NULL;
-
- if (buf_len < len)
- return NULL;
-
- if (len == 1)
- return memchr(buf, (int) *name, buf_len);
-
- last = (char *) buf + buf_len - len;
- for (cur = (char *) buf; cur <= last; cur++)
- if (cur[0] == name[0] && memcmp(cur, name, len) == 0)
- return cur + len;
-
- return NULL;
-}
-
-int ath79_nvram_parse_mac_addr(const char *nvram, unsigned nvram_len,
- const char *name, char *mac)
-{
- char *buf;
- char *mac_str;
- int ret;
- int t;
-
- buf = vmalloc(nvram_len);
- if (!buf)
- return -ENOMEM;
-
- memcpy(buf, nvram, nvram_len);
- buf[nvram_len - 1] = '\0';
-
- mac_str = ath79_nvram_find_var(name, buf, nvram_len);
- if (!mac_str) {
- ret = -EINVAL;
- goto free;
- }
-
- if (strlen(mac_str) == 19 && mac_str[0] == '"' && mac_str[18] == '"') {
- mac_str[18] = 0;
- mac_str++;
- }
-
- t = sscanf(mac_str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
- &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
-
- if (t != ETH_ALEN)
- t = sscanf(mac_str, "%02hhx-%02hhx-%02hhx-%02hhx-%02hhx-%02hhx",
- &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
-
- if (t != ETH_ALEN) {
- ret = -EINVAL;
- goto free;
- }
-
- ret = 0;
-
-free:
- vfree(buf);
- return ret;
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.h b/target/linux/ar71xx/files/arch/mips/ath79/nvram.h
deleted file mode 100644
index 75151d4a3c..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Atheros AR71xx minimal nvram support
- *
- * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_NVRAM_H
-#define _ATH79_NVRAM_H
-
-char *ath79_nvram_find_var(const char *name, const char *buf,
- unsigned buf_len);
-int ath79_nvram_parse_mac_addr(const char *nvram, unsigned nvram_len,
- const char *name, char *mac);
-
-#endif /* _ATH79_NVRAM_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.c b/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.c
deleted file mode 100644
index 2202351806..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Atheros AP94 reference board PCI initialization
- *
- * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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/delay.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-struct ath9k_fixup {
- u16 *cal_data;
- unsigned slot;
-};
-
-static int ath9k_num_fixups;
-static struct ath9k_fixup ath9k_fixups[2];
-
-static void ath9k_pci_fixup(struct pci_dev *dev)
-{
- void __iomem *mem;
- u16 *cal_data = NULL;
- u16 cmd;
- u32 bar0;
- u32 val;
- unsigned i;
-
- for (i = 0; i < ath9k_num_fixups; i++) {
- if (ath9k_fixups[i].cal_data == NULL)
- continue;
-
- if (ath9k_fixups[i].slot != PCI_SLOT(dev->devfn))
- continue;
-
- cal_data = ath9k_fixups[i].cal_data;
- break;
- }
-
- if (cal_data == NULL)
- return;
-
- if (*cal_data != 0xa55a) {
- pr_err("pci %s: invalid calibration data\n", pci_name(dev));
- return;
- }
-
- pr_info("pci %s: fixup device configuration\n", pci_name(dev));
-
- mem = ioremap(AR71XX_PCI_MEM_BASE, 0x10000);
- if (!mem) {
- pr_err("pci %s: ioremap error\n", pci_name(dev));
- return;
- }
-
- pci_read_config_dword(dev, PCI_BASE_ADDRESS_0, &bar0);
-
- switch (ath79_soc) {
- case ATH79_SOC_AR7161:
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0,
- AR71XX_PCI_MEM_BASE);
- break;
- case ATH79_SOC_AR7240:
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0xffff);
- break;
-
- case ATH79_SOC_AR7241:
- case ATH79_SOC_AR7242:
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0x1000ffff);
- break;
- case ATH79_SOC_AR9344:
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0x1000ffff);
- break;
-
- default:
- BUG();
- }
-
- pci_read_config_word(dev, PCI_COMMAND, &cmd);
- cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY;
- pci_write_config_word(dev, PCI_COMMAND, cmd);
-
- /* set pointer to first reg address */
- cal_data += 3;
- while (*cal_data != 0xffff) {
- u32 reg;
- reg = *cal_data++;
- val = *cal_data++;
- val |= (*cal_data++) << 16;
-
- __raw_writel(val, mem + reg);
- udelay(100);
- }
-
- pci_read_config_dword(dev, PCI_VENDOR_ID, &val);
- dev->vendor = val & 0xffff;
- dev->device = (val >> 16) & 0xffff;
-
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &val);
- dev->revision = val & 0xff;
- dev->class = val >> 8; /* upper 3 bytes */
-
- pci_read_config_word(dev, PCI_COMMAND, &cmd);
- cmd &= ~(PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
- pci_write_config_word(dev, PCI_COMMAND, cmd);
-
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, bar0);
-
- iounmap(mem);
-}
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ath9k_pci_fixup);
-
-void __init pci_enable_ath9k_fixup(unsigned slot, u16 *cal_data)
-{
- if (ath9k_num_fixups >= ARRAY_SIZE(ath9k_fixups))
- return;
-
- ath9k_fixups[ath9k_num_fixups].slot = slot;
- ath9k_fixups[ath9k_num_fixups].cal_data = cal_data;
- ath9k_num_fixups++;
-}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.h b/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.h
deleted file mode 100644
index 5794941f08..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _PCI_ATH9K_FIXUP
-#define _PCI_ATH9K_FIXUP
-
-void pci_enable_ath9k_fixup(unsigned slot, u16 *cal_data) __init;
-
-#endif /* _PCI_ATH9K_FIXUP */
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/routerboot.c b/target/linux/ar71xx/files/arch/mips/ath79/routerboot.c
deleted file mode 100644
index 4c0cd1314a..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/routerboot.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * RouterBoot helper routines
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#define pr_fmt(fmt) "rb: " fmt
-
-#include <linux/kernel.h>
-#include <linux/kobject.h>
-#include <linux/slab.h>
-#include <linux/errno.h>
-#include <linux/routerboot.h>
-#include <linux/rle.h>
-#include <linux/lzo.h>
-
-#include "routerboot.h"
-
-#define RB_BLOCK_SIZE 0x1000
-#define RB_ART_SIZE 0x10000
-#define RB_MAGIC_ERD 0x00455244 /* extended radio data */
-
-static struct rb_info rb_info;
-
-static u32 get_u32(void *buf)
-{
- u8 *p = buf;
-
- return ((u32) p[3] + ((u32) p[2] << 8) + ((u32) p[1] << 16) +
- ((u32) p[0] << 24));
-}
-
-static u16 get_u16(void *buf)
-{
- u8 *p = buf;
-
- return (u16) p[1] + ((u16) p[0] << 8);
-}
-
-__init int
-routerboot_find_magic(u8 *buf, unsigned int buflen, u32 *offset, bool hard)
-{
- u32 magic_ref = hard ? RB_MAGIC_HARD : RB_MAGIC_SOFT;
- u32 magic;
- u32 cur = *offset;
-
- while (cur < buflen) {
- magic = get_u32(buf + cur);
- if (magic == magic_ref) {
- *offset = cur;
- return 0;
- }
-
- cur += 0x1000;
- }
-
- return -ENOENT;
-}
-
-__init int
-routerboot_find_tag(u8 *buf, unsigned int buflen, u16 tag_id,
- u8 **tag_data, u16 *tag_len)
-{
- uint32_t magic;
- bool align = false;
- int ret;
-
- if (buflen < 4)
- return -EINVAL;
-
- magic = get_u32(buf);
- switch (magic) {
- case RB_MAGIC_ERD:
- align = true;
- /* fall trough */
- case RB_MAGIC_HARD:
- /* skip magic value */
- buf += 4;
- buflen -= 4;
- break;
-
- case RB_MAGIC_SOFT:
- if (buflen < 8)
- return -EINVAL;
-
- /* skip magic and CRC value */
- buf += 8;
- buflen -= 8;
-
- break;
-
- default:
- return -EINVAL;
- }
-
- ret = -ENOENT;
- while (buflen > 2) {
- u16 id;
- u16 len;
-
- len = get_u16(buf);
- buf += 2;
- buflen -= 2;
-
- if (buflen < 2)
- break;
-
- id = get_u16(buf);
- buf += 2;
- buflen -= 2;
-
- if (id == RB_ID_TERMINATOR)
- break;
-
- if (buflen < len)
- break;
-
- if (id == tag_id) {
- if (tag_len)
- *tag_len = len;
- if (tag_data)
- *tag_data = buf;
- ret = 0;
- break;
- }
-
- if (align)
- len = (len + 3) / 4;
-
- buf += len;
- buflen -= len;
- }
-
- return ret;
-}
-
-static inline int
-rb_find_hard_cfg_tag(u16 tag_id, u8 **tag_data, u16 *tag_len)
-{
- if (!rb_info.hard_cfg_data ||
- !rb_info.hard_cfg_size)
- return -ENOENT;
-
- return routerboot_find_tag(rb_info.hard_cfg_data,
- rb_info.hard_cfg_size,
- tag_id, tag_data, tag_len);
-}
-
-__init const char *
-rb_get_board_name(void)
-{
- u16 tag_len;
- u8 *tag;
- int err;
-
- err = rb_find_hard_cfg_tag(RB_ID_BOARD_NAME, &tag, &tag_len);
- if (err)
- return NULL;
-
- return tag;
-}
-
-__init u32
-rb_get_hw_options(void)
-{
- u16 tag_len;
- u8 *tag;
- int err;
-
- err = rb_find_hard_cfg_tag(RB_ID_HW_OPTIONS, &tag, &tag_len);
- if (err)
- return 0;
-
- return get_u32(tag);
-}
-
-static void * __init
-__rb_get_wlan_data(u16 id)
-{
- u16 tag_len;
- u8 *tag;
- void *buf;
- int err;
- u32 magic;
- size_t src_done;
- size_t dst_done;
-
- err = rb_find_hard_cfg_tag(RB_ID_WLAN_DATA, &tag, &tag_len);
- if (err) {
- pr_err("no calibration data found\n");
- goto err;
- }
-
- buf = kmalloc(RB_ART_SIZE, GFP_KERNEL);
- if (buf == NULL) {
- pr_err("no memory for calibration data\n");
- goto err;
- }
-
- magic = get_u32(tag);
- if (magic == RB_MAGIC_ERD) {
- u8 *erd_data;
- u16 erd_len;
-
- err = routerboot_find_tag(tag, tag_len, 0x1,
- &erd_data, &erd_len);
- if (err) {
- pr_err("no ERD data found for id %u\n", id);
- goto err_free;
- }
-
- dst_done = RB_ART_SIZE;
- err = lzo1x_decompress_safe(erd_data, erd_len, buf, &dst_done);
- if (err) {
- pr_err("unable to decompress calibration data %d\n",
- err);
- goto err_free;
- }
- } else {
- err = rle_decode((char *) tag, tag_len, buf, RB_ART_SIZE,
- &src_done, &dst_done);
- if (err) {
- pr_err("unable to decode calibration data\n");
- goto err_free;
- }
- }
-
- return buf;
-
-err_free:
- kfree(buf);
-err:
- return NULL;
-}
-
-__init void *
-rb_get_wlan_data(void)
-{
- return __rb_get_wlan_data(0);
-}
-
-__init void *
-rb_get_ext_wlan_data(u16 id)
-{
- return __rb_get_wlan_data(id);
-}
-
-__init const struct rb_info *
-rb_init_info(void *data, unsigned int size)
-{
- unsigned int offset;
-
- if (size == 0 || (size % RB_BLOCK_SIZE) != 0)
- return NULL;
-
- for (offset = 0; offset < size; offset += RB_BLOCK_SIZE) {
- u32 magic;
-
- magic = get_u32(data + offset);
- switch (magic) {
- case RB_MAGIC_HARD:
- rb_info.hard_cfg_offs = offset;
- break;
-
- case RB_MAGIC_SOFT:
- rb_info.soft_cfg_offs = offset;
- break;
- }
- }
-
- if (!rb_info.hard_cfg_offs) {
- pr_err("could not find a valid RouterBOOT hard config\n");
- return NULL;
- }
-
- if (!rb_info.soft_cfg_offs) {
- pr_err("could not find a valid RouterBOOT soft config\n");
- return NULL;
- }
-
- rb_info.hard_cfg_size = RB_BLOCK_SIZE;
- rb_info.hard_cfg_data = kmemdup(data + rb_info.hard_cfg_offs,
- RB_BLOCK_SIZE, GFP_KERNEL);
- if (!rb_info.hard_cfg_data)
- return NULL;
-
- rb_info.board_name = rb_get_board_name();
- rb_info.hw_options = rb_get_hw_options();
-
- return &rb_info;
-}
-
-#if 0
-static char *rb_ext_wlan_data;
-
-static ssize_t
-rb_ext_wlan_data_read(struct file *filp, struct kobject *kobj,
- struct bin_attribute *attr, char *buf,
- loff_t off, size_t count)
-{
- if (off + count > attr->size)
- return -EFBIG;
-
- memcpy(buf, &rb_ext_wlan_data[off], count);
-
- return count;
-}
-
-static const struct bin_attribute rb_ext_wlan_data_attr = {
- .attr = {
- .name = "ext_wlan_data",
- .mode = S_IRUSR | S_IWUSR,
- },
- .read = rb_ext_wlan_data_read,
- .size = RB_ART_SIZE,
-};
-
-static int __init rb_sysfs_init(void)
-{
- struct kobject *rb_kobj;
- int ret;
-
- rb_ext_wlan_data = rb_get_ext_wlan_data(1);
- if (rb_ext_wlan_data == NULL)
- return -ENOENT;
-
- rb_kobj = kobject_create_and_add("routerboot", firmware_kobj);
- if (rb_kobj == NULL) {
- ret = -ENOMEM;
- pr_err("unable to create sysfs entry\n");
- goto err_free_wlan_data;
- }
-
- ret = sysfs_create_bin_file(rb_kobj, &rb_ext_wlan_data_attr);
- if (ret) {
- pr_err("unable to create sysfs file, %d\n", ret);
- goto err_put_kobj;
- }
-
- return 0;
-
-err_put_kobj:
- kobject_put(rb_kobj);
-err_free_wlan_data:
- kfree(rb_ext_wlan_data);
- return ret;
-}
-
-late_initcall(rb_sysfs_init);
-#endif
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/routerboot.h b/target/linux/ar71xx/files/arch/mips/ath79/routerboot.h
deleted file mode 100644
index cf189362d6..0000000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/routerboot.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * RouterBoot definitions
- *
- * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- */
-
-#ifndef _ATH79_ROUTERBOOT_H_
-#define _ATH79_ROUTERBOOT_H_
-
-struct rb_info {
- unsigned int hard_cfg_offs;
- unsigned int hard_cfg_size;
- void *hard_cfg_data;
- unsigned int soft_cfg_offs;
-
- const char *board_name;
- u32 hw_options;
-};
-
-/* Bit definitions for hardware options */
-#define RB_HW_OPT_UART_ABSENT BIT(0)
-#define RB_HW_OPT_HAS_VOLTAGE BIT(1)
-#define RB_HW_OPT_HAS_USB BIT(2)
-#define RB_HW_OPT_HAS_ATTINY BIT(3)
-#define RB_HW_OPT_NO_NAND BIT(14)
-#define RB_HW_OPT_HAS_LCD BIT(15)
-#define RB_HW_OPT_HAS_POE_OUT BIT(16)
-#define RB_HW_OPT_HAS_uSD BIT(17)
-#define RB_HW_OPT_HAS_SFP BIT(20)
-#define RB_HW_OPT_HAS_WIFI BIT(21)
-#define RB_HW_OPT_HAS_TS_FOR_ADC BIT(22)
-#define RB_HW_OPT_HAS_PLC BIT(29)
-
-static inline bool
-rb_hw_option_match(const struct rb_info *info, u32 mask, u32 val)
-{
- return (info->hw_options & (val | mask)) == val;
-}
-
-static inline bool
-rb_has_hw_option(const struct rb_info *info, u32 mask)
-{
- return rb_hw_option_match(info, mask, mask);
-}
-
-#ifdef CONFIG_ATH79_ROUTERBOOT
-const struct rb_info *rb_init_info(void *data, unsigned int size);
-void *rb_get_wlan_data(void);
-void *rb_get_ext_wlan_data(u16 id);
-
-int routerboot_find_tag(u8 *buf, unsigned int buflen, u16 tag_id,
- u8 **tag_data, u16 *tag_len);
-int routerboot_find_magic(u8 *buf, unsigned int buflen, u32 *offset, bool hard);
-#else
-static inline const struct rb_info *
-rb_init_info(void *data, unsigned int size)
-{
- return NULL;
-}
-
-static inline void *rb_get_wlan_data(void)
-{
- return NULL;
-}
-
-static inline void *rb_get_wlan_data(u16 id)
-{
- return NULL;
-}
-
-static inline int
-routerboot_find_tag(u8 *buf, unsigned int buflen, u16 tag_id,
- u8 **tag_data, u16 *tag_len)
-{
- return -ENOENT;
-}
-
-static inline int
-routerboot_find_magic(u8 *buf, unsigned int buflen, u32 *offset, bool hard)
-{
- return -ENOENT;
-}
-#endif
-
-#endif /* _ATH79_ROUTERBOOT_H_ */