Commit Graph

593 Commits

Author SHA1 Message Date
Hauke Mehrtens
32cbc948a1 brcm47xx: fix netconfig for inverted vlan?ports in nvram
This was observed on the Belkin Share F7D7302.

SVN-Revision: 38769
2013-11-11 23:04:47 +00:00
Hauke Mehrtens
e8d0b52496 linux/brcm47xx : Belkin F7Dx30x board detection
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
2013-11-11 23:04:00 +00:00
Hauke Mehrtens
091e3fde4c brcm47xx: b44: fix logic in BUG_ON()
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
2013-11-11 21:23:29 +00:00
Hauke Mehrtens
874650d235 brcm47xx: add detection for Linksys WRT54GS V1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38700
2013-11-09 20:08:09 +00:00
Hauke Mehrtens
68081fc1c8 brcm47xx: register ADM6996L switch
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
2013-11-09 19:29:46 +00:00
Hauke Mehrtens
73ed236907 brcm47xx: fix detection of Asus RT-N12B1 and Netgear WNR3500L
This closes #14367 and #14328.

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

SVN-Revision: 38656
2013-11-05 17:09:19 +00:00
Gabor Juhos
35656042f1 kernel: update 3.10 to 3.10.18
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38652
2013-11-05 08:25:45 +00:00
Hauke Mehrtens
40790e6b84 brcm47xx: b44: fix error handling for dummy phy creation
When the mdio bus is unregistered the newly created phy will also be
unregistered and freed.

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

SVN-Revision: 38539
2013-10-25 21:12:48 +00:00
Hauke Mehrtens
c185d48b7c brcm47xx: b44: add dummy phy device if we do not find any
On some devices with e.g. a BCM2535F switch the second MAC is used, but
we can not find a phy under all addresses between 0 and 31, 0xffffffff
is returned as phy id. If we can not find a phy at the expected address
create a dummy one.

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

SVN-Revision: 38538
2013-10-25 21:02:13 +00:00
Gabor Juhos
b6b06000eb kernel: update 3.10 to 3.10.17
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38506
2013-10-23 12:51:05 +00:00
Hauke Mehrtens
6d2136c3f2 brcm47xx: b44: detect external phy by bit set in DevControl register
Without this patch we treated only phy addr 30 as an external phy, but
there is a register to check that. Now we do not have to try to reset
the switch to check for an external switch.

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

SVN-Revision: 38502
2013-10-22 21:01:35 +00:00
Hauke Mehrtens
f023c09699 brcm47xx: activate ARP daemon support
This just add some bytes to the kernel and is activated on other targets.

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

SVN-Revision: 38388
2013-10-13 22:46:18 +00:00
Hauke Mehrtens
81e2f00367 kernel: update kernel to 3.10.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38384
2013-10-13 19:28:29 +00:00
Hauke Mehrtens
551a250e58 brcm47xx: fix detection of some boards
This adds some more boards.

This fixes parts of #14316 and #14133.

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

SVN-Revision: 38383
2013-10-13 19:27:24 +00:00
Hauke Mehrtens
64c2bc256c brcm47xx: Cocci spatch "noderef"
sizeof when applied to a pointer typed expression gives the size of the
pointer.
Found by coccinelle spatch "misc/noderef.cocci"

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>

SVN-Revision: 38312
2013-10-07 00:01:01 +00:00
Hauke Mehrtens
2402f8a9ee brcm47xx: move clock detection patches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38311
2013-10-07 00:00:10 +00:00
Hauke Mehrtens
4c193a30ce brcm47xx: move and rename nvram gpio patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38310
2013-10-06 23:57:11 +00:00
Hauke Mehrtens
b201818044 brcm47xx: update early printk patches
Early printk was disabled because it caused hangs on some devices, the
old patches were using the CFE console now we use the normal serial
console, it is at a constant address.

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

SVN-Revision: 38309
2013-10-06 23:55:35 +00:00
Hauke Mehrtens
ebf0778721 brcm47xx: update board detection patches
Add patches like they are currently in the mainline mips tree and add
some more pending patches for board detection.

* Now the board name is shown under machine in /proc/cpuinfo.

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

SVN-Revision: 38308
2013-10-06 23:51:24 +00:00
Hauke Mehrtens
2c5e4aa6ad brcm47xx: b44: fix some problems with the phy
* do not try initialize a unused phy
* some improvements to the phylib patch
* do not turn the phy off when mac is off

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

SVN-Revision: 38306
2013-10-06 18:31:32 +00:00
Hauke Mehrtens
97b15fc45b brcm47xx: add support for ipv6 in default network config
Modify /etc/init.d/netconfig to use UCI defaults for building the
default network config, which includes appropriate defaults for IPV6.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38294
2013-10-02 23:22:18 +00:00
Hauke Mehrtens
125fc703bb kernel: bgmac: move other bgmac patches to generic
The bgmac driver will be used on the brcm47xx and the bcm53xx target.

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

SVN-Revision: 38289
2013-10-02 22:25:26 +00:00
Hauke Mehrtens
06c8b90ebf kernel: bgmac: move bgmac patches already applied in mainline kernel to generic
The bgmac driver will be used on the brcm47xx and the bcm53xx target.
These are only the patches already applied in current net-next/master
branch.

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

SVN-Revision: 38288
2013-10-02 22:24:01 +00:00
Gabor Juhos
9c8a5ef115 kernel: update 3.10 to 3.10.13
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38228
2013-09-27 07:19:21 +00:00
Hauke Mehrtens
c75a970337 kernel: b53: add Register Access Bridge Registers (SRAB) interface
The SRAB interface is used on BCM4707 and BCM5301X SoCs.

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

SVN-Revision: 38198
2013-09-25 21:44:28 +00:00
Hauke Mehrtens
86f7ca96af brcm47xx: b44: bgmac: some small changes to the phylib patches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38044
2013-09-18 16:49:52 +00:00
Hauke Mehrtens
4f93bde681 brcm47xx: bgmac: b44: add support for Byte Queue Limits
This adds support for Byte Queue Limits in bgmac and b44, now it is
possible to use more advanced network queue control algorithms.

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

SVN-Revision: 38038
2013-09-18 15:19:25 +00:00
Hauke Mehrtens
6dd2e9ae2c brcm47xx: update the clock fixes for BCM5354
This updates the patches for BCM5354 to the version send for upstream
Linux inclusion.

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

SVN-Revision: 38037
2013-09-18 14:36:03 +00:00
Hauke Mehrtens
4c52ed50d7 brcm47xx: update board detection patches
This is now the version which was send for mainline Linux kernel
inclusion. The data needed to detection a board is now stored in init
data.

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

SVN-Revision: 38036
2013-09-18 14:33:54 +00:00
Hauke Mehrtens
e75ff873be brcm47xx: add detection for Linksys E900 V1
Thank you Rafał for the data.

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

SVN-Revision: 38035
2013-09-18 14:32:05 +00:00
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
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
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
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
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
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
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
Hauke Mehrtens
9141ab0ede brcm47xx: detect WRT310NV1
Thanks Devastator for testing

SVN-Revision: 37969
2013-09-13 15:56:35 +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
Hauke Mehrtens
f181b07af8 brcm47xx: add me as maintainer
SVN-Revision: 37916
2013-09-07 15:46:27 +00:00
Gabor Juhos
d120ec18b2 kernel: update 3.10 to 3.10.10
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37890
2013-09-02 19:12:54 +00:00