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
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
Without it in some occasions oops is shown on network restart. Problem was
noticed on imx6 targed.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 39134
The previous patch was not the proper fix for PCI devices that require io
resources. The new patch is the proper fix backported from mainline.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39133
Now that the switch works correctly we can enable the images for this
board.
Flashing from the factory firmware, the factory failsafe loader and
sysupgrade was tested successfully.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4617/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39130
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
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
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
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
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
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
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
Some of the Gateworks Ventana boards have CAN bus support, therefore
we will install the userspace utils.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39113
All Gateworks Ventana boards have a Gateworks System Controller
which emulates the following:
- ds1672 RTC
- pca953x GPIO expander
- hardware monitor
- at24 eeprom
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39112
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
Use the latest version of the yaffs code. Fetched from the
yaffs2 git tree and it is based on the following commit:
commit bc76682d93955cfb33051beb503ad9f8a5450578
Merge: 3a8580e ffa781d
Author: Charles Manning <cdhmanning@gmail.com>
Date: Thu Jul 11 17:46:25 2013 +1200
Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39084
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
[juhosg: remove the image generation part until the ethernet
switch issue is resolved]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39078
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
This patch enables jumbo frames on AR8327 switch by default.
I have tested it on TP-Link TL-WDR3600.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39076
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
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
Patch to add the user space support for the TL-WA801ND v2
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Patchwork: http://patchwork.openwrt.org/patch/4501/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39064
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
This breaks some devices where the serial console is not at port 0 but
somewhere else.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39060
The Gateworks GW53xx family of products is based on the Freescale
i.MX6DL SoC and offers a small form-factor with peripherals such as:
* i.MX6DL
* NAND FLASH
* 4x PCIe
* 4x USB EHCI (1x front-panel; 3x PCIe sockets)
* 1x USB OTG
* 1x uSD
* LVDS connector (VLDS for display, PWM/GPIO for backlight, i2c for touch)
* HDMI Audio/Video out
* Analog Video in
* Digital IO
* Gateworks System Controller
* Accelerometer
* Canbus
* Optional GPS
* Industrial temp (-40C to +85C)
* DC input voltage 8 to 42V (Passive PoE and 802.3af)
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39012
DMA and SDMA support are needed for ssi based audio. Note that the sdma
firmware is no longer required for ssi audio.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39011
Linaro GCC 4.6-2013.05 incorrectly pads the arpt_arp structure on
at least the ar71xx target, resulting in a two bytes shorter struct
in the kernel compared to what arptables userspace expects.
When comparing sizeof(struct arpt_arp) in kernel and userspace, the
former yields 162 byte, while the latter is 164 byte.
As a consequence, the subsequent target_offset and next_offset
members of the parent arpt_entry structure contain invalid values
when processed by the arptables binary, leading to bad memory
accesses in the populate_cache() procedure, subsequently causing a
segfault.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 38999
The wait instruction is only broken on the BCM4706 and not on the other
similar SoCs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38979
This sets both values to the OpenWrt default values. There is no reason
to use some brcm47xx specific values here.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38978
This adds support for vectored interrupts in this SoC.
This is supported by the 74K cpus.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38975
bcm47xx misses cpu overwrites for the features of the CPUs used in
these SoCs.
Instead of manually checking, it is now known at compile time for some
options and the compiler is able to remove the checks and optimize the
code.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38974
Some time ago, after switching to the mainline bcm47xxpart driver
following patch has been applied:
commit 03cef8725d2062335ffc3de50fc037b294fd458c
Author: hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat Apr 6 22:22:26 2013 +0000
brcm47xx: use old partition names again for kernel 3.8
This fixes sysupgrade. The partition names are used all over the Internet in various howtos.
Thank you russell for spotting this problem.
I propose to revert this change and make sysupgrade use "firmware"
instead. This makes brcm47xx compatible with widely used ar71xx and
after all "firmware" sounds like a much better name for... the firmware.
This change doesn't affect "sysupgrade" usage, because it never takes a
partition name as a parameter. This change only affects users using mtd
tool directly. Hopefully there are not many howtos using "mtd" command.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 38973
That function provides a slightly improved sanity check than the
currently used solution.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38967
This patch enables the convenient sysupgrade feature for
WD's Wi-Fi Range Extender.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4341/
[juhosg:
- rename 'mynet_rext_check_image' function to 'cybertan_check_image'
and move that into platform.sh,
- remove the the model specific 'platform_do_upgrade_mynet_rext' function,
- drop the mynet-rext.sh script,
- remove the image/Makefile change,
- update commit message]
[christian:
- check all 8 bytes of the firmware/device magic]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38966
Make the Image/Build/CyberTAN macro more generic,
and use simple wrappers for the GZIP/LZMA variants.
This simplifies the Makefile a bit, and allows to
build sysupgrade images for the devices which are
using LZMA compressed uImages.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38965
In the current sysupgrade images, the CRC32 value of
the TRX header covers the whole rootfs data. Due to
this, the CRC value should be changed during sysupgrade
otherwise the bootloader refuses to load the image on
the next boot.
Change the image generation to create sysupgrade images
where the CRC32 value covers the kernel data only. This
allows to skip the 'fixtrx' step during sysupgrade on
the target.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38964
Argus ATP52B: ethernet didn't work because of unconfigured switch
Sparklan WCR150GN: add switch config and make single port to be LAN
Dlink DIR-645: seems to be a redundant case
Signed-off-by: Roman Yeryomin <roman@advem.lv>
SVN-Revision: 38960
- partitions on factory fw are a bit strange
- unknown contained some strings in factory
- unknown2 contains some atheros (2nd art ?)
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Patchwork: http://patchwork.openwrt.org/patch/4149/
[juhosg: edit commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38954
There was no way to determine a working config, because
the switch (ar8337) was not working previously.
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Patchwork: http://patchwork.openwrt.org/patch/4470/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38953
This patch is needed to use the switch inside the Sitecom WLR-8100;
it was unusable and detected as Generic-Phy before.
since ar8337 is behaving like ar8327
generally do the same thing
see: https://forum.openwrt.org/viewtopic.php?pid=214218#p214218
forward-ported to trunk
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Patchwork: http://patchwork.openwrt.org/patch/4469/
[juhosg: merge chip_is_ar83[23]7 statements in ar8xxx_phy_config_init]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38952
The device has three extra LEDs which indicate the quality
of the wireless link. Thanks to rssileds, this feature now
works out of the box.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4462/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38950
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
The F1E Phy (AR8035?) requires additional bits to be
set in order to provide a fast and reliable connection
over gigabit links.
When enabled, the link doesn't suffer anymore from a small
package loss under load and the performance is improved
quite a bit as well. (203 mbit/s vs 112 mbit/s, iperf tcp).
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4460/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38948
Small update to uci_defaults/01_leds, to support the usb led
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4426/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38947
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
This patch fixes the NAPI poll mechanism in the GIANFAR ethernet driver, which
was not properly working since Linus Kernel Version 3,8.
Therefore the workaround patch to downgrade the GIANFAR ethernet driver to
Kernelversion v3.8 is obsoete.
This patch was extensivly testes with different network loads and types of
traffic. There is quite a substantial user base that reports proper Ethernet
function with TPlink-4900. This patch is based on the fixes from GINAFAR
maintainer Claudiu Manoli.
Signed-off-by: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 38865
get_cycles() is used in some places as one part of the seed for the
kernel PRNG.
This backports the following commit from mainline linux kernel:
9c9b415c50bc298ac61412dff856eae2f54889ee
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38834
Patch to add the profile for the TP-LINK WR842N/ND v2
Small update, because of a change in the Makefile.
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4382/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38815
Patch to add the user space support for the TL-WR842N/ND v2
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4354/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38814
Get the factory assigned mac addresses stored in the caldata
partition and asign them to lan and wan interfaces. Also put
the correct mac addresses into the WiFi eeprom files to ensure
that the ath9k driver will use the correct ones.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Patchwork: http://patchwork.openwrt.org/patch/4350/
[juhosg:
- move WiFi MAC address setup to the firmware hotplug file,
- use the official MAC address for the 2.4GHz as well,
- remove uci-defaults.sh modifications,
- update commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38812
The current implementation of mtd will not append the backup
file created by sysupgrade to the correct partition, as mtd will append
the data to first jffs2 partition it finds. As the kernel is also
stored on a jffs2 partition (which resides before the overlay
partition), the data will be appended to this partition.
To fix this problem, a new option
-s <number> skip the first n bytes when appending data to the jffs2 partiton, defaults to "0"
is added to mtd.
Signed-off-by: Peter Wagner <tripolar@gmx.at>
SVN-Revision: 38807
Some devices are using tty1 as the default console, also swap the early
boot console in such case. This is needed for the WGT634U.
Thank you Russell for reporting this.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38794
The BCM5365 needs a shift of 7 bits and not 6 bits like the BCM5325 for
the untagged ports.
Thank you Russell for reporting this and testing the patch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38793
boardnum is unstable, so allow using NULL to make it unchecked.
A method for differentiating F7D3301 from F7D3302 using nvram is
unknown at this point. Reading the first 32bits of magic from the
"linux" mtd partition would do the trick, but these 2 are similar
enough that we don't need separate led/button definitions. Not knowing
which one you have is only a usability issue for upgrading the device:
they expect different magic numbers for their trx images.
Signed-off-by: Cody P Schafer <devel@codyps.com>
SVN-Revision: 38767
It is a problem when phydev is not set at this position and not the other way around.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38744
Patch to add user space support for the TL-WA750RE/WA850RE range extender
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38718
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
This adds some more code for bgmac core rev 4 and it now restarts all
cores when initializing the first one on BCM4708. I am just able to
send under 100 packages and then DMA TX does not work any more.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38714
This pci ID is used by sprom less BCM4313 devices.
This is a backport from the mainline kernel.
This is part of #13551.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38713
- add building of a standard uImage along with the combined kernel+rootfs
- remove 'old' image build - that was for a very old and obsolete bootloader
To update the bootloader for GW2387,GW2388,GW2391 (NOR Flash) from uboot:
put latest NOR bootloader on tftp server:
http://svn.gateworks.com/laguna/trunk/images/u-boot_nor.bin
Laguna> setenv ipaddr <localip>
Laguna> setenv ipaddr <serverip>
Laguna> tftpboot 0x800000 laguna/u-boot-nor.bin
Laguna> erase 0x10000000 +$(filesize)
Laguna> cp.b 0x800000 0x10000000 $(filesize)
Laguna> reset
To update the bootloader for GW2380,GW2382,GW2383 (SPI Flash) from uboot:
put latest SPI bootloader on tftp server:
http://svn.gateworks.com/laguna/trunk/images/u-boot_spi.bin
Laguna> setenv ipaddr <localip>
Laguna> setenv ipaddr <serverip>
Laguna> tftpboot 0x800000 laguna/u-boot-spi.bin
Laguna> erase 0x60000000 +$(filesize)
Laguna> cp.b 0x800000 0x60000000 $(filesize)
Laguna> reset
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 38703
This patch makes it possible to use adm6996.c on first generation
BCM47XX devices with ADM switches.
This was tested on a WRT54GS version 1.0, thank you Dirk Neukirchen for
the device.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38699
This patch makes it possible to use adm6996.c on first generation
BCM47XX devices with ADM switches.
The GPIO bit banging protocol implementation was copied from the old
switch driver and adapted to this driver and changed to the mainline
kernel GPIO interface.
The ADM6996L is different from the ADM6996M which is supported, for
both specs are available in the Internet.
This was tested on a WRT54GS version 1.0, thank you Dirk Neukirchen for
the device.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38698