Commit graph

10780 commits

Author SHA1 Message Date
Hauke Mehrtens
c78e4fb220 brcm47xx: Add support for Huawei E970
This patch adds support for Huawei E970 wireless gateway devices.
It has been tested on an E970 labelled as T-Mobile web'n'walk Box IV.
E960/B970 should work too, from what I know it's basically the same hardware.

The device has a Broadcom BCM5354 SoC and a built-in 3G USB modem.

It uses a hardware watchdog which needs GPIO-7 to be toggled at least
every 1-2 seconds. This patch uses gpio_wdt module (see my previous
patch today) to take care of this.

Tested and works:  3G wan,  wlan+LED,  VLAN config,  failsafe using reset
button,   image to be used for upgrade from OEM firmware's web interface

Link to the wiki page I've created:  <http://wiki.openwrt.org/toh/huawei/e970>

Issue:

* lzma-loader crashes, so gzipped kernel is used. Presumably due to watchdog
  reset during kernel decompress.

Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>

SVN-Revision: 38011
2013-09-16 21:09:10 +00:00
Hauke Mehrtens
0294358e11 kernel: add generic GPIO watchdog driver
This is used on Huawei E970 (brcm47xx).

Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>

SVN-Revision: 38010
2013-09-16 21:07:52 +00:00
Hauke Mehrtens
880be9ca2f brcm47xx: add detection for Phicomm M1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38009
2013-09-16 19:53:09 +00:00
Hauke Mehrtens
bc5b56f42b brcm47xx: detect Linksys E1200 V2
This adds detection for Linksys E1200 V2

Thank you Lightsword and Rafał.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38006
2013-09-16 19:49:02 +00:00
Hauke Mehrtens
23c34e820c brcm47xx: mtd: bcm47xxpart: detect "factory" partition
A new type of partition with magic FCTY was found on Huawei E970:
46 43 54 59 4b 51 37 4e  41 42 31 38 41 32 39 30  |FCTYKQ7NAB18A290|

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 38005
2013-09-16 19:47:30 +00:00
Hauke Mehrtens
f687ab2101 brcm47xx: bgmac: implement unaligned addressing for DMA rings that support it
This is important patch for new devices that support unaligned
addressing. That devices suffer from the backward-compatibility bug in
DMA engine. In theory we should be able to use old mechanism, but in
practice DMA address seems to be randomly copied into status register
when hardware reaches end of a ring. This breaks reading slot number
from status register and we can't use DMA anymore.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 38004
2013-09-16 19:46:34 +00:00
Gabor Juhos
a0d6cd4f49 kernel/3.10: add new Kconfig option for firmware partition split
Add a new kernel config option for generic firmware partition
split support and change the uImage split support to depend on
the new option. Aslo rename the MTD_UIMAGE_SPLIT_NAME option to
MTD_SPLIT_FIRMWARE_NAME to make it more generic.

The patch is in preparation for multiple firmware format
support.

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

SVN-Revision: 38002
2013-09-15 17:03:29 +00:00
Hauke Mehrtens
86405f2c4c brcm47xx: add detection code for Huawei E970
This is based on a patch by Mathias Adam.

Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38001
2013-09-15 17:00:45 +00:00
Gabor Juhos
554772a665 kernel: update 3.10 to 3.10.12
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38000
2013-09-15 16:00:41 +00:00
Hauke Mehrtens
57c6730ed6 brcm47xx: bgmac: allow bigger et_swtype nvram variable
Without this patch it is impossible to read et_swtype, because the 1
byte space is needed for the terminating null byte. Now it should be
possible to read decimal and hex vars of max 8 bit.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37999
2013-09-15 15:50:41 +00:00
Hauke Mehrtens
2693eab7fd brcm47xx: mtd: bcm47xxpart: detect block aligned Squashfs partition
Most of the bcm47xx devices use TRX format for storing kernel and some
partition like Squashfs or JFFS2. This is pretty flexible solution, CFE
(the bootloader) just writes (and later boots) TRX at some hardcoded
place and paritions can vary in the size.

However some devices don't use TRX format. Very recently we have
discovered ZTE H218N that has kernel and rootfs partitions at some
"random" places.

This patch allows Linux find a rootfs partition after installing custom
image with a CFE bootloader.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 37998
2013-09-15 15:47:45 +00:00
Gabor Juhos
4beccfcccb kernel/3.10: move OpenWrt MTD options into a submenu
Separate OpenWrt specific MTD options from the mainline
option by moving those into a new submenu in the kernel
configuration interface.

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

SVN-Revision: 37997
2013-09-15 15:16:16 +00:00
Hauke Mehrtens
bd6d4c4ded brcm47xx: update board detection patch
* Use different structs depending on the number of nvram variables to check.
* Add detection of ZTE H218N, this closes #14151.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37996
2013-09-15 15:08:29 +00:00
Hauke Mehrtens
f5989e7f59 kernel: b53: detect revision of BCM5325
The revision is stored in a different register than it is in other
Broadcom switches.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37995
2013-09-15 13:30:49 +00:00
Hauke Mehrtens
49d7c57fd1 kernel: b53: fix vlan write for BCM5325 revison 3+
These switches are integrated in some recent BCM53XX and BCM47XX SoCs
like the BCM53572.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37994
2013-09-15 13:29:14 +00:00
Hauke Mehrtens
c9399a1c81 brcm47xx: bgmac: fix internal switch initialization
Some devices (BCM4749, BCM5357, BCM53572) have internal switch that
requires initialization. We already have code for this, but because
of the typo in code it was never working. This resulted in network not
working for some routers and possibility of soft-bricking them.

Use correct bit for switch initialization and fix typo in the define.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 37993
2013-09-15 09:39:19 +00:00
Hauke Mehrtens
1268e064aa brcm47xx: detect Asus RT-N10
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37989
2013-09-14 16:19:21 +00:00
Hauke Mehrtens
cde1d53625 kernel: b53: use hard coded switch reset gpio on some boards.
The Linksys wrt310n v1 does not have a robo_reset config variable in
nvram, but GPIO Pin 8 is the pin needed for resetting the external
switch, Linksys hard coded it into their source code.

Thank you Devastator for testing.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37988
2013-09-14 16:17:36 +00:00
Hauke Mehrtens
2da56b4ebc kernel: b53: add soft reset for BCM539x switches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37987
2013-09-14 16:14:02 +00:00
Hauke Mehrtens
3b3d4b6208 brcm47xx: tg3: use the phy address from et0phyaddr and not the default phy address.
Thank you Devastator for testing.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37986
2013-09-14 16:10:37 +00:00
Gabor Juhos
ec5ee2f269 generic/3.10: remove unused defines from the rootfs split patch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37981
2013-09-14 10:19:10 +00:00
Gabor Juhos
ac28225e24 generic/3.10: reduce number of ifdefs in the rootfs split code
Use the config_enabled() macro where it is possible.

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

SVN-Revision: 37980
2013-09-14 10:19:09 +00:00
Luka Perkov
02e858d88c imx6: add network defaults for GW5400-A
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37979
2013-09-13 21:50:35 +00:00
Hauke Mehrtens
b73b915c54 brcm47xx: board detection, GPIO for Linksys E1000 V2.1
This patch adds board detection for the Linksys E1000 V2.1 router, as well
as GPIO support for same.

This fixes bug #14135. Currently, wired networking isn't working on the
router, and I haven't tried the wireless, but with this patch, OpenWRT
successfully boots, and all the LEDs and buttons work properly.

Signed-off-by: Zachary Catlin <zcatlin@indiana.edu>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37977
2013-09-13 19:24:08 +00:00
Gabor Juhos
0aa1f0be43 ar71xx: refresh patches
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37976
2013-09-13 17:29:16 +00:00
Gabor Juhos
3a241f67a7 generic/3.10: refresh patches
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37975
2013-09-13 17:29:14 +00:00
Gabor Juhos
2d49e32715 generic/3.10: rename mtd patches
- change patch numbers to group the related stuff together,
  - add mtd prefix where it is missing,
  - use hyphens in the patch names

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

SVN-Revision: 37974
2013-09-13 17:24:25 +00:00
Gabor Juhos
ad1c38fe97 cns21xx: remove 3.8 support
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37973
2013-09-13 16:39:36 +00:00
Gabor Juhos
c1c0d14192 cns21xx: switch to 3.10
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37972
2013-09-13 16:39:34 +00:00
Gabor Juhos
2421534612 cns21xx: add support for 3.10
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37971
2013-09-13 16:39:33 +00:00
Hauke Mehrtens
9141ab0ede brcm47xx: detect WRT310NV1
Thanks Devastator for testing

SVN-Revision: 37969
2013-09-13 15:56:35 +00:00
Gabor Juhos
826ef50014 cns21xx: make cns21xx-ehci a separate driver
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37968
2013-09-13 15:38:42 +00:00
Gabor Juhos
3b30bd5793 cns21xx: disable legacy PTY devices
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37967
2013-09-13 15:38:41 +00:00
Gabor Juhos
2af5facb25 cns21xx: fix broken case statement in led defaults file
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37966
2013-09-13 15:38:40 +00:00
Gabor Juhos
5e8df6f5bb cns21xx: enable XZ_DEC_ARM and XZ_DEC_BCJ kernel options
Squashfs is unable to decompress some blocks without that:

  [    0.970000] SQUASHFS error: xz_dec_run error, data probably corrupt
  [    0.980000] SQUASHFS error: squashfs_read_data failed to read block 0x29a72
  [    0.990000] SQUASHFS error: Unable to read fragment cache entry [29a72]
  [    1.000000] SQUASHFS error: Unable to read page, block 29a72, size 14c50
  [    1.010000] SQUASHFS error: Unable to read fragment cache entry [29a72]
  [    1.020000] SQUASHFS error: Unable to read page, block 29a72, size 14c50
  [    1.260000] SQUASHFS error: xz_dec_run error, data probably corrupt

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

SVN-Revision: 37965
2013-09-13 15:38:39 +00:00
Gabor Juhos
9754aca374 ar71xx: add support for TL-MR3040 v2
This patch adds support for building firmware images for the
TP-Link TL-MR3040 v2. Tested and working on v2.1 hardware.

Signed-off-by: Mads Hansen <d@taba.se>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37964
2013-09-13 15:28:50 +00:00
Gabor Juhos
897c00c145 ar71xx: add wireless bgn led support for dir-825-c1
I checked the GPL code drop from D-Link and tried to get the wireless
and LAN switch LEDs to light up. I found some references in
AthSDK/www/DIR-825_C1/bsp.h as well as
AthSDK/www/DIR-825_C1/rootfs/etc/sysconfig/S2gpio.sh, but in the end I
only got the led for 2.4GHz to work. Anyway, here's the patch.

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

SVN-Revision: 37963
2013-09-13 15:01:40 +00:00
Hauke Mehrtens
0a0257d70e brcm47xx: remove support for kernel 3.8
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37959
2013-09-12 22:07:12 +00:00
Hauke Mehrtens
b4880b34ef brcm47xx: add default config for new kernel config option
SVN-Revision: 37958
2013-09-12 22:04:55 +00:00
Hauke Mehrtens
614e8f44bd kernel: update bcma and ssb to wireless-testing master-2013-09-09
SVN-Revision: 37957
2013-09-12 22:03:45 +00:00
Luka Perkov
ed6d759f39 kernel: add support for ESMT F25L32PA with upstream submission
Signed-off-by: Flavio Silveira <fggs@terra.com.br>

SVN-Revision: 37956
2013-09-12 14:38:48 +00:00
Felix Fietkau
8eb57d0cd7 kernel: align the skb padding to power of two
The skb is usually started by a padding which allows the protocols in the
network stack to add their headers in front of the payload. The skb can be
reallocated in case the preallocated padding is not large enough. This can for
example happen in the function __skb_cow which will check the requested extra
headroom and allocate more buffer when the requested headroom is bigger than
the available one. The extra buffer is aligned again to the multiple of the
NET_SKB_PAD of the target architecture.

The macro used to create the multiple of the NET_SKB_PAD is written in a way
which allows only values power two as alignment parameter. The currently used
value of 48 bytes can not be written as n ** 2 but as 2 ** 4 + 2 ** 5. The
extra buffer is therefore not always the multiple of 48 but can be 16, 64, 80,
128, 144 and so on. The generated values are also not monotonic (48 requested
bytes are mapped to 80 allocated bytes and 49 requested bytes are mapped to 64
allocated bytes).

These unexpected small values result in more reallocations of the buffer. This
was noticed prominently during tests between two QCA9558 720 MHz devices which
were connected via ethernet to PCs and had a HT40 802.11n 3x3 link between each
other. The throughput PC-to-PC during iperf TCP runs increased reliable from
186 Mibit/s to 214 Mibit/s in one direction and from 195 Mibit/s to 220 Mibit/s
in the other direction. This is a performance increase of ~14% just by reducing
the amount of reallocations.

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

SVN-Revision: 37948
2013-09-11 14:30:15 +00:00
Florian Fainelli
4434bc361d kernel: fix broken depends syntax introduced in r37933
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37942
2013-09-11 12:45:24 +00:00
Florian Fainelli
3668004858 kernel: Fix FIQ code on VIVT CPUs (#14145)
Backport an upstream patch to fix FIQ code on VIVT CPUs

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37940
2013-09-11 12:08:44 +00:00
Luka Perkov
2964a11933 imx6: backport ahci support
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37936
2013-09-10 22:26:36 +00:00
Luka Perkov
b2c852e685 imx6: add i2c retry on NAK
Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 37935
2013-09-10 22:26:34 +00:00
Luka Perkov
460fb06e63 imx6: add gpio sysfs support
Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 37934
2013-09-10 22:26:33 +00:00
Luka Perkov
7d73153e86 kernel: allow hwmon GSC driver for all targets
- enable using hwmon GSC driver on all targets
- add a kmod package for it

Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 37933
2013-09-10 22:26:30 +00:00
Felix Fietkau
11926c2fd8 kernel: fix arch-dependent bug in hso module
Currently, the module causes an oops at least on rt5350. These patches
have been accepted upstream at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>

SVN-Revision: 37931
2013-09-10 13:47:44 +00:00
Hauke Mehrtens
f181b07af8 brcm47xx: add me as maintainer
SVN-Revision: 37916
2013-09-07 15:46:27 +00:00