Commit Graph

1123 Commits

Author SHA1 Message Date
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
Gabor Juhos
8461ffccc1 ar71xx: add NAND driver for the Mikrotik RB91x boards
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39097
2013-12-16 12:57:24 +00:00
Gabor Juhos
d7a0184446 ar71xx: rb2011: use board name from the hardware config
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39096
2013-12-16 12:41:48 +00:00
Gabor Juhos
26ca95fefa ar71xx: rb2011: simplify setup code
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39095
2013-12-16 10:28:42 +00:00
Gabor Juhos
59b6cf1e70 ar71xx: rb2011: use the new RouterBOOT helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39094
2013-12-16 10:28:41 +00:00
Gabor Juhos
627651dfca ar71xx: rb95x: use the rb_get_wlan_data helper
Also remove unused RB_* defines.

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

SVN-Revision: 39092
2013-12-16 10:11:02 +00:00
Gabor Juhos
16565ec94b ar71xx: add some RouterBOOT specific helper functions
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39091
2013-12-16 10:11:01 +00:00
Gabor Juhos
728c2c6cff ar71xx: rb95x: nuke rb95x_gpio_init
Set up the chipselect GPIO directly in rb95x_nand_init
instead.

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

SVN-Revision: 39087
2013-12-16 08:17:40 +00:00
Gabor Juhos
3dc1cbb167 ar71xx: add kernel support for WD My Net N750
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
[juhosg: use a separate patch for kernel changes]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39077
2013-12-16 07:16:42 +00:00
Gabor Juhos
fd393c0b05 ar71xx: add kernel support for the TL-WA901ND v3 board
Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39073
2013-12-15 21:34:18 +00:00
Gabor Juhos
9ce06f2ac8 ar71xx: move TL-WA801ND v2 setup code
The TL-WA801ND v2 board has only one LAN port which makes
it more similar to the TL-WR[78]50RE devices. Move the
board setup code into the mach-tl-wax50re.c file.

Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39072
2013-12-15 21:34:17 +00:00
Gabor Juhos
40f081ad08 ar71xx: refactor TL-WAx50RE setup code
This way it is a bit easier to add other TP-LINK devices based on the
Atheros AP123 reference board with one LAN port.

Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39071
2013-12-15 21:34:15 +00:00
Gabor Juhos
e3e559fd52 ar71xx: add kernel support for the TL-WA801ND v2 board
Patch to add kernel support for the TP-LINK WA801ND v2

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Patchwork: http://patchwork.openwrt.org/patch/4500/
[juhosg:
  - the TL-WA801ND v2 does not have a sliding switch, it uses a push button
    for WPS instead. Use the tl_mr3420v2_gpio_keys array to reflect that,
  - rename kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39063
2013-12-15 20:39:10 +00:00
Felix Fietkau
7a260c3620 ath9k: merge initval and tx gain table updates, calibration fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39001
2013-12-08 14:48:30 +00:00
Gabor Juhos
bc2d7b8193 ar71xx: add kernel support for the TL-WR1043ND v2 board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38955
2013-11-29 20:51:12 +00:00
Gabor Juhos
981e3b354a ar71xx: improve support for the My Net Wi-Fi Range Extender device
This patch improves support for the device considerably.

1. The wifi didn't work in the initial release. This was because
the WMAC of the AR9340 is not connected to the antennas.
(However, it can pick up wifi signals, if they are strong enough!)
Instead there's a dedicated AR9300 chip on the same board, which
works.

2. Ethernet throughput is improved. iperf shows that the hardware
can sustain more than 200Mbit/s and no longer drops any packages
when the link is under load.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4461/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38949
2013-11-29 20:18:44 +00:00
Gabor Juhos
af4873e41c ar71xx: Kernel support update tl-wr842n_v2 added missing usb led
Just a small oversight my part, added the support for the USB led
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4425/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38946
2013-11-29 20:18:40 +00:00
Gabor Juhos
625cf61c5b ar71xx: Add kernel support for the WR842N/ND v2
Patch to add kernel support for the TP-LINK WR842N/ND v2

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4352/
[juhosg: refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38813
2013-11-15 10:11:20 +00:00
Gabor Juhos
25756c61bc ar71xx: Use KEY_RESTART key code for the reset button on WD My Net N600 boards
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38720
2013-11-11 08:10:02 +00:00
Gabor Juhos
79163c8919 ar71xx: Add kernel support for the TP-Link WA750RE / WA850RE range extender
Patch to add kernel support for the TP-LINK WA750RE and the WA850RE
range extender

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
[juhosg: rename and refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38717
2013-11-11 08:04:46 +00:00
Gabor Juhos
ec09569b17 ar71xx: ag71xx: fix ag71xx_probe error path
Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38716
2013-11-11 07:47:00 +00:00
Gabor Juhos
7bd3a7bc7b ar71xx: ag71xx: fix a race involving netdev registration
In particular, phy_connect before register_netdev. This is because
register_netdev runs the netdev notifiers, which can race with the rest of
the initialization in ag71xx_probe. In my case this manifested in two ways:

1) If ag71xx is compiled as a module and inserted after netifd has started,
   netifd is notified by register_netdev before the call to
   ag71xx_phy_connect. netifd tries to bring the interface up, which calls
   ag71xx_open, which in turn enters ag71xx_phy_start. This keys off
   ag->phy_dev (which is still NULL) and thinks this is a fixed-link board,
   and enters ag71xx_link_adjust. This looks at ag->speed which is not yet
   initialized and hits the BUG() in the switch (ag->speed) in
   ag71xx_link_adjust.

   This is the wrong code path for ag71xx_phy_start - my board has PHYs that
   need to be brought up with phy_start. Doing ag71xx_phy_connect before
   register_netdev ensures that ag->phy_dev is non-NULL before
   ag71xx_phy_start is ever called.

2) When ag71xx is built into the kernel, and netconsole is enabled, there
   is a gap in the initial burst of replayed printks right after the netdev
   comes up. My assumption is that netconsole is also triggered by a netdev
   notifier, and part of this printk burst happens before the call into
   ag71xx_phy_connect, so part of the burst is lost while the PHY comes up.
   This patch fixes the gap - all the printks before eth0 comes up are bursted
   in full when netconsole initializes.

ag71xx_phy_connect_xxx no longer runs with a registered netdev, so the
logging has been adjusted accordingly to avoid "unregistered net_device" or
"eth%d" messages in dmesg.

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38689
2013-11-08 08:17:54 +00:00
Gabor Juhos
ece1323ed4 ar71xx: add kernel support for the My Net Wi-Fi Range Extender device
This patch adds a new device definition for a
Western Digital device. The hardware seems to
be based on Qualcomm Atheros DB120 design.

Patchwork: http://patchwork.openwrt.org/patch/4281/
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
[juhosg: refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38686
2013-11-07 22:31:52 +00:00
Gabor Juhos
ef8306cfd2 ar71xx: add kernel support for BHU Networks BXU2000n-2 A1 board
BXU2000n-2 A1 is a BHU Networks WLAN board, use ar9341 chip.

Patchwork: http://patchwork.openwrt.org/patch/4183/
Signed-off-by: Terry Yang <yangbo@bhunetworks.com>
[juhosg:
  - rename and refresh kernel patch,
  - fix some checkpatch warnings and adjust whitespaces in
    mach-bhu-bxu2000n2-a.c]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38591
2013-10-30 06:50:57 +00:00
Gabor Juhos
22b5040c64 ar71xx: add kernel support for the Sitecom WLR-8100 wireless router
- unsure about copyright message
  - based on AP136-010

Patchwork: http://patchwork.openwrt.org/patch/4147/
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
[juhosg: rename and refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38589
2013-10-30 06:50:54 +00:00
Gabor Juhos
7074bb286d ar71xx: add kernel support for DRAGINO2
This patch adds support for DRAGINO2 board (used by
Meshpotato v2). Most of the files included can be
found in the official svn repository provided by the
company [1]. I have just adapt it to the last OpenWrt
trunk revision (Fri Oct 4 10:49:47 2013).

 1. http://svn.dragino.com/dragino2

Patchwork: http://patchwork.openwrt.org/patch/4234/
Signed-off-by: Pau Escrich <p4u@dabax.net>
[juhosg:
 - rename and refresh kernel patch,
 - fix checkpatch warnings in  mach-dragino2.c]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38587
2013-10-30 06:50:52 +00:00
Gabor Juhos
68e13de37d ar71xx: fix WLAN 5 GHz LED init on dir-825-c1
Fixes the 5 GHz LED.

The same function has no effect on the 2.4 GHz LED at all, so we might
as well remove it.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38482
2013-10-20 15:59:04 +00:00
Gabor Juhos
7815af409a ar71xx: ar934x-nfc: disable subpage write when hardware ECC is used
It is not supported by the controller.

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

SVN-Revision: 38234
2013-09-27 11:15:34 +00:00
Gabor Juhos
f8aef84e49 ar71xx: improve kernel support for the TL-MR3040 v2
This patch adds support for the hardware slide switch on
the TL-MR3040 v2.

Signed-off-by: Mads Hansen <d@taba.se>
[juhosg: use EV_SW instead of EV_KEY]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38190
2013-09-25 18:42:10 +00:00
Gabor Juhos
8b920136a0 ar71xx: add kernel support for the TEW-732BR board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38131
2013-09-23 09:49:01 +00:00
Gabor Juhos
d661af0b77 ar71xx: vanity changes for dir-825-c1
This patch

- changes the color names from orange to amber
- changes the name of GPIO 13 from WIFI_BGN (wifi_bgn) to WLAN_2G
  (wlan2g) to be more consistent with the other routers' files
- changes the descriptions of the hardware keys to be a tad more
  explicit

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Patchwork: http://patchwork.openwrt.org/patch/4081/
[juhosg: update the LED migration script as well]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38105
2013-09-21 16:08:44 +00:00
Gabor Juhos
0a813e9e3c ar71xx: use netgear prefix for WNDAP360 LED names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38102
2013-09-21 15:55:55 +00:00
Gabor Juhos
d0fe16cedf ar71xx: use netgear prefix for WNR612 v2 LED names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38101
2013-09-21 15:55:54 +00:00
Gabor Juhos
ae7d14f701 ar71xx: use netgear prefix for WNR2200 LED names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38100
2013-09-21 15:55:52 +00:00
Gabor Juhos
87f7ac6b4e ar71xx: use netgear prefix for WNR2000 LED names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38099
2013-09-21 15:55:51 +00:00
Gabor Juhos
e33ccdc295 ar71xx: use netgear prefix for WNDR3700 LED names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38098
2013-09-21 15:55:50 +00:00
Gabor Juhos
10ed605a89 ar71xx: let HW switch control WAN LED on dir-825-c1
Enable GPIO 20. This hands off control of the blue planet led to the
integrated switch. Consequently, remove the led configuration for the
blue planet led.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Patchwork: http://patchwork.openwrt.org/patch/4080/
[juhosg: whitespace fixup]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38096
2013-09-21 14:56:24 +00:00
Gabor Juhos
50f4732438 ar71xx: fix LAN LEDs for dir-825-c1
This patches fixes the lan led configuration. The new configuration is
identical to the one in mach-db120.c and it works. The previous one
didn't work at all.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38094
2013-09-21 12:04:45 +00:00
Gabor Juhos
1dd33c4d6c ar71xx: tew-712br: use ath79_parse_ascii_mac helper
Remove the local MAC address parser function and use
the generic one instead.

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

SVN-Revision: 38090
2013-09-20 16:41:36 +00:00
Gabor Juhos
cb18e38996 ar71xx: tew-673gru: use ath79_parse_ascii_mac helper
Remove the local MAC address parser function and use
the generic one instead.

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

SVN-Revision: 38089
2013-09-20 16:41:34 +00:00
Gabor Juhos
a98df83f5f ar71xx: dir-825-c1: use ath79_parse_ascii_mac helper
Remove the local MAC address parser function and use
the generic one instead.

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

SVN-Revision: 38088
2013-09-20 16:41:33 +00:00
Gabor Juhos
710314990a ar71xx: dir-825-b1: use ath79_parse_ascii_mac helper
Remove the local MAC address parser function and use
the generic one instead.

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

SVN-Revision: 38087
2013-09-20 16:41:32 +00:00
Gabor Juhos
2a777a272c ar71xx: dir-505-a1: use ath79_parse_ascii_mac helper
Remove the local MAC address parser function and use
the generic one instead.

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

SVN-Revision: 38086
2013-09-20 16:41:31 +00:00