Commit graph

1265 commits

Author SHA1 Message Date
Felix Fietkau
6413f40e96 ar71xx: fix ethernet on wnr2000-v4
Most people report broken ethernet with upstream. Last year, user "franz.flasch"
authored a working mach-file. His patch is outdated so I modernized it. Original
patch and user commentary on page 1:
https://forum.openwrt.org/viewtopic.php?pid=260861#p260861

I have figured out what the critical differences are between the two that caused
upstream ethernet to break.
  1) Both ath79_init_mac() functions calls must be invocated before any GMAC init
  2) must init GMAC0 before GMAC1

That was enough to get upstream to function, but I wanted to enjoy my confidence
having tested franz's patch for a week sucessfully, so I put his whole
function in, which only features more differences in order of function calls.

An expert should consider these changes, which could pose potential bugs/issues:
1) No longer using the flag AR934X_ETH_CFG_SW_PHY_SWAP in the
ath79_setup_ar934x_eth_cfg() call.

2) Possible consequence of no longer explicitly setting ethernet duplex/speed.

Review: With this patch, my ethernet and wireless works.

Signed-off-by: Michael J. Bazzinotti <mbazzinotti@gmail.com>

SVN-Revision: 45633
2015-05-08 12:23:45 +00:00
Felix Fietkau
a51f5cace4 ar71xx: use a common naming scheme for LEDS on wnr2000-v4
It is common that the router provider be used rather than product name.
One can see this in target/linux/ar71xx/base-files/etc/uci-defaults/01_leds

Signed-off-by: Michael J. Bazzinotti <mbazzinotti@gmail.com>

SVN-Revision: 45630
2015-05-08 12:23:27 +00:00
Luka Perkov
8084b056e2 ar71xx: fix leds and gpio on wpj344
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 45589
2015-04-29 20:04:46 +00:00
Luka Perkov
9d76de9771 ar71xx: add support for compex wpj344
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 45527
2015-04-20 20:47:48 +00:00
Felix Fietkau
0a4b20166d ar71xx: Increase RXD/RDV to 2 on OM5P-AN
It was reported that OM5P-AN needs not only a delay setting of 1 for RXD/RDV
but 2. These was found when testing with a NetGear GS752TP POE switch with a
cable length of 50ft and 250ft.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 45524
2015-04-20 15:01:00 +00:00
Felix Fietkau
f4e6418a32 ar71xx: add a helper function to set RXDV/RXD of ETH_CFG on AR934x
The ETH_RXDV_DELAY (17:16) and ETH_RXD_DELAY (15:14) are currently not cleared
by the function ath79_setup_ar934x_eth_cfg. Clearing these in the
ath79_setup_ar934x_eth_cfg may cause problems on some hardware because they
rely on the preset value by the bootloader.

Instead another function is introduced which also works on ETH_CFG on AR934x.
It can be used to safely clear and set ETH_RXDV_DELAY and ETH_RXD_DELAY on
machines which require special settings.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 45523
2015-04-20 15:00:52 +00:00
Felix Fietkau
5c6925a23b ar71xx: Remove TX/RX delay from pll_1000 for OM5P-AN
The tx/rx delay bits in the ETH_XMII_CONTROL register have to be unset when the
enable_rgmii_rx_delay/enable_rgmii_tx_delay will be set in the AT803x PHY.
Othwise the throughput in gigabit mode is heavily reduced.

Signed-off-by: Sven Eckelmann <sven@open-mesh.org>

SVN-Revision: 45521
2015-04-20 15:00:20 +00:00
John Crispin
efbdc168ff ar71xx: fix ethernet packet loss issues on OM5P-AN
The OM5P-AN boards are suffering from ethernet packet loss when booting with
some active POE setups or when switching to Fast Ethernet when previously
booted with Gigabit ethernet attached.

The cause of the problem is that the AR8035 PHYs requires special register
settings to work reliably on these boards. Enable the RGMII TX, RX delays and
disable SmartEE functionality of the AR8035 PHYs. Also enable the RXD and RDV
delay in the ETH_CFG register to fix the issue.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 45438
2015-04-14 19:00:51 +00:00
Gabor Juhos
d0a6b278db ar71xx: add initial support for RB911G-5HPacD
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 45299
2015-04-07 20:04:03 +00:00
Gabor Juhos
96b006eb32 ar71xx: routerboot: export extended wlan data via sysfs
Export the data to make it accessible from user-space.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 45298
2015-04-07 20:03:43 +00:00
Gabor Juhos
76b5a9aa7d ar71xx: routerboot: add support for extended radio data
On newer Mikrotik boards, the radio calibration data
is stored differently and uses LZO compression instead
of RLE.

Update the RouterBOOT helper code to support the new
format.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 45297
2015-04-07 20:03:35 +00:00
John Crispin
17a1e18ee2 ar71xx: add kernel support for the OpenMesh OM5P-AN board
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 44861
2015-03-17 09:43:19 +00:00
John Crispin
7ea781558f ar71xx: fix TP-LINK TL-WDR3600/4300 RFKILL switch positions
While the switch positions aren't explicitly labeled as on and off, we've heard
complaints about them being wrong. This patch changes the handling to match the
stock firmware.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 44795
2015-03-15 19:39:47 +00:00
John Crispin
5ca2ad1063 Fix (invert/revert) Hornet-UB WPS LED state
My previous patch regarding the Hornet-UB board
(commit: beed4d82d6a0154b0cd5f7b84e2180215ace6718) actually
causes the WPS led state to be inverted. Practically this meant
that value 0 in /sys/class/led/alfa:blue:wps/brightness would
turn the LED on and any positive value (1-255) would turn it off.

The above of course is confusing and hence reverting this value
back to the way it was before beed4d82d6a0154b0cd5f7b84e2180215ace6718.

Signed-off-by: Janne Cederberg <janne.cederberg@gmail.com>

SVN-Revision: 44791
2015-03-15 19:25:48 +00:00
John Crispin
3a1a4165b8 ar71xx: Ext LNA patch for TUBE2H and HORNET-UB targets
Signed-off-by: Christophe Prévotaux <c.prevotaux@rural-networks.com>

SVN-Revision: 44693
2015-03-12 10:06:53 +00:00
John Crispin
fd82ffec00 ar71xx: Hornet UB GPIO WPS/Reset
This problem has existed at least since Attitude Adjustment and
is also present in trunk. Basically on the Hornet-UB board the
functionality of RESET and WPS have "switched places".

There are two tickets about the issue at dev.openwrt.org,
The solution suggested on them both is incomplete though
and introduces the following proglem:

Patching as suggested on #14136/#15282 will result in a situation
where simply pressing the RESET button on the bottom will cause
FACTORY RESET to be run. This is due to GPIO high/low state being
incorrect as a result of the above change and virtually the RESET
button is in the pressed-down state the entire time. When it is
then physically pressed, that causes the opposite, release, to be
triggered and since to the board it seemed that the button was
pressed long before it was released, the FACTORY RESET results.

The attached patch works as expected. I have verified both the
incorrect functionality as well as after fixing the issue as
described in the patch and flashing the resulting firmware to a
Hornet-UB board.

Signed-off-by: Janne Cederberg <janne.cederberg@gmail.com>

SVN-Revision: 44692
2015-03-12 10:06:42 +00:00
John Crispin
a0c4419b0d ar71xx: improve WD's My Net Wi-fi Range Extender image creation
Previously, the generated images for the My Net Wi-fi Range Extender
wouldn't always work (and panic) due to the fixed mtd offsets and
sizes for the kernel and rootfs. This patch fixes the problem by
utilizing the shared Cybertan's partition parser to recalculate
the mtd partitions for every image dynamically everytime.

Reported-by: Pascal Paradis <peparadis@yahoo.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>

SVN-Revision: 44665
2015-03-11 15:56:34 +00:00
John Crispin
69955cf733 ar71xx: generalize cybertan partition parser
By removing the NL16 signature check, the parser can be
utilized by other devices like the WD My Net Wi-fi Range
Extender.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>

SVN-Revision: 44664
2015-03-11 15:56:27 +00:00
John Crispin
e5373f2761 ar71xx: rename wrt160nl's trx partition parser
This patch renames the partition parser from
wrt160nl to more generic cybertan.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>

SVN-Revision: 44663
2015-03-11 15:56:15 +00:00
John Crispin
daf2140192 ar71xx: fix gpio-latch driver
gpio api has changed. the remove call no longer returns a value.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44650
2015-03-10 20:19:54 +00:00
Luka Perkov
e04e623009 ar71xx: wpj588: add missing usb support
Signed-off-by: Luka Perkov <luka@openwrt.org>
Tested-By: Christian Mehlis <christian@m3hlis.de>

SVN-Revision: 44648
2015-03-10 16:11:39 +00:00
John Crispin
4bc9aad079 ar71xx: Fix LED polarity for the TP-LINK TL-MR13U.
Please also backport to Barrier Breaker (this same patch applies there too).

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 44647
2015-03-10 13:26:50 +00:00
Luka Perkov
b065411a85 ar71xx: add support for compex wpj558
OpenWrt can be flashed with following uboot commands:

tftpboot 0x80500000 openwrt-ar71xx-generic-wpj558-16M-squashfs-sysupgrade.bin
erase 0x9f030000 +$filesize
cp.b $fileaddr 0x9f030000 $filesize

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 44620
2015-03-06 14:41:57 +00:00
John Crispin
9358a8a798 ar71xx: TL-WA7210n v2 support
This patch adds support for TP-Link TL-WA7210n[0]

[0] http://www.tplink.com/en/products/details/?model=TL-WA7210N

Signed-off-by: Hendrik Frenzel <hfrenzel@scunc.net>

SVN-Revision: 44526
2015-02-24 12:00:50 +00:00
John Crispin
4e5c2b6f46 ar71xx: fix mv88e6063 compile for 3.14
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44459
2015-02-15 21:15:42 +00:00
John Crispin
7e4b3de249 ar71xx: add v3.18 support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44456
2015-02-15 19:45:29 +00:00
John Crispin
503a1aaaf6 ar71xx: ZyXEL NBG6716 rfkill switch fix
ZyXEL NBG6716 "rfkill" is a switch, not a button.

Signed-off-by: Marcin Mikolajczak <gr4ffy at gmail.com>

SVN-Revision: 44453
2015-02-14 20:48:42 +00:00
John Crispin
235a83cdfe ar71xx: ZyXEL NBG6716 add gpio usb power on/off
ZyXEL NBG6716 add missing GPIO USB power on/off

Signed-off-by: Marcin Mikolajczak <gr4ffy at gmail.com>

SVN-Revision: 44425
2015-02-13 07:28:53 +00:00
John Crispin
de8d6e447c ar71xx: ZyXEL NBG6716 led/buttons cleanup
ZyXEL NBG6716 led/buttons cleanup
 - improper numbered leds
 - improper named buttons

Signed-off-by: Marcin Mikolajczak <gr4ffy at gmail.com>

SVN-Revision: 44417
2015-02-12 08:07:27 +00:00
John Crispin
b523db36a0 ar71xx: dir-505: fix reset button gpio active_low value
Fix 'active_low' default value for the reset button on DIR-505.

Signed-off-by: Rocco Folino <rocco@devzen.net>

SVN-Revision: 44360
2015-02-09 12:17:00 +00:00
John Crispin
a5b60de253 ar71xx: Add support for MERCURY MAC1200R
This patch adds support for MERCURY MAC1200R, a dual band 802.11bgn + 802.11ac
router based on the AR9344, with QCA988x ath10k radio and 5 Fast Ethernet ports

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>

SVN-Revision: 44359
2015-02-09 12:16:51 +00:00
John Crispin
35d38f21e0 ar71xx: fix nbg6716 power and usb led
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Marcin Mikolajczak <gr4ffy@gmail.com>

SVN-Revision: 44358
2015-02-09 12:16:43 +00:00
Luka Perkov
0067ab8e39 ar71xx: rb2011: apply patch to file
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 44314
2015-02-07 21:10:51 +00:00
Luka Perkov
8ca6c1acd4 ar71xx: qihoo: define flash variable as static
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 44306
2015-02-07 19:59:02 +00:00
John Crispin
cde2225c7c ar71xx: add support for the TP-LINK TL-WR941ND v5
This device is very similar to the TL-WR841N v8, only two LED GPIOs are
different.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 44255
2015-02-04 06:10:20 +00:00
John Crispin
baaef42952 ar71xx: Revert "added board support for compex wpj558"
This reverts commit f7873071561d82e75ba2dc46433a2982fef8ac6f.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44245
2015-02-02 10:32:04 +00:00
John Crispin
bc906ca59e added board support for compex wpj558
Signed-off-by: Christian Mehlis <christian@m3hlis.de>

SVN-Revision: 44237
2015-02-02 09:00:21 +00:00
John Crispin
31fd66f808 ar71xx: add Netgear WNR1000v2/WNR1000v2-VC support (#18633)
The board is already supported by OpenWrt. WNR1000v2/WNR1000v2-VC are
pretty much the same as WNR2000v3/WNR612v2, therefore the same
initialization code and flash layout is used.

Signed-off-by: Ștefan Rusu <saltwaterc@gmail.com>
Tested-by: Douglas Fraser <1dsfraser@gmail.com>

SVN-Revision: 44221
2015-01-30 08:06:40 +00:00
John Crispin
259244624b ar71xx: fix D-Link DIR-615 rev. C1 WLAN MAC address
Fix the WLAN MAC address to match the one printed on the label by using the
correct address from the ART instead of the address of the LAN interface.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 44183
2015-01-28 19:19:47 +00:00
John Crispin
4961c7d0f5 ar71xx: add support for TL-WA701ND v2
Signed-off-by: Luigi Tarenga <luigi.tarenga@gmail.com>

SVN-Revision: 44063
2015-01-20 15:48:07 +00:00
Imre Kaloz
211cac98d5 Belkin AC 1750 DB (F9K1115v2) support
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43734
2014-12-17 08:27:38 +00:00
Felix Fietkau
8c6f1412b1 ar71xx: improve ethernet driver cache footprint by removing an unnecessary pointer
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43588
2014-12-09 12:28:46 +00:00
John Crispin
3572657c5a ar71xx: dev-eth: replace mdelay calls
Similar to patch 2. Replace further mdelay calls.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 43540
2014-12-07 16:53:15 +00:00
John Crispin
59e7999a44 ag71xx: replace delay with sleep calls
I don't see that we're in an atomic context so there's no need to
busy-wait. Therefore replace the delay with sleep calls.
See also Documentation/timers/timers-howto.txt. It states:
"In general, use of mdelay is discouraged and code should
be refactored to allow for the use of msleep."

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 43539
2014-12-07 16:53:09 +00:00
John Crispin
4caa8d50ad ag71xx: replace fixed PHY reset wait time in ar7240sw_setup
Replace the fixed wait time of 1s with polling for BMCR_RESET
to be cleared on all PHYs.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 43538
2014-12-07 16:52:58 +00:00
Imre Kaloz
974f286261 add D-link DGL-5500 A1 support
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43401
2014-11-27 14:27:34 +00:00
John Crispin
47ab1cbf23 ar71xx: add support for TP-LINK CPE210/220/510/520
This adds support for the TP-LINK CPE210/220/510/520 (Pharos series). These
devices are very similar to the Ubiquiti NanoStations, but with better specs:
faster CPU, more RAM, 2x2 MIMO.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 43385
2014-11-26 08:59:32 +00:00
Imre Kaloz
15f6f67d18 Netgear R6100 support
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43382
2014-11-26 08:28:22 +00:00
John Crispin
f210f3811a ar71xx: Added support for D-link DHP-1565 rev. A1
Signed-off-by: Jacek Kikiewicz <jaceq@aol.pl>

SVN-Revision: 43307
2014-11-19 09:20:47 +00:00
John Crispin
6fafcba63b ar71xx: Fix the sys LEDs on the EasyLink M150 and mini
Sets the system LED on the EasyLink M150 and mini to lower-case "easylink"

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 43271
2014-11-14 16:58:29 +00:00
John Crispin
bc333d5399 ar71xx: add kernel support for the OpenMesh MR900v2
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 43265
2014-11-14 16:54:58 +00:00
John Crispin
95544f33dd ar71xx: add kernel support for the OpenMesh MR900 board
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 43258
2014-11-14 16:54:07 +00:00
John Crispin
2c72ffc154 ar71xx: add support for Netgear WNR2000v4
Signed-off-by: Michaël Burtin <mburtin@gmail.com>

SVN-Revision: 43173
2014-11-03 20:20:56 +00:00
Felix Fietkau
a1837135e0 ar71xx: add support for buffalo WZR-450HP2
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43026
2014-10-22 11:02:18 +00:00
John Crispin
6e46fc8a38 wr1043nd-v2: Change .code of the wi-fi button to KEY_RFKILL
This patch changes the code of the Wi-Fi On/Off button on the TP-Link WR1043ND v2
from KEY_WLAN to KEY_RFKILL (and renames a few constants to match). The reason
for this change is, that the KEY_WIFI button code is not recognized by the
hotplug subsystem. This means that the userspace is not notified about the
button being pressed which effectively renders it useless.

Signed-off-by: Josef Gajdusek <atx@atx.name>

SVN-Revision: 42922
2014-10-14 19:01:21 +00:00
John Crispin
99c238ff15 ar71xx: Fix LED definitions for the DRAGINO2 board
This patch fixes LED definitions for the DRAGINO2 board.

1. It renames the Router/USB led to System, as it is now marked "SYS" on the board.
2. It gives control of the LAN and WAN leds and some other GPIOs to Linux.
3. It fixes the active_low property for the LAN and WAN leds.
4. It sets up WLAN, LAN and WAN leds in the UCI defaults.
5. It allows usage of the System led by the diag.sh script, so it will be used to indicate boot and failsafe status.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 42897
2014-10-14 10:33:07 +00:00
John Crispin
e2c3c2280c ar71xx: fix reset button gpio for OM2P/OM2P-HS
A typo in the definition for the OM2P reset button disabled its functionality
in OpenWrt. The actual button for these two devices is "1" and not "11".

Signed-off-by: Oren Poleg <oren@poleg.org>
[sven@open-mesh.org: added a commit subject+message]
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 42782
2014-10-06 04:51:51 +00:00
John Crispin
7dbbdfb61f ar71xx: add qihoo 360 c301 router support
Qihoo 360 C301 is a dual band wireless router supports 802.11n and 802.11ac.
Its chipset is AR9344 + AR9882 with two 16MB flashes.

This patch adds its initial support.

v2:
* use mtd_get_mac_ascii to fetch MAC address for ath10k.
* use ath79_register_pci to initialize AR9882.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>

SVN-Revision: 42552
2014-09-15 10:19:38 +00:00
Felix Fietkau
1961f8cdb7 ar71xx: ack completed tx descriptors only after the full frame has been completed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42457
2014-09-10 12:56:24 +00:00
Felix Fietkau
60b81acd60 ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331
While the AR9331 has a gigabit MAC towards the internal switch, the
integrated PHYs however are only 100-base-tx capable.  The existing code
however advertieses gigabit capability in the link status word.  If you
attach such a PHY to a gigabit capable switch on the remote end, with
some probability it attempts to negotiate gigabit and fails, falling
baco to the AR9331 assuming a 10mbit half-duplex link.  This has been
observed quite frequently with the Carambola2 and gigabit capable
switches.

In ath79_register_eth(), "pdata->has_gbit = 1;" is set unconditionally
for both AR9331 ethernet ports. This is most likely wrong. Despite the
two MAC IP cores being gigabit MACs, the MAC for eth1 is connected to a
100base-T PHY via MII. The has_gbit attribute is used in the ethernet
driver to determine the supported link modes.

So either pdata->has_gbit is not set to 1 anymore, or the ethernet
driver needs to be modified to determine the advertised link code word
on another criteria than pdata->has_gbit.  This patch implements the
former solution.

Signed-off-by: Harald Welte <laforge@gnumonks.org>

SVN-Revision: 42432
2014-09-07 09:45:32 +00:00
Felix Fietkau
60eeadd0ba ar71xx: re-enable descriptor splitting on ar716x after the previous bugfixes (#13072)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42429
2014-09-06 17:51:48 +00:00
Felix Fietkau
2da2317fed ar71xx: fix off-by-one error in packet descriptor splitting (patch from #13072)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42428
2014-09-06 17:51:44 +00:00
Felix Fietkau
05dd36a980 ar71xx: on ar716x, split ethernet packets in 512 byte chunks instead of 256 (improves performance) (patch from #13072)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42427
2014-09-06 17:51:39 +00:00
Felix Fietkau
926f000b99 ar71xx: disable ethernet descriptor splitting for now, as it seems to cause tx hangs in some setups
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42333
2014-08-30 09:11:41 +00:00
Felix Fietkau
2c680151e4 ar71xx: split packets into multiple descriptors on ar716x
This improves performance when doing concurrent rx/tx on a single
ethernet MAC, e.g. when routing between VLANs.

Fixes #13072

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42328
2014-08-29 19:42:08 +00:00
John Crispin
67cf439237 ar71xx: use ETH_ALEN for consistency
Signed-off-by: Forest Crossman <cyrozap@gmail.com>

SVN-Revision: 42280
2014-08-25 06:35:58 +00:00
John Crispin
e5e1c03354 ar71xx: TL-WR1043N/ND v2: Fix MAC address of WMAC
This sets the MAC address of the WLAN interface to the "official" primary MAC
address (the one on the label under the devices, and the one used with the stock
firmware). The MAC address used so far (primary-1) isn't even used at all with
the stock firmware, which sets (primary) on LAN and WLAN and (primary+1) on the
WAN interface (like OpenWrt does with this patch).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 42193
2014-08-18 13:10:00 +00:00
John Crispin
2c67682192 ar71xx: Fix 2.4G WiFi LED of the OpenMesh MR600 board
The OpenMesh MR600(v1) can only enable the 2.4G WiFi PHY LED through the
mini-PCIe device. Not configuring the LED pin inside the platform data
makes it impossible to configure it through any standard OpenWrt tool.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 42184
2014-08-18 13:09:14 +00:00
Imre Kaloz
ecba34a3ee add support for the NC-LINK SMART-300
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 42130
2014-08-11 11:44:51 +00:00
Felix Fietkau
e41a0cafff ar71xx: add linux 3.14 support
Signed-off-by: Zhao, Gang <gang.zhao.42@gmail.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42038
2014-08-07 12:40:53 +00:00
Felix Fietkau
b855faecc0 ar71xx: update Carambola2 platform data
Change list:
 * Remove button info on GPIO12, there is no button there.
 * Remove nvram mtd partition, as it's not used for anything, saves 64k for user data.

Tested building for carambola2 target.

Signed-off-by: Mantas Pucka <mantas@8devices.com>

SVN-Revision: 41993
2014-08-04 14:46:52 +00:00
John Crispin
e7ec79821a ar71xx: oolite: the buttons are not active_low
this caused factory resets when reboot was pressed

Signed-off-by: Brent Thomson <brentthomson@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41932
2014-08-01 11:19:34 +00:00
Imre Kaloz
dc628f2e08 add support for the archer c5
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 41814
2014-07-23 12:47:25 +00:00
John Crispin
a440524f85 ar71xx: Fix GL.iNet WLAN LED
LED script expects WLAN LED to be "gl-connect:red:wlan".

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 41793
2014-07-21 19:26:46 +00:00
John Crispin
eae9b2541a ar71xx: split wndr4300 and wndr3700v4 into 2 seperate mips machines
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41788
2014-07-21 18:41:52 +00:00
John Crispin
f424994cbc ar71xx: add kernel support for the OpenMesh OM5P board
Signed-off-by: Marek Lindner <marek@open-mesh.com>
[sven@open-mesh.com: Rebased]
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 41769
2014-07-20 17:30:32 +00:00
Gabor Juhos
aff3127956 ar71xx: add kernel support for the EnGenius EAP300 v2 board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41658
2014-07-14 21:30:26 +00:00
Gabor Juhos
51c892053a ar71xx: add kernel support for the Tube2H board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41649
2014-07-14 16:03:34 +00:00
Gabor Juhos
907bd5345e ar71xx: fix ALFA NETWORK's name
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41643
2014-07-14 11:10:00 +00:00
Gabor Juhos
0bec90b830 ar71xx: add kernel support for the EnGenius ESR900
Signed-off-by: Forest Crossman <cyrozap@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/5714/
[juhosg:
  - drop nvram.c modifications,
  - create a separate kernel patch,
  - use ath79_setup_qca955x_eth_cfg helper,
  - merge esr900_{010,common}_setup functions,
  - statically init AR8327 pad configurations,
  - use pr_err instead of printk]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41640
2014-07-14 10:25:51 +00:00
Gabor Juhos
26b39cc580 ar71xx: use ath79_setup_qca955x_eth_cfg helper for QCA955x based boards
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41627
2014-07-13 19:44:00 +00:00
Gabor Juhos
16d45d5531 ar71xx: add kernel support for EnGenius ESR1750
Signed-off-by: Jon Suphammer <jon@suphammer.net>
Patchwork: http://patchwork.openwrt.org/patch/5840/
[juhosg:
  - fix coding style in mach-esr1750.c,
  - rename and refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41624
2014-07-13 19:43:57 +00:00
Gabor Juhos
ee3dfafaf1 ar71xx: add a helper function for setting up ETH_CFG register on QCA955x
Signed-off-by: Jon Suphammer <jon@suphammer.net>
Patchwork: http://patchwork.openwrt.org/patch/5839/
[juhosg: fix coding style]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41623
2014-07-13 19:43:56 +00:00
Gabor Juhos
a46c7d055c ar71xx: allow ath79_nvram_parse_mac_addr parsing mac with quotes
Signed-off-by: Jon Suphammer <jon@suphammer.net>
Patchwork: http://patchwork.openwrt.org/patch/5838/
[juhosg:
  - fix coding style,
  - check the first and the last character of the MAC string
    instead of using the strchr() function]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41622
2014-07-13 19:43:54 +00:00
Gabor Juhos
9801351c84 ar71xx: add kernel support for GL-Inet V1 boards/routers
The GL-Connect GL.iNet v1 router is basically a TP-Link TL-WR703N with
more DRAM/Flash, 2x Ethernet ports and console/GPIO header in the same
small form-factor:
<http://www.gl-inet.com/w/?lang=en>

Moreover, the manufacturer is promoting the OpenWrt usage to replace
the original firmware and proposing patches against both AA and trunk:
<http://www.gl-inet.com/w/?p=398&lang=en>

This is a clean up of the original manufacturer GPLv2 patch by alzhao,
proposed to the list by Mark Janssen.

Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
Signed-off-by: Mark Janssen <mark@sig-io.nl>
Signed-off-by: alzhao <alzhao@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/5273/
[juhosg:
  - remove user-space and image generation support, will be included
    from other patches,
  - fix coding style and drop superfluous comment in mach-gl-inet.c,
  - rename and refresh kernel patch,
  - adjust subject]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41618
2014-07-13 18:21:04 +00:00
John Crispin
9e26031a88 ar71xx: add support for TP-LINK TL-WA860RE v1
New router/repeater from TP-LINK

- CPU: Atheros AR9341-DL3A (AP123)
- Flash: 4MB
- Ram: 32MB

Similar to TL-WA850RE.

Changes: rename file after r41596

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>

SVN-Revision: 41598
2014-07-13 10:03:41 +00:00
John Crispin
42a37b2a89 ar71xx: added support for TL-WA830RE V2
Corrected patch ath79 insted of auth79. Sorry.

Signed-off-by: Fredrik Jonson <fredrik@famjonson.se>

SVN-Revision: 41596
2014-07-13 07:12:22 +00:00
John Crispin
3519322e62 ar71xx: Add support for MikroTik RouterBOARD SXT Lite
This patch adds support for the MikroTik RouterBOARD SXT Lite.

The new RB911L series is also supported as a result.

v2 of this patch fixes the wmac offset to match what is on the sticker.
v3 refreshes the patch against r41148 and defines the power led as the status led in diag.sh
v4 refreshes the patch against r41353 and fixes the patch path issue to make git am work correctly
v5 selects the kernel config option in the mikrotik profile rather than in the main ar71xx config

Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41450
2014-07-01 13:38:30 +00:00
John Crispin
23a9bfc655 ar71xx: r41348 is missing these files
sorry, the downside when applying patches with patch

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41350
2014-06-26 13:47:35 +00:00
John Crispin
680e0c09f3 ar71xx: WNDAP360 adding wifi LED support
I added WIFI LED support (so now AP blinks nicely), I removed WPS
button GPIO (as it doesn't exist) and changed GPIO for reset button.

Signed-off-by: Jacek Kikiewicz <jaceq@aol.pl>

SVN-Revision: 40976
2014-06-02 15:02:54 +00:00
John Crispin
05b73eb22f ar71xx: add kernel support for HiWiFi HC6361.
This board manufactured by HiWiFi has the following features.

 - Atheros 9331 SoC.
 - 16MB flash and 64MB RAM.
 - 4GB eMMC storage via SK6226 USB 2.0 controller.
 - 2 LAN and 1 WAN ethernet ports with LEDs on them.
 - 3 blue LEDs on the front panel.
 - 1 button labeled as "reset".
 - Powered by a USB cable.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

SVN-Revision: 40973
2014-06-02 14:56:24 +00:00
John Crispin
60ec05fdcb ar71xx: add support for dlink dir-615-e1
Dlink dir-615-e1 can use dir-600-a1's image, but the image can't be
uploaded through dlink's normal firmware update web page.

Add profile for dir-615-e1 so the generated image can be uploaded
through the firmware update web page.

Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>

SVN-Revision: 40969
2014-06-02 14:43:35 +00:00
John Crispin
c9f15772a1 ar71xx: add kernel support for the OpenMesh OM2P-HSv2
Signed-off-by: Marek Lindner <marek@open-mesh.com>
[sven@open-mesh.com: Rebased]
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 40961
2014-06-02 13:21:26 +00:00
John Crispin
ef5f37a08d ar71xx: add kernel support for the OpenMesh OM2Pv2 board
Signed-off-by: Marek Lindner <marek@open-mesh.com>
[sven@open-mesh.com: Rebased]
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 40955
2014-06-02 13:20:52 +00:00
Felix Fietkau
83dc560621 ar71xx: fix typo in tl-wr710n mac setup (fixes #16469)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40840
2014-05-24 08:01:33 +00:00
Hauke Mehrtens
f5e5477c81 kernel: modify mtd related patches for 3.14
The change is the same as ("kernel/generic: modify mtd related
patches"). Since these files are under files directory, not a files
directory of specific kernel version, better to also change them. So
it will avoid adding files to future specific files directory
(e.g. files-3.14) for this mtd related change.

Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>

SVN-Revision: 40732
2014-05-08 21:52:04 +00:00
Gabor Juhos
1374e5a721 ar71xx: rb91x: fix ethernet packet loss issues
The RB91x boards are suffering from ethernet packet loss after a cold
boot. The cause of the problem is that the AR8035 PHYs requires special
register settings to work reliably on these boards.

Enable the RGMII TX, RX delays and disable SmartEE functionality of
the AR8035 PHYs. Also enable the RXD delay in the ETH_CFG register
to fix the issue.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40509
2014-04-13 20:41:52 +00:00
Gabor Juhos
a5e398abad ar71xx: add kernel support for ZyXEL NBG 6716
With this patch OpenWRT supports the following on the ZyXEL NBG 6716:
-WiFi 2G (ath9k)
-WiFi 5G (ath10k)
-NAND flash
-2 Ethernet interfaces
-USB 2.0
-LEDs including switch
-reasonale defaults at first boot

Signed-off-by: André Valentin <avalentin@marcant.net>
Patchwork: http://patchwork.openwrt.org/patch/5101/
[juhosg:
  - rename and refresh kernel patch,
  - fix a few typos,
  - change button key codes,
  - use zyxel prefix in LED names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40499
2014-04-13 08:29:05 +00:00
Gabor Juhos
4149ab5193 ar71xx: wndr4300: indicate WNDR3700v4 in the kernel support files
Apart from the wireless chip, the WNDR3700 v4 and the WNDR4300
is the same device. Indicate this in the kernel files.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40479
2014-04-12 19:58:23 +00:00
Gabor Juhos
7b85e2e527 ar71xx: wndr4300: enable 5V power for the USB port
The 5V power of the USB is controlled by a GPIO pin of
the external WiFi chip. Setup the GPIO bitmasks in the
platform data of the WiFi chip to ensure that the 5V
power gets enabled by the ath9k driver.

Based on the the WNDR3700v4 support patch from Ralph Perlich:
  http://patchwork.openwrt.org/patch/4763/

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40478
2014-04-12 19:58:20 +00:00
Gabor Juhos
ed72141fd4 ar71xx: wndr4300: use KEY_RFKILL code for the Wireless button
Based on the the WNDR3700v4 support patch from Ralph Perlich:
  http://patchwork.openwrt.org/patch/4763/

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40477
2014-04-12 17:53:34 +00:00
Gabor Juhos
4fe71cedfe ar71xx: wndr4300: add LED for 2.4Ghz wifi interface
Based on the the WNDR3700v4 support patch from Ralph Perlich:
  http://patchwork.openwrt.org/patch/4763/

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40475
2014-04-12 17:42:35 +00:00
Gabor Juhos
db123a8a21 ar71xx: wndr4300: select GPIO_OUT functionality for LED GPIOs
The bootloader does not initializes the output function
correctly for all LEDs. DO that from the board setup code.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40474
2014-04-12 17:42:34 +00:00
Gabor Juhos
9b7b57aeb4 ar71xx: wndr4300: change 'orange' to 'amber' in LED color names
The hardware manual says amber so change the color part of
the LED names to reflect that. Also update the constant names.

Based on the the WNDR3700v4 support patch from Ralph Perlich:
  http://patchwork.openwrt.org/patch/4763/

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40473
2014-04-12 17:42:33 +00:00
Felix Fietkau
7131a104f5 ar71xx: add support for the TP-LINK TL-WR841N/ND v9
Everything seems to be working fine. Potential issues:

* VLAN port IDs are reversed with regard to the numbers on the case.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 40400
2014-04-07 08:00:02 +00:00
Felix Fietkau
f80f0c7d22 ar71xx: add support for QCA953x SoC
I don't have access to the specs, so I'm not sure about every detail, but I
haven't seen any problems with my test system, a TL-WR841N v9. It looks pretty
much like a QCA955x without PCI, a little twist in the clock calculation and
a AR9331-compatible switch.

Features not yet supported:

* EHCI (my test system doesn't have USB)
* ? (I have no idea if the QCA953x has any other features I don't know about
that aren't used by the TL-WR841N v9)

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 40399
2014-04-07 07:59:45 +00:00
Gabor Juhos
5256bbdc56 ar71xx: add kernel support for the Oolite v1 board
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg:
 - use a separate patch for kernel changes,
 - reorder Kconfig and Makefile entries,
 - change function and variable names to be lowercase only
   and fix misaligned tabs in mach-gs-oolite.c,
   ... ]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40032
2014-03-27 06:36:46 +00:00
Gabor Juhos
47dfbb5bc6 ar71xx: rb95x: use correct SPI flash address
The flash address passed to rb_init_info() is bogus,
use the predefined AR71XX_SPI_BASE macro instead.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39891
2014-03-12 12:52:39 +00:00
Gabor Juhos
25e870eed6 ar71xx: ar934x_nfc: fix memory initialization bug
sizeof(array_from_function_definition) gives back the size of the pointer.
sizeof(type)  * array_size   should be used in memset.

Signed-off-by: David Völgyes <david.volgyes@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4950/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39890
2014-03-12 12:52:36 +00:00
Gabor Juhos
da2f3c1448 ar71xx: rb91x: register GPIO LEDs
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39704
2014-02-23 08:11:53 +00:00
Gabor Juhos
14d95026b2 ar71xx: rb91x: add SPI device for the serial shift register
The RB91x boards are using a serial shift register
connected to the SPI bus to drive some of the LEDs.

Rework the board setup code to register a SPI device
for that. This makes it possible to use the 'spi-74x164'
driver to control the device.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39703
2014-02-23 08:11:52 +00:00
Gabor Juhos
3d906ac6ac ar71xx: rb91x-nand: rewrite to use GPIO API
Rewrite tha rb91x-nand driver to use GPIO API to
modify the NAND control lines.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39700
2014-02-23 07:19:32 +00:00
Gabor Juhos
8fea668cb7 ar71xx: rb91x: register a gpio-latch platform device
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39699
2014-02-22 18:05:32 +00:00
Gabor Juhos
ab08c40487 ar71xx: add a generic GPIO latch driver
It will be used for the Mikrotik boards.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39697
2014-02-22 18:05:29 +00:00
Gabor Juhos
4e0309630b ar71xx: rb91x: fix pll_1000 value for eth0 to avoid packet loss
When the RB91x device uses a GbE link the connection
suffers from packet loss:

  root@OpenWrt:/# ping 192.168.1.254 -s 65507 -c 20 -q
  PING 192.168.1.254 (192.168.1.254): 65507 data bytes

  --- 192.168.1.254 ping statistics ---
  20 packets transmitted, 9 packets received, 55% packet loss
  round-trip min/avg/max = 4.570/4.815/4.999 ms

Using a different PLL value fixes the issue.

  root@OpenWrt:/# ping 192.168.1.254 -s 65507 -c 100 -q
  PING 192.168.1.254 (192.168.1.254): 65507 data bytes

  --- 192.168.1.254 ping statistics ---
  100 packets transmitted, 100 packets received, 0% packet loss
  round-trip min/avg/max = 4.449/5.413/13.870 ms

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39642
2014-02-20 17:07:56 +00:00
Gabor Juhos
d19b868b12 ar71xx: Add support for MikroTik RB951Ui-2HnD
I noticed that the patch at http://patchwork.openwrt.org/patch/4017/
for adding support for the MikroTik RouterBOARD 951Ui-2HnD had been
abandoned because it wasn't generated and sent to the mailing list
correctly and doesn't apply as a result.  I have cleaned up this patch.

When testing this on real hardware, I also noticed that wireless didn't
work, so this patch fixes that as well.

This patch applies cleanly to SVN 39392.

Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Patchwork: http://patchwork.openwrt.org/patch/4773/
[juhosg:
  - drop the 'rb951ui_wlan_init' function and rework the code to
    use the recently introduced rb95x_wlan_init function instead,
  - fix GPIO number of the port5 LED,
  - rename LEDs according to the standard LED naming conventions,
    and use 'rb' prefix in the names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39641
2014-02-20 17:07:51 +00:00
Gabor Juhos
db0e6e264d ar71xx: add kernel support for the TP-Link TL-WDR4900 v2.0 board
Patch-by: TenNinjas <tenninjas@tenninjas.ca>
Patchwork: http://patchwork.openwrt.org/patch/4848/
[juhosg:
  - rename and refresh kernel patch,
  - merge the board setup code into mach-archer-c7.c and drop
    mach-tl-wdr49000-v2.c]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39635
2014-02-19 12:15:32 +00:00
Gabor Juhos
3b8c51771d ar71xx: wpe72: set active_low flag for the reset button
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39401
2014-01-26 14:55:34 +00:00
Gabor Juhos
b503dc026e ar71xx: wp543: set active_low flag for the buttons
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39400
2014-01-26 14:55:32 +00:00
Gabor Juhos
50f38063cd ar71xx: archer c7: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39395
2014-01-25 11:16:59 +00:00
Gabor Juhos
f85231257e ar71xx: fix bad RX sensitivity on newer TL-WDR4300 boards
On recent TL-WDR4300 boards the external LNAs of the 2.4GHz
interface are connected to GPIO lines. Because these GPIO
lines are disabled by default, the RX sensitivity of the
device is quite bad.

Setup the GPIOs of the external LNAs to fix the issue.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39392
2014-01-24 17:40:17 +00:00
Gabor Juhos
b629009eaa ar71xx: wp543: use KEY_RESET code for the sw4 button
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39374
2014-01-23 12:23:08 +00:00
Gabor Juhos
0b599c51cc ar71xx: mynet-n750: define LEDs connected to the AR8327 switch
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4743/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39361
2014-01-21 17:17:42 +00:00
Gabor Juhos
506b40b628 ar71xx: tl-wr1043nd-v2: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39346
2014-01-20 10:23:06 +00:00
Gabor Juhos
c17cfab560 ar71xx: tl-wdr4300: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39345
2014-01-20 10:23:05 +00:00
Gabor Juhos
4c54635106 ar71xx: rb2011: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39341
2014-01-20 10:23:01 +00:00
Gabor Juhos
b4dc45e07d ar71xx: rb2011: fix eth5 LED
The eth5 LED on the RB2011 is not working because the
LED control rule is missing. Fix it.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39335
2014-01-20 10:22:49 +00:00
Gabor Juhos
30ebad2dee ar71xx: ag71xx: increase calculated max frame length value
The r39147 commit introduces a regression: at lease on some routers
with ar8216 switch large packets get lost if 802.1q tagged port is
used on the interface connected to the aforementioned switch.

The r39147 changes code in the way so interface is set to accept
packets no longer than max ethernet frame length for a given mtu.

Unfortunately ar8216 has a feature: it sends two additional bytes
as a packet header and those this header needs to be added to the
max frame length. Otherwise long enough packets get lost.

The problem only manuifests itself if interface is used in vlan
tagged mode. If interface is untagged then ar8216's header fits
into space used by 802.1q tag and not packets are lost.

Include two additional bytes in the max frame length calculation
to fix the issue.

This patch is tested and works with Trendnet TEW-632BRP.

Signed-off-by Nikolay Martynov <mar.kolya@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4656/
[juhosg:
  - simplify the patch to include the additional bytes of the
    switch header unconditionally,
  - change subject and update commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39219
2014-01-11 11:15:30 +00:00
Gabor Juhos
c977d49a29 ar71xx: my net n750: simplify LNA GPIO setup
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39217
2014-01-10 09:37:59 +00:00
Gabor Juhos
cc3beb9c76 ar71xx: my net n600: simplify LNA GPIO setup
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39216
2014-01-10 09:37:58 +00:00
Gabor Juhos
32aef686f7 ar71xx: Fix WD My Net N600 weak signal issue
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.

Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Tested-by: Steven Haigh <netwiz@crc.id.au>
Patchwork: http://patchwork.openwrt.org/patch/4689/
[juhosg:
  - remove the GPIO LED changes, the My Net N600 has no yellow LEDs at all,
  - change subject and update the commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39214
2014-01-10 09:07:12 +00:00
Gabor Juhos
01727717f7 ar71xx: Fix WD My Net N750 weak signal issue
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.

Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4688/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39213
2014-01-10 09:07:11 +00:00
Gabor Juhos
05f8604e2e ar71xx: fix max frame length of the QCA955x SoCs
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39161
2013-12-23 17:05:23 +00:00
Gabor Juhos
76f37c5d46 ar71xx: don't set builtin_switch flag for QCA9558
It makes no sense, the SoC has no built-in switch.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39160
2013-12-23 17:05:21 +00:00
Gabor Juhos
f2cd3399f7 ar71xx: allow to use large ethernet frames on AR934x SoCs
The hardware supports large ethernet frames. Override
the maximum frame length and packet lenght mask in the
platform data to allow to use large MTU on the ethernet
interfaces.

Limit the feature to AR934x SoCs for now. It should work
on some other SoCs as well, but those has not been tested
yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39149
2013-12-20 11:41:23 +00:00
Gabor Juhos
2b220f3550 ar71xx: ag71xx: fix max frame length setup of the built-in switches
The currently used bitmask of the maximum frame length field
is wrong for both models. On AR724x/AR933x the largest frame
size is 2047 bytes, on the AR934x it is 16383 bytes.

Make the MTU setup code model specific, and use the correct
bitmask for both models. Also change the value to the maximum.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39148
2013-12-20 11:41:22 +00:00
Gabor Juhos
35d601f974 ar71xx: ag71xx: calculate max frame len register value from the MTU
Set the MAX_FRAME_LEN register to zero in ag71xx_hw_init()
and write the correct value into that from the ag71xx_open()
and ag71xx_fast_reset() functions.

Also recalculate the RX buffer size based on the actual
maximum frame length value to optimize memory allocation.
Additionaly, disallow to change the MTU value while the
interface it running.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39147
2013-12-20 11:41:20 +00:00
Gabor Juhos
9e7d77de2d ar71xx: ag71xx: add ag71xx_max_frame_len() helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39146
2013-12-20 11:41:18 +00:00
Gabor Juhos
2c4e3cf33a ar71xx: ag71xx: get max_frame_len and desc_pktlen_mask from platform data
This will allow to use SoC specific values for both.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39145
2013-12-20 11:41:17 +00:00
Gabor Juhos
9be1e508f9 ar71xx: ag71xx: store descriptor packet length mask in ag71xx struct
The currently used bitmask is not correct for all SoCs.
Introduce a new field in struct ag71xx and store the
bitmask in that. Use the current value for now, it will
be adjusted for each SoCs in further patches.

Aslo use the new field directly in the ag71xx_rx_packets
and ag71xx_hard_start_xmit() functions and remove the
ag71xx_desc_pktlen() helper.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39144
2013-12-20 11:41:16 +00:00
Gabor Juhos
1ebf211340 ar71xx: fix WD My Net N750 switch led cfg
Now that the switch is working correctly I had the chance to actually
test the LED config.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4616/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39129
2013-12-17 22:14:12 +00:00
Gabor Juhos
c72313fd98 ar71xx: implement switch fix for WD My Net N750
The bootloader on the WD My Net N750 disables the ports on it's internal
AR8327N switch by powering them down. The stock firmware then brings the
ports back up again by starting the auto negotiation process on each
port.

This fix implements just that.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4615/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39128
2013-12-17 22:14:11 +00:00
Gabor Juhos
8b712436f3 ar71xx: implement callback in mdio reset
This enables us to add fixups to the board specific code for boards that
require special treatment of PHYs on mdio bus reset.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
http://patchwork.openwrt.org/patch/4614/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39127
2013-12-17 22:14:10 +00:00
Gabor Juhos
ba860e4c3a ar71xx: make ag71xx_mdio_platform_data visible
This enables us to modify the ag71xx_mdio_platform_data from within the
board support files.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4613/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39126
2013-12-17 22:14:07 +00:00
Gabor Juhos
31de995025 ar71xx: ag71xx: compute the RX buffer size from the maximum frame size
Currently, the AG71XX_RX_PKT_SIZE value limits the received
frame size to 1514/1516 bytes with/without a VLAN header
respectively. However the hardware limit is controlled by
the value the AG71XX_REG_MAC_MFL register which contains
the value of the max_frame_len field.

Compute the RX buffer size from the max_frame_len field
to get rid of the 1514/1516 byte limitation. Also remove
the unused AG71XX_RX_PKT_SIZE definition.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39121
2013-12-17 16:27:46 +00:00
Gabor Juhos
b35e0da0f4 ar71xx: ag71xx: store RX buffer size in the ag71xx struct
This allows to change the value dynamically.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39120
2013-12-17 16:27:44 +00:00
Gabor Juhos
6072e777e9 ar71xx: ag71xx: store maximum frame length in the ag71xx struct
This will allow to use different values for the
different SoCs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39117
2013-12-17 15:18:16 +00:00
Gabor Juhos
ea89cc9250 ar71xx: ag71xx: use mdio bus name in ar7240_probe messages
The ar7240_probe function uses the network device name
in the kernel log messages, however the name is not yet
initialized when the ar7240_probe function is called.
Use the mdio bus name in the messages to avoid ugly
log lines like the following one:

  eth%d: Found an AR7240/AR9330 built-in switch

Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39116
2013-12-17 15:12:52 +00:00
Gabor Juhos
0d7a6748e1 ag71xx: ag71xx: use device name for debugfs entry
The ag71xx debugfs code uses the network device name
for the device specific debugfs directory. Since r38689
'ar71xx: ag71xx: fix a race involving netdev registration'
the debugfs initialization happens before the ethernet
device gets registered and the network device name contains
'eth%d' at this point. If the board setup code registers
multiple ag71xx devices, the debugfs code tries to create
the device specific dir with the same name which causes
an error like this:

  eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
  ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
  ag71xx: probe of ag71xx.0 failed with error -12

Use the device name for the debugfs directory to avoid the
collisions. Also add an error message and change the return
code if the debugfs_create_dir call fails.

Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39115
2013-12-17 15:12:50 +00:00
Gabor Juhos
5237a50089 ar71xx: add initial support for the Mikrotik RB911G/RB912UAG boards
It is only on RB911G-5HPnD and RB912UAG-5HPnD boards.
The LEDs and the USB port is not working yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39102
2013-12-16 18:08:51 +00:00