aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips')
-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
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/fw/myloader/myloader.h34
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h65
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/mach-rb750.h84
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h43
250 files changed, 0 insertions, 46610 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_ */
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/fw/myloader/myloader.h b/target/linux/ar71xx/files/arch/mips/include/asm/fw/myloader/myloader.h
deleted file mode 100644
index 8a99d566d7..0000000000
--- a/target/linux/ar71xx/files/arch/mips/include/asm/fw/myloader/myloader.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Compex's MyLoader specific definitions
- *
- * Copyright (C) 2006-2008 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 _ASM_MIPS_FW_MYLOADER_H
-#define _ASM_MIPS_FW_MYLOADER_H
-
-#include <linux/myloader.h>
-
-struct myloader_info {
- uint32_t vid;
- uint32_t did;
- uint32_t svid;
- uint32_t sdid;
- uint8_t macs[MYLO_ETHADDR_COUNT][6];
-};
-
-#ifdef CONFIG_MYLOADER
-extern struct myloader_info *myloader_get_info(void) __init;
-#else
-static inline struct myloader_info *myloader_get_info(void)
-{
- return NULL;
-}
-#endif /* CONFIG_MYLOADER */
-
-#endif /* _ASM_MIPS_FW_MYLOADER_H */
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
deleted file mode 100644
index e476d57e45..0000000000
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Atheros AR71xx SoC specific platform data 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 __ASM_MACH_ATH79_PLATFORM_H
-#define __ASM_MACH_ATH79_PLATFORM_H
-
-#include <linux/if_ether.h>
-#include <linux/skbuff.h>
-#include <linux/phy.h>
-#include <linux/spi/spi.h>
-
-struct ag71xx_switch_platform_data {
- u8 phy4_mii_en:1;
- u8 phy_poll_mask;
-};
-
-struct ag71xx_platform_data {
- phy_interface_t phy_if_mode;
- u32 phy_mask;
- int speed;
- int duplex;
- u32 reset_bit;
- u8 mac_addr[ETH_ALEN];
- struct device *mii_bus_dev;
-
- u8 has_gbit:1;
- u8 is_ar91xx:1;
- u8 is_ar7240:1;
- u8 is_ar724x:1;
- u8 has_ar8216:1;
- u8 use_flow_control:1;
- u8 enable_sgmii_fixup:1;
- u8 disable_inline_checksum_engine:1;
-
- struct ag71xx_switch_platform_data *switch_data;
-
- void (*ddr_flush)(void);
- void (*set_speed)(int speed);
- void (*update_pll)(u32 pll_10, u32 pll_100, u32 pll_1000);
-
- unsigned int max_frame_len;
- unsigned int desc_pktlen_mask;
-};
-
-struct ag71xx_mdio_platform_data {
- u32 phy_mask;
- u8 builtin_switch:1;
- u8 is_ar7240:1;
- u8 is_ar9330:1;
- u8 is_ar934x:1;
- unsigned long mdio_clock;
- unsigned long ref_clock;
-
- void (*reset)(struct mii_bus *bus);
-};
-
-#endif /* __ASM_MACH_ATH79_PLATFORM_H */
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/mach-rb750.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/mach-rb750.h
deleted file mode 100644
index 50d5a20974..0000000000
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/mach-rb750.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * MikroTik RouterBOARD 750 definitions
- *
- * 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.
- */
-#ifndef _MACH_RB750_H
-#define _MACH_RB750_H
-
-#include <linux/bitops.h>
-
-#define RB750_GPIO_LVC573_LE 0 /* Latch enable on LVC573 */
-#define RB750_GPIO_NAND_IO0 1 /* NAND I/O 0 */
-#define RB750_GPIO_NAND_IO1 2 /* NAND I/O 1 */
-#define RB750_GPIO_NAND_IO2 3 /* NAND I/O 2 */
-#define RB750_GPIO_NAND_IO3 4 /* NAND I/O 3 */
-#define RB750_GPIO_NAND_IO4 5 /* NAND I/O 4 */
-#define RB750_GPIO_NAND_IO5 6 /* NAND I/O 5 */
-#define RB750_GPIO_NAND_IO6 7 /* NAND I/O 6 */
-#define RB750_GPIO_NAND_IO7 8 /* NAND I/O 7 */
-#define RB750_GPIO_NAND_NCE 11 /* NAND Chip Enable (active low) */
-#define RB750_GPIO_NAND_RDY 12 /* NAND Ready */
-#define RB750_GPIO_NAND_CLE 14 /* NAND Command Latch Enable */
-#define RB750_GPIO_NAND_ALE 15 /* NAND Address Latch Enable */
-#define RB750_GPIO_NAND_NRE 16 /* NAND Read Enable (active low) */
-#define RB750_GPIO_NAND_NWE 17 /* NAND Write Enable (active low) */
-
-#define RB750_GPIO_BTN_RESET 1
-#define RB750_GPIO_SPI_CS0 2
-#define RB750_GPIO_LED_ACT 12
-#define RB750_GPIO_LED_PORT1 13
-#define RB750_GPIO_LED_PORT2 14
-#define RB750_GPIO_LED_PORT3 15
-#define RB750_GPIO_LED_PORT4 16
-#define RB750_GPIO_LED_PORT5 17
-
-#define RB750_LED_ACT BIT(RB750_GPIO_LED_ACT)
-#define RB750_LED_PORT1 BIT(RB750_GPIO_LED_PORT1)
-#define RB750_LED_PORT2 BIT(RB750_GPIO_LED_PORT2)
-#define RB750_LED_PORT3 BIT(RB750_GPIO_LED_PORT3)
-#define RB750_LED_PORT4 BIT(RB750_GPIO_LED_PORT4)
-#define RB750_LED_PORT5 BIT(RB750_GPIO_LED_PORT5)
-#define RB750_NAND_NCE BIT(RB750_GPIO_NAND_NCE)
-
-#define RB750_LVC573_LE BIT(RB750_GPIO_LVC573_LE)
-
-#define RB750_LED_BITS (RB750_LED_PORT1 | RB750_LED_PORT2 | RB750_LED_PORT3 | \
- RB750_LED_PORT4 | RB750_LED_PORT5 | RB750_LED_ACT)
-
-#define RB7XX_GPIO_NAND_NCE 0
-#define RB7XX_GPIO_MON 9
-#define RB7XX_GPIO_LED_ACT 11
-#define RB7XX_GPIO_USB_POWERON 13
-
-#define RB7XX_NAND_NCE BIT(RB7XX_GPIO_NAND_NCE)
-#define RB7XX_LED_ACT BIT(RB7XX_GPIO_LED_ACT)
-#define RB7XX_MONITOR BIT(RB7XX_GPIO_MON)
-#define RB7XX_USB_POWERON BIT(RB7XX_GPIO_USB_POWERON)
-
-struct rb750_led_data {
- char *name;
- char *default_trigger;
- u32 mask;
- int active_low;
-};
-
-struct rb750_led_platform_data {
- int num_leds;
- struct rb750_led_data *leds;
- void (*latch_change)(u32 clear, u32 set);
-};
-
-struct rb7xx_nand_platform_data {
- u32 nce_line;
-
- void (*enable_pins)(void);
- void (*disable_pins)(void);
- void (*latch_change)(u32, u32);
-};
-
-#endif /* _MACH_RB750_H */ \ No newline at end of file
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h
deleted file mode 100644
index 37512ba1a1..0000000000
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * SPI driver definitions for the CPLD chip on the Mikrotik RB4xx boards
- *
- * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
- *
- * This file was based on the patches for Linux 2.6.27.39 published by
- * MikroTik for their RouterBoard 4xx series devices.
- *
- * 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 CPLD_GPIO_nLED1 0
-#define CPLD_GPIO_nLED2 1
-#define CPLD_GPIO_nLED3 2
-#define CPLD_GPIO_nLED4 3
-#define CPLD_GPIO_FAN 4
-#define CPLD_GPIO_ALE 5
-#define CPLD_GPIO_CLE 6
-#define CPLD_GPIO_nCE 7
-#define CPLD_GPIO_nLED5 8
-
-#define CPLD_NUM_GPIOS 9
-
-#define CPLD_CFG_nLED1 BIT(CPLD_GPIO_nLED1)
-#define CPLD_CFG_nLED2 BIT(CPLD_GPIO_nLED2)
-#define CPLD_CFG_nLED3 BIT(CPLD_GPIO_nLED3)
-#define CPLD_CFG_nLED4 BIT(CPLD_GPIO_nLED4)
-#define CPLD_CFG_FAN BIT(CPLD_GPIO_FAN)
-#define CPLD_CFG_ALE BIT(CPLD_GPIO_ALE)
-#define CPLD_CFG_CLE BIT(CPLD_GPIO_CLE)
-#define CPLD_CFG_nCE BIT(CPLD_GPIO_nCE)
-#define CPLD_CFG_nLED5 BIT(CPLD_GPIO_nLED5)
-
-struct rb4xx_cpld_platform_data {
- unsigned gpio_base;
-};
-
-extern int rb4xx_cpld_change_cfg(unsigned mask, unsigned value);
-extern int rb4xx_cpld_read(unsigned char *rx_buf,
- unsigned cnt);
-extern int rb4xx_cpld_write(const unsigned char *buf, unsigned count);