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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40399 3c298f89-4303-0410-b956-a3cf2f4a3e73
The version of TL-WDR4300 sold in Israel comes with a different
hardware id.
Patch-by: Daniel <daniel@makrotopia.org>
Patchwork: http://patchwork.openwrt.org/patch/5001/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40038 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40032 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39891 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39890 3c298f89-4303-0410-b956-a3cf2f4a3e73
The ar71xx platform always uses the eth0 interface to provide
access to the device in failsafe mode. Due to this, failsafe
access is broken on devices where the LAN ports are connected
to the 'eth1' interface.
Update the relevant script to correctly set the ifname variable
for these devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39752 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39703 3c298f89-4303-0410-b956-a3cf2f4a3e73
That will be used to drive the 74HC595 serial-in/parallel-out
8-bits shift register which can be found on some RouterBOARDs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39702 3c298f89-4303-0410-b956-a3cf2f4a3e73
Rewrite tha rb91x-nand driver to use GPIO API to
modify the NAND control lines.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39700 3c298f89-4303-0410-b956-a3cf2f4a3e73
It will be used for the Mikrotik boards.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39697 3c298f89-4303-0410-b956-a3cf2f4a3e73
The serial flash devices used on the ROuterBOARDs are
supporting 4KiB erase blocks. Enable the small sector
erase option in the m25p80 driver to avoid superfluous
erase/write of adjacent blocks.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39696 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39641 3c298f89-4303-0410-b956-a3cf2f4a3e73
This missing bit of the hack saves hugely on instruction traps
on tcp connections to ar71xx based routers.
Patch-by: Dave Taht <dave.taht@bufferbloat.net>
Patchwork: http://patchwork.openwrt.org/patch/4905/
[juhosg: adjust subject, refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39626 3c298f89-4303-0410-b956-a3cf2f4a3e73
Solves ticket #14356 <https://dev.openwrt.org/ticket/14356>
Without this patch, UART output will show only 4 partitions:
[ 0.740000] 4 cmdlinepart partitions found on MTD device spi0.0
[ 0.750000] Creating 4 MTD partitions on "spi0.0":
[ 0.750000] 0x000000000000-0x000000050000 : "u-boot"
[ 0.760000] 0x000000050000-0x000000070000 : "u-boot-env"
[ 0.770000] 0x000000070000-0x0000007f0000 : "firmware"
[ 0.790000] 0x0000007f0000-0x000000800000 : "art"
and then linux complains :VFS: Cannot open root device "(null)"
With this patch, UART out will show 7 partitions:
[ 0.740000] 4 cmdlinepart partitions found on MTD device spi0.0
[ 0.750000] Creating 4 MTD partitions on "spi0.0":
[ 0.750000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.760000] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.770000] 0x000000050000-0x0000007f0000 : "firmware"
[ 0.780000] 2 netgear-fw partitions found on MTD device firmware
[ 0.780000] 0x000000050000-0x00000014b440 : "kernel"
[ 0.790000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.800000] 0x00000014b440-0x0000007f0000 : "rootfs"
[ 0.810000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.820000] mtd: device 4 (rootfs) set to be root filesystem
[ 0.830000] 1 squashfs-split partitions found on MTD device rootfs
[ 0.830000] 0x000000340000-0x0000007f0000 : "rootfs_data"
[ 0.840000] 0x0000007f0000-0x000000800000 : "art"
This patch is tested against r39502 of trunk.
Signed-off-by: Jonathan Chang <changcs@santos.ee.ntu.edu.tw>
Patchwork: http://patchwork.openwrt.org/patch/4870/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39625 3c298f89-4303-0410-b956-a3cf2f4a3e73
The mtdpartsize macro triggers shell errors on various Linux distributions
when the partname argument $(1) does not appear within the partmap $(2).
Change the sed pattern to only emit anything if a successful substitution
occured and only evaluate the arithmetic expression if something was printed
by the sed program.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39583 3c298f89-4303-0410-b956-a3cf2f4a3e73
The original dragino2 board support was missing some changes from the
upstream svn repository (http://svn.dragino.com/dragino2) that supported
sysupgrade.
[juhosg: change subject]
Signed-off-by: Karl Palsson <karlp@remake.is>
Patchwork: http://patchwork.openwrt.org/patch/4801/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39429 3c298f89-4303-0410-b956-a3cf2f4a3e73
This ensures that the generated images will have enough erase
blocks for JFFS2.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39397 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39392 3c298f89-4303-0410-b956-a3cf2f4a3e73
It will be used for Compex devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39388 3c298f89-4303-0410-b956-a3cf2f4a3e73
Get the size of the mtd partitions directly from the
MTD layout and remove the superfluous macro parameters.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39384 3c298f89-4303-0410-b956-a3cf2f4a3e73
The macro checks the size of the rootfs image even if
the second parameter of the macro contains the size of
an eraseblock. It is wrong because the size of the
kernel image will be adjusted to the next eraseblock
and the resulting image might be too large.
Fix the macro to check the size of the final image
instead of the rootfs image.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39383 3c298f89-4303-0410-b956-a3cf2f4a3e73
Also use the RKuImage macro becasue the original
firmware starts with the rootfs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39379 3c298f89-4303-0410-b956-a3cf2f4a3e73
Also use the RKuImage macro becasue the original
firmware starts with the rootfs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39378 3c298f89-4303-0410-b956-a3cf2f4a3e73
Since that was the last configuration in defconfig directory we can drop the
defconfig init script too.
Signed-off-by: Luka Perkov <luka@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39373 3c298f89-4303-0410-b956-a3cf2f4a3e73
Replace the leading spaces with tabs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39342 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39335 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39219 3c298f89-4303-0410-b956-a3cf2f4a3e73
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39217 3c298f89-4303-0410-b956-a3cf2f4a3e73
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39216 3c298f89-4303-0410-b956-a3cf2f4a3e73
The built-in wireless MAC of the AR934x SoC can handle
external LNAs and the control signal of the LNAs can be
routed to any GPIO line. Add a helper function which
can be used to configure the GPIO lines.
The helper function will be used for AR934x boards
which are using externel LNAs to improve sensitivity.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39215 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39214 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39213 3c298f89-4303-0410-b956-a3cf2f4a3e73
It makes no sense, the SoC has no built-in switch.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39160 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39149 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39148 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39147 3c298f89-4303-0410-b956-a3cf2f4a3e73
This will allow to use SoC specific values for both.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39145 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39144 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39130 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39129 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39128 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39127 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39126 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39121 3c298f89-4303-0410-b956-a3cf2f4a3e73
This allows to change the value dynamically.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39120 3c298f89-4303-0410-b956-a3cf2f4a3e73
This will allow to use different values for the
different SoCs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39117 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39116 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39115 3c298f89-4303-0410-b956-a3cf2f4a3e73
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39102 3c298f89-4303-0410-b956-a3cf2f4a3e73
Set up the chipselect GPIO directly in rb95x_nand_init
instead.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39087 3c298f89-4303-0410-b956-a3cf2f4a3e73