Commit graph

1157 commits

Author SHA1 Message Date
Jonas Gorski
def60e2918 ar71xx: make ehci patch apply again
SVN-Revision: 27951
2011-08-10 23:02:56 +00:00
Felix Fietkau
9e5ead9a51 ar71xx: fix a copy&paste bug that broke wzr-hp-g300nh and wzr-hp-ag300h images (#9918)
SVN-Revision: 27950
2011-08-10 22:24:56 +00:00
Gabor Juhos
7e5a1bc1d0 ar71xx: fix image generation
SVN-Revision: 27907
2011-08-05 10:31:52 +00:00
Gabor Juhos
85b858fae6 ar71xx: enable sysupgrade on the AP96 and DB120 boards
SVN-Revision: 27901
2011-08-04 19:41:18 +00:00
Gabor Juhos
fb77134596 ar71xx: use the same test for AP121 and Zcomax sysupgrade images
SVN-Revision: 27900
2011-08-04 19:41:17 +00:00
Gabor Juhos
fd3a5f64f2 ar71xx: cleanup image generation Makefile
SVN-Revision: 27899
2011-08-04 19:41:16 +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
Felix Fietkau
54d97e6782 ar71xx: add some hacks to work around the misalignment in IP packets received on AR71xx and AR91xx ethernet MACs decreases CPU load with the default firewall for routing 95 mbit/s from 78% to 55%
SVN-Revision: 27878
2011-08-02 15:12:08 +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
5ad4040c49 ar71xx: build image for the AP121 boards with 4M of flash
SVN-Revision: 27523
2011-07-07 13:01:50 +00:00
Gabor Juhos
cdcb10ee42 ar71xx: add separate profiles for the AP121 and AP121-MINI boards
SVN-Revision: 27522
2011-07-07 13:01:48 +00:00
Gabor Juhos
89f6b29feb ar71xx: fix building of squashfs images
SVN-Revision: 27446
2011-07-04 12:10:03 +00:00
Felix Fietkau
7afed2d86c ar71xx: add wzr-hp-ag300h sysupgrade support (patch from #9650)
SVN-Revision: 27434
2011-07-04 03:03:34 +00:00
Gabor Juhos
b3a89652a5 ar71xx: use 4k image only for the AP121 board
Create optimized 64K images with the new padjffs2 tool and use that
images instead of the 4k ones. The 4k images causes problems on devices
where the flash erase size is 64 KB.

SVN-Revision: 27357
2011-07-02 08:37:59 +00:00
Jo-Philipp Wich
701543d3ef revert r27043 (#9513)
SVN-Revision: 27343
2011-07-01 19:52:57 +00:00
Jo-Philipp Wich
1edef5ec98 revert r27341, it introduce wrong behaviour for other models
SVN-Revision: 27342
2011-07-01 19:15:45 +00:00
Jo-Philipp Wich
3b3103b2f1 turn status LED off if device finished initializing
SVN-Revision: 27341
2011-07-01 18:39:53 +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
74a88749f3 ar71xx: remove 2.6.37 support as well
SVN-Revision: 27313
2011-06-29 08:57:36 +00:00
Gabor Juhos
1d5378f588 ar71xx: remove 2.6.38 support
SVN-Revision: 27312
2011-06-29 08:57:34 +00:00
Gabor Juhos
36e7a8b33e ar71xx: switch to 2.6.39
SVN-Revision: 27311
2011-06-29 08:57:33 +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
cc56af716c ar71xx: add default network config for wzr-hp-ag300h (based on a patch from #9607)
SVN-Revision: 27283
2011-06-25 13:54:42 +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
Vasilis Tsiligiannis
70106f153d Remove trailing spaces, convert spaces to tabs
SVN-Revision: 27153
2011-06-09 19:30:50 +00:00
Felix Fietkau
9160e06af5 ar71xx: override inittab to enable login on ttyATH0
SVN-Revision: 27128
2011-06-07 17:07:10 +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
86dbc3a02d ar71xx: add profile and image building code for wzr-hp-ag300h
SVN-Revision: 27076
2011-06-01 02:23:30 +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
33fdc21d40 ar71xx: build images for the AP121 boards
SVN-Revision: 27070
2011-05-31 22:53:47 +00:00
Gabor Juhos
9e435c03e0 ar71xx: add sysupgrade support for the AP121 boards
SVN-Revision: 27069
2011-05-31 22:53:45 +00:00
Gabor Juhos
646937135f ar71xx: add default network config for the AP121 boards
SVN-Revision: 27068
2011-05-31 22:53:44 +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
761e67b394 ar71xx: stop producing -NA factory images and tag factory images with hd_id for WNDR3700v2
NETGEAR doesn’t produce a distinct North American image for
WNDR3700v2, they use the same image worldwide. This is a change from
earlier models such as WNDR3700 (v1). NETGEAR's v2 images now contain
an "hd_id" parameter, as well. All observed WNDR3700v2, WNDR3800, and
WNDRMAC images use 29763654+16+64 as their hd_id value.

This patch changes the OpenWrt WNDR3700v2 "factory" image generation
to stop producing the extraneous -NA version and to tag the image with
the same hd_id used in NETGEAR's images.

There is no change to WNDR3700 (v1) image generation, as NETGEAR
continues to produce distinct -NA and worldwide images, neither of
which are tagged with hd_id.

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

SVN-Revision: 27053
2011-05-31 22:53:25 +00:00
Gabor Juhos
c8d182406d ar71xx: create factory images for the WZR-HP-G30{0,1}NH boards
SVN-Revision: 27051
2011-05-31 22:53:22 +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
ea2f6d0edf ar71xx: reduce the size of the squashfs-4k binaries
SVN-Revision: 27047
2011-05-31 22:53:18 +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
650c7cc2fd ar71xx: use the diag LED for diagnostic on the WZR-HP-G30XNH boards
SVN-Revision: 27043
2011-05-31 22:53:13 +00:00
Gabor Juhos
4834fdaccd ar71xx: fix uci-defaults script for the WZR-HP-G30XNH boards
SVN-Revision: 27042
2011-05-31 22:53:12 +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
b39eebdf1e ar71xx: add uci config for the WLAN LED on the WRT160NL
Based on a patch by Magyar Szabolcs <mszabi@freemail.hu>

SVN-Revision: 26861
2011-05-08 21:38:49 +00:00
Gabor Juhos
858e2e719b ar71xx: use phy0tpt trigger for the WLAN LEDs
SVN-Revision: 26860
2011-05-08 21:38:48 +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