Commit graph

794 commits

Author SHA1 Message Date
Gabor Juhos
9d51cda2db ar71xx: Buffalo WHR-HP-G300N kernel support
The initial support for the Buffalo WHR-HP-G300N box.
The code was confirmed to boot and run, but not tested in depth.

Known problem: iw phy phy0 info shows:
	Coverage class: 0 (up to 0m)
	Available Antennas: TX 0 RX 0

Signed-off-by: Yoichi Shinoda <shinoda@jaist.ac.jp>

SVN-Revision: 28567
2011-10-24 21:49:26 +00:00
Gabor Juhos
d96e321bd1 ar71xx: add kernel support for the Allnet ALL0258N board
This patchs adds support for the Allnet ALL0258N outdoor AP/bridge.
The ALL0258N is based on the AR7240 SoC paired with an AR9285 radio,
it got 8MB of NOR and 32MB SDRAM.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 28564
2011-10-24 21:49:21 +00:00
Jonas Gorski
a136b67604 linux: ar71xx: add support for Mikrotik Routerboard RB493G
SVN-Revision: 28423
2011-10-11 23:05:16 +00:00
Jonas Gorski
c674c874b7 ag71xx: close a race between the phy state machine and link state
A fast stop/start cycle could leave the ag71xx interrupts and tx engine
disabled when using a phy driver with a fixed link and the start/stop
happens between two phy state machine polls.

Prevent this by always forcing the link down on stop regardless of phy
state and having a phy connected.

SVN-Revision: 28380
2011-10-08 11:37:14 +00:00
Gabor Juhos
6ac4156136 ar71xx: fix MAC addresses on the DIR-825-B1 board
Patch-by: Lukas Kuna

SVN-Revision: 28295
2011-09-23 19:56:39 +00:00
Gabor Juhos
733399600f ar71xx: add support for the TP-Link TL-WR703N v1 board
Based on a patch by dongyuqi <729650915@qq.com>

SVN-Revision: 28277
2011-09-21 11:47:53 +00:00
Gabor Juhos
d3617ac7d3 ar71xx: add AR933x specific USB setup function
SVN-Revision: 28276
2011-09-21 11:47:51 +00:00
Gabor Juhos
91340d8af7 ar71xx: add ar71xx_device_reset_rmw helper
SVN-Revision: 28275
2011-09-21 11:47:50 +00:00
Gabor Juhos
079e746fc4 ar71xx: remove 'default [yn]' from machine Kconfig entries
SVN-Revision: 28273
2011-09-21 11:47:47 +00:00
Gabor Juhos
73dac07c44 ar71xx: sort AR71XX_MACH_* entries
SVN-Revision: 28272
2011-09-21 11:47:45 +00:00
Felix Fietkau
1bdf65f580 ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)
SVN-Revision: 28213
2011-09-11 17:44:12 +00:00
Felix Fietkau
65d809ef19 ar71xx: do not count normal interrupts as spurious (fixes #10037)
SVN-Revision: 28182
2011-09-06 05:38:23 +00:00
Felix Fietkau
cd2c68501c ar71xx: fix ethernet PLL setting on ar7242
SVN-Revision: 28124
2011-08-29 21:23:46 +00:00
Felix Fietkau
12c84f8eeb ar71xx: add some code to detect DMA stuck conditions on ar7240
SVN-Revision: 27975
2011-08-13 22:30:14 +00:00
Felix Fietkau
85ccc74e1b ar71xx: on ar724x only reset the link status in the restart handler, the fast reset takes care of DMA stuck issues
SVN-Revision: 27973
2011-08-13 21:49:46 +00:00
Felix Fietkau
d26bb6c59c ar71xx: adjust the mtd layout of tew-632brp and dir-615c to match the image layout (fixes #9922)
SVN-Revision: 27959
2011-08-11 13:52:40 +00:00
Felix Fietkau
4b75394056 ar71xx: fix ethernet FIFO state corruption on ar7240
When starting/stopping DMA sometimes the FIFO state gets corrupted,
leading to wildly fluctuating latencies or packet data corruption.
Fix this by issuing a fast MAC reset as soon as the link is detected
as up. Fixes #9689, #9405

SVN-Revision: 27896
2011-08-04 17:36:31 +00:00
Felix Fietkau
d2aeca6b6d ag71xx: fix memory corruption issues on ar7240 on ethernet start/stop
When the DMA engine state gets corrupted due to a hardware issues, it
often won't stop rx until a full reset is issued. In that case the hardware
must keep a valid descriptor, otherwise it will write to random places in
system RAM, triggering random crashes. To fix this, keep a dummy descriptor
without a buffer that keeps the DMA engine in a sane state until the reset
is done

SVN-Revision: 27895
2011-08-04 17:36:27 +00:00
Felix Fietkau
500c3a1475 ar71xx: fix MAC/MDIO reset mask handling
SVN-Revision: 27894
2011-08-04 17:36:23 +00:00
Jonas Gorski
e18ceb1dac ar71xx: merge WZR-HP-G301NH support into WZR-HP-G300NH
Now that we can use a generic name for the switch there is no need for a
separate image for the WZR-HP-G301NH.
Update the default network config and remove the extra image.

SVN-Revision: 27814
2011-07-28 11:57:51 +00:00
Felix Fietkau
9e4113b493 ar71xx: autodetect rtl8366s/rtl8366rb on wzr-hp-g300nh
SVN-Revision: 27756
2011-07-24 14:40:35 +00:00
Felix Fietkau
1afe8a0726 rtl8366: unify rtl8366s and rtl8366rb platform data
SVN-Revision: 27754
2011-07-24 14:40:23 +00:00
Felix Fietkau
9105dad418 ar71xx: enable the usb power regulator on the wzr-hp-ag300h through gpio 2 (#9684)
SVN-Revision: 27739
2011-07-24 08:02:20 +00:00
Felix Fietkau
c7173a211d ar71xx: reinitialize global switch settings after reset on ar7240
SVN-Revision: 27705
2011-07-20 14:39:47 +00:00
Felix Fietkau
ca473833c4 ar71xx: configure address aging on ar7240
SVN-Revision: 27704
2011-07-20 14:39:42 +00:00
Felix Fietkau
fefc79f3cb ar71xx: reset the phy in the ethernet init on ar724x
SVN-Revision: 27703
2011-07-20 12:04:34 +00:00
Felix Fietkau
005fe5d1fd ar71xx: make sure that rx and interrupts are disabled before issuing the hardware reset
SVN-Revision: 27702
2011-07-20 12:04:29 +00:00
Felix Fietkau
e7ab000008 ar71xx: increase the delay after the ethernet MAC reset
SVN-Revision: 27701
2011-07-20 12:04:25 +00:00
Felix Fietkau
255dcaa3a6 ar71xx: fix an unused variable warning
SVN-Revision: 27700
2011-07-20 12:04:20 +00:00
Felix Fietkau
f3d693c0ee ar71xx: do not reset the hardware on transmit timeout - this would mess up the up the PHY state
SVN-Revision: 27568
2011-07-09 06:30:13 +00:00
Felix Fietkau
2806c75c07 ag71xx: keep the rx engine stopped while the link is not up, should hopefully fix stability issues from #9405
SVN-Revision: 27567
2011-07-09 06:29:46 +00:00
Gabor Juhos
f9e4619b97 ar71xx: remove CONFIG_MTD_CONCAT ifdefs from the WZR-HP-AG300H code
The config option has been removed in 2.6.39.

SVN-Revision: 27320
2011-06-30 12:15:33 +00:00
Gabor Juhos
d98476c6bd ar71xx: merge 2.6.39 patches
Also remove the old UART driver for ar933x.

SVN-Revision: 27314
2011-06-29 08:57:37 +00:00
Gabor Juhos
6627574e57 ar71xx: add 2.6.39 support
SVN-Revision: 27310
2011-06-29 08:57:32 +00:00
Gabor Juhos
1e138098cd ar71xx: remove ar71xx_gpio_irq_set_type
SVN-Revision: 27309
2011-06-29 08:57:30 +00:00
Gabor Juhos
055e317ed8 ar71xx: add separate handlers for IP3 interrupts
SVN-Revision: 27308
2011-06-29 08:57:29 +00:00
Gabor Juhos
59bff8bf18 ar71xx: use separate handlers for IP2 interrupts
SVN-Revision: 27307
2011-06-29 08:57:28 +00:00
Gabor Juhos
9d6af600e1 ar71xx: remove useless irq_desc.status initializations
SVN-Revision: 27306
2011-06-29 08:57:27 +00:00
Felix Fietkau
ed7f41792a ar71xx: bring up secondary radio on wzr-hp-ag300h (fixes #9608)
SVN-Revision: 27282
2011-06-25 13:48:47 +00:00
Gabor Juhos
e6af77a1c8 ar71xx: cleanup AR933X UART driver
SVN-Revision: 27222
2011-06-19 13:17:51 +00:00
Gabor Juhos
066e04d497 ar71xx: fix uart clock frequency for AR933X
SVN-Revision: 27221
2011-06-19 13:17:50 +00:00
Gabor Juhos
b7e016ba42 ar71xx: use ar933x_uart.h in the AR933X serial driver
SVN-Revision: 27166
2011-06-13 08:12:40 +00:00
Gabor Juhos
b58ede16a5 ar71xx: update early_printk code
SVN-Revision: 27165
2011-06-13 08:12:38 +00:00
Gabor Juhos
13363d9129 ar71xx: setup wdt_clock for AR913X to avoid a kernel bug
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 27102
2011-06-04 12:30:10 +00:00
Gabor Juhos
ae2cbfa1e8 ar71xx: select the internal antenna by default on the ZCN-1523H boards
SVN-Revision: 27101
2011-06-04 12:30:09 +00:00
Felix Fietkau
31dd60689e Revert "ar71xx: only enable the rx engine after the link is up..."
It messes up the DMA state when the link goes down

SVN-Revision: 27088
2011-06-01 18:15:43 +00:00
Gabor Juhos
750af1522b ar71xx: init external_reset for AR933X
SVN-Revision: 27083
2011-06-01 13:12:30 +00:00
Gabor Juhos
af4cae4498 ar71xx: add external_reset field to ath9k_platform_data
SVN-Revision: 27082
2011-06-01 13:12:28 +00:00
Gabor Juhos
f0c7b93e5d ar71xx: init get_mac_revision on AR9330 rev 1
SVN-Revision: 27081
2011-06-01 13:12:27 +00:00
Gabor Juhos
1a54e33c17 ar71xx: add get_mac_revision to ath9k_platform_data
SVN-Revision: 27080
2011-06-01 13:12:26 +00:00
Gabor Juhos
34ff32a6eb ar71xx: export SoC revision
SVN-Revision: 27079
2011-06-01 13:12:24 +00:00
Felix Fietkau
4f06b8263a ar71xx: add kernel support for the buffalo wzr-hp-ag300h
SVN-Revision: 27075
2011-06-01 02:23:26 +00:00
Gabor Juhos
f332dbd7be ar71xx: add support for the AP121/AP121-MINI reference boards
SVN-Revision: 27067
2011-05-31 22:53:43 +00:00
Gabor Juhos
8beff081eb ar71xx: register UART for the AR933X SoCs
SVN-Revision: 27066
2011-05-31 22:53:42 +00:00
Gabor Juhos
b460bc6f12 ar71xx: add serial driver for the AR933X UART
SVN-Revision: 27065
2011-05-31 22:53:40 +00:00
Gabor Juhos
c34e0cbc4c ar71xx: add WMAC initialization code for the AR933X SoCs
SVN-Revision: 27064
2011-05-31 22:53:39 +00:00
Gabor Juhos
e8a0aaf9a2 ar71xx: add ethernet initialization for the AR933X SoCs
SVN-Revision: 27063
2011-05-31 22:53:37 +00:00
Gabor Juhos
e0a0f3796a ar71xx: enable USB support for the AR933x SoCs
SVN-Revision: 27062
2011-05-31 22:53:36 +00:00
Gabor Juhos
677c80ee17 ar71xx: add AR933x specific glue for ar71xx_device{start,stop}
SVN-Revision: 27061
2011-05-31 22:53:35 +00:00
Gabor Juhos
88c45e3130 ar71xx: the watchdog uses the reference clock on the AR933x SoCs
SVN-Revision: 27060
2011-05-31 22:53:34 +00:00
Gabor Juhos
7acbacab8c ar71xx: add AR933x specific glue code for IRQ initialization
SVN-Revision: 27059
2011-05-31 22:53:32 +00:00
Gabor Juhos
e6fde61bec ar71xx: don't register 8250 UART on the AR933x SoCs
SVN-Revision: 27058
2011-05-31 22:53:31 +00:00
Gabor Juhos
8f7541a044 ar71xx: enable GPIO support for the AR933x SoCs
SVN-Revision: 27057
2011-05-31 22:53:30 +00:00
Gabor Juhos
e11b9c8371 ar71xx: add AR933x specific frequency initialization code
SVN-Revision: 27056
2011-05-31 22:53:29 +00:00
Gabor Juhos
0bf4478d37 ar71xx: add AR933x specific early_printk support
SVN-Revision: 27055
2011-05-31 22:53:27 +00:00
Gabor Juhos
6b3ca9ef0b ar71xx: add preliminary support for the Atheros AR933x SoCs
SVN-Revision: 27054
2011-05-31 22:53:26 +00:00
Gabor Juhos
0677e16248 ar71xx: Fix header offset for newer WRT160NL models
Newer WRT160NLs have a flash chip with 4K erase blocks instead of 64K,
resulting in miscalculated partition sizes.
Since the actual sizes did not change, hardcode them to their current
sizes, and make sure they are at least one erase block big (in case Cisco
decides to start to use chips with 128K erase blocks).

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 27049
2011-05-31 22:53:20 +00:00
Gabor Juhos
be97e2a043 ar71xx: add SOC_AR{71XX,724X,913X,934X} config symbols
SVN-Revision: 27048
2011-05-31 22:53:19 +00:00
Gabor Juhos
5d5f72415e ar71xx: initialize is_clk_25mhz field for AR9340 WMAC
SVN-Revision: 27045
2011-05-31 22:53:15 +00:00
Gabor Juhos
f7b3c3dfd1 ar71xx: sync ath9k_platform_data.h with compat-wireless
SVN-Revision: 27044
2011-05-31 22:53:14 +00:00
Gabor Juhos
60d5abbc27 ar71xx: ag71xx: make ring sizes configurable via ethtool
SVN-Revision: 27041
2011-05-31 22:53:10 +00:00
Gabor Juhos
7a2651f633 ar71xx: ag71xx: prepare to make ring sizes configurable
SVN-Revision: 27040
2011-05-31 22:53:09 +00:00
Gabor Juhos
669aba3871 ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN define
Reported-by: Dave Täht <dave.taht@gmail.com>

SVN-Revision: 27039
2011-05-31 22:53:07 +00:00
Felix Fietkau
2b5402d128 ar71xx: only enable the rx engine after the link is up, fixes a race condition that got rx stuck when the interface is brought up during lots of inbound traffic (thx, matteo)
SVN-Revision: 27035
2011-05-30 23:08:01 +00:00
Felix Fietkau
0ebc93831f ar71xx: disable flow control for ar724x, it can get stuck in a loop of continously sending MAC pause frames
SVN-Revision: 27034
2011-05-30 23:07:57 +00:00
Matteo Croce
17e257925f ar71xx: don't probe the LAN PHY
SVN-Revision: 26924
2011-05-17 11:15:24 +00:00
Matteo Croce
4deecea26b ar71xx: detect link on LAN ports
SVN-Revision: 26922
2011-05-17 11:12:56 +00:00
Matteo Croce
2ea528d1d0 ar71xx: add link detection on Ubiquiti devices WAN port
SVN-Revision: 26891
2011-05-14 23:31:50 +00:00
Matteo Croce
c0c2e18452 use correct macros and frame size in ag71xx
SVN-Revision: 26890
2011-05-14 23:10:06 +00:00
Matteo Croce
99d1d4f795 ar71xx: cosmetic fixes
SVN-Revision: 26889
2011-05-14 23:08:00 +00:00
Gabor Juhos
9b5036a29d ar71xx: populate LED3 on the JA76PF board
Patch-by: Cezary Jackiewicz <cezary@eko.one.pl>

SVN-Revision: 26862
2011-05-08 21:38:51 +00:00
Gabor Juhos
869f3cb718 ar71xx: remove superfluous fifo_cfg overrides
SVN-Revision: 26859
2011-05-08 21:38:46 +00:00
Gabor Juhos
5d77f370d6 ar71xx: ag71xx: make switch register access atomic
Reading of the PHY registers occasionally returns with bogus values
under heavy load. This misleads the PHY driver and thus causes false
link/speed change notifications which leads to performance loss.

This is easily noticable during an iperf session:

...
[  3] 52.0-53.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 53.0-54.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link down
br-lan: port 2(eth1) entering forwarding state
eth1: link up (100Mbps/Full duplex)
br-lan: port 2(eth1) entering forwarding state
br-lan: port 2(eth1) entering forwarding state
[  3] 54.0-55.0 sec  6.75 MBytes  56.6 Mbits/sec
[  3] 55.0-56.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 56.0-57.0 sec  10.5 MBytes  88.1 Mbits/sec
...
[  3] 169.0-170.0 sec  11.4 MBytes  95.4 Mbits/sec
[  3] 170.0-171.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link up (10Mbps/Half duplex)
[  3] 171.0-172.0 sec  7.63 MBytes  64.0 Mbits/sec
[  3] 172.0-173.0 sec  9.38 MBytes  78.6 Mbits/sec
eth1: link up (100Mbps/Full duplex)
[  3] 173.0-174.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 174.0-175.0 sec  11.4 MBytes  95.4 Mbits/sec

SVN-Revision: 26856
2011-05-08 16:32:53 +00:00
Gabor Juhos
3711658281 ar71xx: ag71xx: fix section mismatch warnings
The function __devinit ag71xx_probe() references
a function __devexit ag71xx_phy_disconnect().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
ag71xx_phy_disconnect() so it may be used outside an exit section.

The function ag71xx_phy_disconnect() references a function in an exit
section.
Often the function ag71xx_ar7240_cleanup() has valid usage outside the
exit section
and the fix is to remove the __devexit annotation of
ag71xx_ar7240_cleanup.

SVN-Revision: 26855
2011-05-08 13:30:36 +00:00
Gabor Juhos
ef53029870 ar71xx: ag71xx: fix build error if debugfs is enabled
SVN-Revision: 26854
2011-05-08 13:30:26 +00:00
Gabor Juhos
8b67d748cb ar71xx: ag71xx: add debugfs entry for [rt]x_ring
SVN-Revision: 26845
2011-05-07 12:40:34 +00:00
Gabor Juhos
2166432ba0 ar71xx: ag71xx: add timestamps to ag71xx_buf
SVN-Revision: 26844
2011-05-07 12:40:28 +00:00
Gabor Juhos
896e1d1ab4 ar71xx: ag71xx: use dynamically allocated buffer for napi_stats
SVN-Revision: 26843
2011-05-07 12:40:26 +00:00
Gabor Juhos
a6708d20d1 ar71xx: ag71xx: use debugfs_remove_recursive
SVN-Revision: 26842
2011-05-07 12:40:25 +00:00
Gabor Juhos
c39e5b9360 ar71xx: override wmac device name for the AR934x SoCs
SVN-Revision: 26840
2011-05-07 09:23:32 +00:00
Felix Fietkau
cbc75a9c70 ar71xx: use the ar8316 switch driver on the PB92 board and add a matching default network config
SVN-Revision: 26779
2011-04-28 21:27:42 +00:00
Felix Fietkau
36aecb08b8 ar71xx: fix MDIO access on ar7242 (based on a patch by Jess Zhu)
SVN-Revision: 26777
2011-04-28 19:30:49 +00:00
Gabor Juhos
fa9f45f345 ar71xx: fix build error w/o CONFIG_PCI
SVN-Revision: 26606
2011-04-12 13:14:56 +00:00
Gabor Juhos
e193547733 ar71xx: use the gpio_keys_polled driver instead of gpio_buttons
SVN-Revision: 26603
2011-04-12 09:29:21 +00:00
Gabor Juhos
54ede24829 ar71xx: Add support for WZR-HP-G301NH
Add support for the Buffalo WZR-HP-G301NH. The only difference between it
and the WZR-HP-G00NH is that it has a RTL8366RB instead of a RTL8366S.
Since we don't do runtime detection of the switch, we need a separate
machine definition for it.

While we are at it, also rename the profile to reflect that it now is for
more than one device.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 26601
2011-04-12 09:29:10 +00:00
Gabor Juhos
ef4c1d49a6 ar71xx: merge dev-ar9{13,34}x-wmac into dev-ar9xxx-wmac
SVN-Revision: 26595
2011-04-11 17:37:08 +00:00
Gabor Juhos
4711dea8ff ar71xx: fix AR934X_WMAC_SIZE
SVN-Revision: 26594
2011-04-11 17:37:03 +00:00
Gabor Juhos
8586e61b00 ar71xx: fix section mismatch
SVN-Revision: 26562
2011-04-09 18:47:55 +00:00
Gabor Juhos
a8bf5e3cdb ar71xx: rename ar934x_ref_freq to ar71xx_ref_freq
Also initialize that for each SoC and print its value along with the
other frequencies.

SVN-Revision: 26561
2011-04-09 18:47:52 +00:00
Gabor Juhos
5573d6eb28 ar71xx: show the SoC type earlier
SVN-Revision: 26560
2011-04-09 18:47:50 +00:00
Gabor Juhos
ab4c3b3a1c ar71xx: cleanup SoC detection code
SVN-Revision: 26559
2011-04-09 18:47:49 +00:00
Gabor Juhos
3310c70702 ar71xx: Fix mac address offset for AR934x
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>

SVN-Revision: 26557
2011-04-09 18:47:42 +00:00
Gabor Juhos
8f889f9250 ar71xx: add DB120 board specific PCI initialization
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26523
2011-04-07 20:53:41 +00:00
Gabor Juhos
a0c3d49064 ar71xx: register WMAC device on the DB120 board
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26522
2011-04-07 20:53:37 +00:00
Gabor Juhos
428888faec ar71xx: add support for the built-in WMAC of the AR934x
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26521
2011-04-07 20:53:34 +00:00
Gabor Juhos
14b42c44ec ar71xx: add initial support for the Atheros DB120 board
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26518
2011-04-07 20:53:19 +00:00
Gabor Juhos
2b064bb398 ar71xx: add support for the watchdog of the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26516
2011-04-07 20:53:10 +00:00
Gabor Juhos
e4555809c7 ar71xx: enable PCI for the AR934[24] SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26515
2011-04-07 20:53:05 +00:00
Gabor Juhos
4f395745af ar71xx: enable USB support for the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26514
2011-04-07 20:53:03 +00:00
Gabor Juhos
25693b4769 ar71xx: enable GPIO support for the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26513
2011-04-07 20:53:00 +00:00
Gabor Juhos
334a5ec36e ar71xx: add AR934x specific glue for ar7100_device{start,stop}
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26512
2011-04-07 20:52:57 +00:00
Gabor Juhos
ccd3ebd309 ar71xx: add AR934x specific UART clock initialization
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26511
2011-04-07 20:52:53 +00:00
Gabor Juhos
91470edada ar71xx: add AR934x specific glue for IRQ initialization
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26510
2011-04-07 20:52:49 +00:00
Gabor Juhos
3b209880bc ar71xx: add initial support for the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26509
2011-04-07 20:52:45 +00:00
Felix Fietkau
98c78c13db ar71xx: enable access to the WAN port PHY on a few devices, adds WAN link detection
SVN-Revision: 26394
2011-04-02 00:47:33 +00:00
Felix Fietkau
41ee4a283c ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus behind the switch instead
SVN-Revision: 26393
2011-04-02 00:47:29 +00:00
Felix Fietkau
acbb3e50e7 ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not run them on every device open, only on tx timeouts
SVN-Revision: 26392
2011-04-02 00:47:25 +00:00
Gabor Juhos
8eb616de82 ar71xx: add support for the TP-Link TL-WA901ND v2 board
Patch-by: Jonathan Benett <jbscience87@gmail.com>

SVN-Revision: 26119
2011-03-13 15:08:31 +00:00
Felix Fietkau
5bddd70a37 Revert "ar71xx: add missing gpio_set_debounce function" - wrong target
SVN-Revision: 25854
2011-03-03 16:21:23 +00:00
Felix Fietkau
57a14f4e15 ar71xx: add missing gpio_set_debounce function
SVN-Revision: 25848
2011-03-03 10:33:35 +00:00
Gabor Juhos
256169cbd0 ar71xx: add rtl8366s initvals for the DIR-825 board
SVN-Revision: 25121
2011-01-26 20:35:47 +00:00
Gabor Juhos
67c3e0bf7e ar71xx: add support for the WNDR3700v2 board
Based on a patch by Mark Mentovai <mark@moxienet.com>

SVN-Revision: 25118
2011-01-26 20:35:42 +00:00
Jo-Philipp Wich
18ed5bca9b fix null pointer access in mach-dir-600-a1.c machine setup (#8671)
SVN-Revision: 25043
2011-01-18 18:04:50 +00:00
Gabor Juhos
b67bbfe287 ar71xx: fix wlan LED on the TL-WR741 board
* Patch from #8630

SVN-Revision: 24963
2011-01-11 08:20:47 +00:00
Gabor Juhos
dd53effe15 ar71xx: fix wrong names of the WPS LED/button
Reported-by: Nuno Gonçalves

SVN-Revision: 24961
2011-01-10 18:15:47 +00:00
Gabor Juhos
23a6173099 ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driver
SVN-Revision: 24944
2011-01-09 09:29:45 +00:00
Gabor Juhos
0de8689b70 ar71xx: use spinlock in ar71xx_device_{start,stop}
SVN-Revision: 24929
2011-01-08 11:28:32 +00:00
Felix Fietkau
6acfae9379 ar71xx: enable ar7240 switch support on the UBNT NanoStation M Fixes broadcast frames on the second ethernet MAC
Signed-off-by: Alexander Couzens <lynxis@c-base.org>

SVN-Revision: 24723
2010-12-19 11:56:42 +00:00
Gabor Juhos
cafe08a1b2 ar71xx: remove stray semicolons
SVN-Revision: 24651
2010-12-17 17:57:20 +00:00
Gabor Juhos
01c76bf128 ar71xx: fix WLAN LEDs on the DIR-825 board
SVN-Revision: 24650
2010-12-17 17:10:21 +00:00
Gabor Juhos
c1d3a23d19 ar71xx: add helper function to setup ath9k LED/GPIO on the AP94 based boards
SVN-Revision: 24649
2010-12-17 17:10:19 +00:00
Gabor Juhos
8390b7dc9b ar71xx: UBNT Secondary MAC address duplicate fix
There is Secondary MAC address duplicate problem with some UBNT
RouterStation and RouterStation Pro HW batches as Primary MAC addresses
are not increased by 2 per device in board data. Fix is to use 'Locally
Administrated bit' for Secondary MAC address instead of increasing
Primary MAC addresses by 1 which could overlap with other device
Primary MAC address.

Signed-off-by: Kestutis Barkauskas<keba@devint.net>

SVN-Revision: 24643
2010-12-17 17:10:01 +00:00
Gabor Juhos
a2a5598c00 ar71xx: add wlan led for the TL-WR941ND
SVN-Revision: 24612
2010-12-15 19:55:50 +00:00
Gabor Juhos
e421d2575f ar71xx: UBNT M-Series MAC address fix
UBNT M-Series devices have 2 MAC addresses in board data.
Fix is to use both entries from board data instead of one entry.

Signed-off-by: Kestutis Barkauskas<keba@devint.net>

SVN-Revision: 24611
2010-12-15 19:55:47 +00:00
Gabor Juhos
6c1ace2f28 ar71xx: init the LED pin for ath9k on the TL-MR3[24]20 boards
SVN-Revision: 24569
2010-12-14 18:01:04 +00:00
Gabor Juhos
a7750dae90 ar71xx: add helper function to setup LED pin and GPIO on the AP91 based boards
SVN-Revision: 24568
2010-12-14 18:01:00 +00:00
Gabor Juhos
9f38f9bf76 ar71xx: add missing files for the JA76PF board
SVN-Revision: 24444
2010-12-10 19:55:28 +00:00
Gabor Juhos
b680f088ba ar71xx: add support for the jjPlus JA79PF
Patch-by: Cezary Jackiewicz

SVN-Revision: 24440
2010-12-10 17:57:51 +00:00
Gabor Juhos
5b0c83edd9 ar71xx: add support for the TP-LINK TL-MR3220 v1 board
SVN-Revision: 24439
2010-12-10 17:57:48 +00:00
Felix Fietkau
8067f3f3cc ar71xx: work around a PCI controller bug which causes reads to the PCI_COMMAND register to return bogus values - properly fixes ath9k module reload issues
SVN-Revision: 24236
2010-12-04 01:32:15 +00:00
Gabor Juhos
9971dfe059 ar71xx: D-Link DIR-825 B1 eth1 MAC address is garbage
r22700 contained a copy-and-paste error that set eth0's MAC address
twice and never set eth1's.

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 24036
2010-11-19 07:24:00 +00:00
Gabor Juhos
920a34c0ce ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23983
2010-11-12 18:52:45 +00:00
Gabor Juhos
3106aea40b ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOM
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23982
2010-11-12 18:52:28 +00:00
Gabor Juhos
30ef7d55fc ar71xx: use pr_* functions in drivers
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23981
2010-11-12 18:52:12 +00:00
Gabor Juhos
fddf3b8dac ar71xx: drivers/rb4xx_nand: remove C++ comment usage
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23980
2010-11-12 18:51:55 +00:00
Gabor Juhos
f4d5c885e4 ar71xx: return statements does not need parenthesis
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23979
2010-11-12 18:51:38 +00:00
Gabor Juhos
e244e1c7cd ar71xx: fix inline attribute location
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23978
2010-11-12 18:51:21 +00:00
Gabor Juhos
acd8ad4de5 ar71xx: wrap long lines
(build errors has been fixed - juhosg)

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23977
2010-11-12 18:51:04 +00:00
Gabor Juhos
eef802855a ar71xx: fix trailing statements location
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23976
2010-11-12 18:50:47 +00:00
Gabor Juhos
500fac1735 ar71xx: fix whitespaces nits
(build error has been fixed - juhosg)

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23975
2010-11-12 18:50:29 +00:00
Claudio Mignanti
20b2a4417a Add support for Ubiquiti UniFi AP
SVN-Revision: 23904
2010-11-06 21:08:48 +00:00
Felix Fietkau
91b6c63adc ar71xx: Set eth1 MAC address from EEPROM for WNDR3700
The WNDR3700's art/caldata partition contains three MAC addresses at
offsets 0, 6, and 12, used for eth0/wlan0 (shared), eth1, and wlan1,
respectively. The existing code configures eth1's MAC address by adding
1 to eth0's instead of using the value stored in the EEPROM. This patch
causes the stored value to be used directly. (On my WNDR3700s, the three
stored addresses are all sequential anyway.)

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 23876
2010-11-04 18:46:07 +00:00
Felix Fietkau
fc28e1cd7d ar71xx: fix the wndr3700 antenna group setting for the first wireless chip (thx, Mark Mentovai)
SVN-Revision: 23875
2010-11-04 18:39:49 +00:00
Felix Fietkau
b4e2c09b46 ar71xx: improve the wndr3700 quirks - move most of the code out of ath9k and instead allow the platform device to specify gpio overrides - fixes 5ghz signal strength issues
SVN-Revision: 23822
2010-11-03 14:55:53 +00:00
Felix Fietkau
f056c054b9 ar71xx: the ar7240 dsa driver is no longer used, remove it.
SVN-Revision: 23577
2010-10-21 18:42:28 +00:00
Felix Fietkau
9e2d1a194d ar71xx: use the new ar7240 switch driver for tl-wa901nd as well
SVN-Revision: 23576
2010-10-21 18:42:22 +00:00
Felix Fietkau
6656450c6d ar71xx: fix more section mismatches
SVN-Revision: 23575
2010-10-21 18:42:16 +00:00
Felix Fietkau
8858d90afe ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port patch to the 2.6.36 patches, add a backport patch to 2.6.32
SVN-Revision: 23574
2010-10-21 18:42:11 +00:00
Jo-Philipp Wich
a680385396 remove remaining references to dev-ap91-eth.h, patch by Stijn Tintel
SVN-Revision: 23451
2010-10-14 23:08:10 +00:00
Felix Fietkau
fc035b3cb6 ar71xx: remove dev-ap91-eth.c. switch its only user (RB-750) to the new switch driver
SVN-Revision: 23439
2010-10-14 13:41:42 +00:00
Felix Fietkau
3941621dbc ar71xx: use the new ar7240 switch driver on the DIR-600-A1 as well (fixes #7563)
SVN-Revision: 23432
2010-10-14 00:14:59 +00:00
Felix Fietkau
b61a804bf7 ar71xx: increase rb4xx nand kernel partition size (patch by danimo)
SVN-Revision: 23293
2010-10-07 14:27:34 +00:00
Gabor Juhos
697f5d0bdd ar71xx: initial support for jjPlus JWAP003
Patch-by: Cezary Jackiewicz <cezary@eko.one.pl>

(the GPIODEV code has been removed, the sysfs interface
can be used to control the GPIO lines instead - juhosg)

SVN-Revision: 23165
2010-10-01 07:09:29 +00:00
Felix Fietkau
8511c6b16c AP96: Fix LAN/WAN setup
LAN (eth0) is behind a switch and the fixed speed/duplex was
supposed to be for it, not WAN (eth1).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>

SVN-Revision: 23147
2010-09-28 22:55:14 +00:00
Gabor Juhos
32d12d5e5c ar71xx: add support for the TL-MR3420 v1 board
SVN-Revision: 23136
2010-09-27 14:53:59 +00:00
Gabor Juhos
b831ebdde9 ar71xx: AR724[12] requires different USB setup
SVN-Revision: 23135
2010-09-27 14:53:57 +00:00
Gabor Juhos
cda8655910 ar71xx: use the MDIO interface of the 2nd MAC on the ar7241
SVN-Revision: 23132
2010-09-27 14:53:49 +00:00
Gabor Juhos
b445943cdf ar71xx: move ath9k specific PCI fixup into a separate file
SVN-Revision: 23131
2010-09-27 14:53:46 +00:00
Gabor Juhos
4ae167959b ar71xx: use different address in ap91_pci_fixup for the AR724[012] SoCs
With this change ath9k can handle the wireless chip on the TL-WR841N v7
board which is based on the AR7241 SoC.

SVN-Revision: 23130
2010-09-27 14:53:43 +00:00
Felix Fietkau
a7bb7dd99e Add support for Atheros AP96 reference board
This is still preliminary and not really tested much. Anyway, this
version seems to be enough to get both wired and wireless
interfaces working. Buttons and leds are also working.

mach-ap96.c is based on mach-wndr3700.c.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>

SVN-Revision: 23125
2010-09-27 08:59:53 +00:00
Felix Fietkau
0c6653c6e2 ar71xx: select AR71XX_DEV_DSA when AR71XX_DEV_AP91_ETH is selected, do not select AR71XX_DEV_AP91_ETH for TL-WA901ND and TL-WR741ND
SVN-Revision: 22935
2010-09-05 16:17:06 +00:00
Gabor Juhos
b4336a8e2d ar71xx: add support for the Zcomax ZCN-1523H-2-8/5-16 boards
SVN-Revision: 22882
2010-09-03 18:14:37 +00:00
Gabor Juhos
47f8fd1dde ar71xx: rewrite SPI drivers for the RB4xx boards
* add a new SPI controller driver
  * add SPI driver for the CPLD chip
  * convert the NAND driver
  * enable the mikroSD slot
  * enable more LEDs

SVN-Revision: 22863
2010-08-31 20:13:47 +00:00
Gabor Juhos
7bc5a672c1 ar71xx: change mac address initialization
SVN-Revision: 22700
2010-08-18 16:00:28 +00:00
Felix Fietkau
523fcf0497 ar71xx: add a new driver for the ar7240 switch using swconfig. hooks directly into the ethernet driver, as MAC resets also require switch reinitializations and the switch is part of the cpu core anyway switch only tl-wr741nd (and other devices using this board file, such as tl-wr841nd) over to using this by default, as other devices are still untested fixes #7563
SVN-Revision: 22675
2010-08-16 19:21:57 +00:00
Felix Fietkau
65899cfa49 ar71xx: remove the fifo cfg overrides for the ap91 ethernet code - these values have been wrong on every single device i've tested, falling back to the atheros values seems to be the right thing to do
SVN-Revision: 22401
2010-07-27 21:04:43 +00:00
Felix Fietkau
900aaa919b ar71xx: add support for the tp-link tl-wa901nd devices (patch by Pieter "Fate" Hollants, from #7528, without the ethernet fifo cfg values)
SVN-Revision: 22353
2010-07-22 12:37:44 +00:00
Felix Fietkau
bced5d7d74 ar71xx: set default values for the fifo cfg registers on AR724x
SVN-Revision: 22303
2010-07-20 01:54:11 +00:00
Gabor Juhos
4bb11f9a39 generic: move ath5k_platform.h from ar71xx to generic files
SVN-Revision: 22189
2010-07-15 07:36:58 +00:00
Gabor Juhos
95e09cccd8 ar71xx: in-flash macs and eeprom for mach-eap7660d
This adds in-flash mac-addresses and calibration data for the Senao
EAP7660D board.

Signed-off-by: Daniel Golle <daniel.golle@gmail.com>

SVN-Revision: 22187
2010-07-15 07:36:52 +00:00
Felix Fietkau
a27ea45e76 ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until we've figured out what part of it causes the issue described in #7563
SVN-Revision: 22075
2010-07-06 12:40:07 +00:00
Felix Fietkau
15b209d09f ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
SVN-Revision: 22055
2010-07-04 02:15:08 +00:00
Felix Fietkau
89da22d1ea ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down fixes boot time crashes under load reported by matteo
SVN-Revision: 22054
2010-07-04 01:31:33 +00:00
Gabor Juhos
5a28fb88a4 ar71xx: fix leds-rb750 build failure on 2.6.34
SVN-Revision: 22016
2010-07-01 14:49:06 +00:00
Gabor Juhos
7bff9c0101 ar71xx: add support for the Senao EAP7660D board
This patch adds support for the Senao EAP7660D board to trunk.

Signed-off-by: Daniel Golle <daniel.golle@gmail.com>

SVN-Revision: 21837
2010-06-18 16:22:05 +00:00
Gabor Juhos
08c2e29018 ar71xx: avoid duplicated 'board' parameter in kernel command line
SVN-Revision: 21805
2010-06-14 20:02:44 +00:00
Gabor Juhos
9789f0215a ar71xx: nuke AR71XX_MACH_UBNT_AR71XX machtype
SVN-Revision: 21764
2010-06-12 13:20:39 +00:00
Gabor Juhos
adb0a95df1 ar71xx: fix phy_mask for the RB450
SVN-Revision: 21743
2010-06-09 19:48:35 +00:00
Gabor Juhos
6ce447427c ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35
SVN-Revision: 21736
2010-06-09 15:31:34 +00:00
Gabor Juhos
d55ebf3a8a ar71xx: fix phy_mask on the RB433 for the IP17xx driver
SVN-Revision: 21728
2010-06-08 20:19:18 +00:00
Gabor Juhos
90e2b1ad6b ar71xx: fix 2.6.34 build errors
SVN-Revision: 21698
2010-06-07 09:18:13 +00:00
Gabor Juhos
115f845e53 ar71xx: fix nbg460n mtd partitions
This fixes the NBG460N/550N/550NH mtd partitions.

Signed-off-by: Michael Kurz <michi.kurz@googlemail.com>

SVN-Revision: 21443
2010-05-14 08:37:58 +00:00
Gabor Juhos
fca9b7ebad ar71xx: remove config partition from the mtd map on the MZK-W300NH board
This space can be used to extend the rootfs_data partition.

SVN-Revision: 21173
2010-04-26 18:28:04 +00:00
Gabor Juhos
77b2354fcd ar71xx: fix firmware partition size on the MZK-W04NU board
SVN-Revision: 21172
2010-04-26 18:28:01 +00:00
Felix Fietkau
7966004d99 ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason (fixes #7236)
SVN-Revision: 21166
2010-04-26 16:39:13 +00:00
Felix Fietkau
9848d38aed ar71xx: fix a wifi card stability issue
when we receive a pci/ahb interrupt, we need to flush pending data for dma
from the device, otherwise the tx path may get stuck if the completion flag
of the dma descriptor is not updated at the time the tx interrupt arrives.

SVN-Revision: 21143
2010-04-24 17:24:11 +00:00
Gabor Juhos
10ed3b23a6 ar71xx: reduce button threshold value on the NBG460 board
SVN-Revision: 21076
2010-04-21 19:07:23 +00:00
Gabor Juhos
9933d34770 ar71xx: use KEY_RESTART and KEY_WPS_BUTTON code for the appropriate buttons
SVN-Revision: 21075
2010-04-21 19:07:19 +00:00
Gabor Juhos
693ea524c1 ar71xx: adding support for zyxel nbg460n/550n/550nh boards
This patch adds support for the zyxel nbg460n/550n/550nh routers.
Currently this only works if a second stage bootloader is also flashed,
as the used switch needs extra initialization.

Signed-off-by: Michael Kurz <michi.kurz@googlemail.com>

SVN-Revision: 20990
2010-04-18 16:24:12 +00:00
Felix Fietkau
1c0e751391 ar71xx: fix up alignment handling
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary

tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers

SVN-Revision: 20892
2010-04-15 23:31:17 +00:00