Commit Graph

70 Commits (424353523726047f16aa7ad1ddfcc7f04875d895)

Author SHA1 Message Date
Hauke Mehrtens 440059423a brcm47xx: b44: some fixes in combination with the switch
Let the switch start the carrier and set the duplex mode independently 
if this nic is up of not.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39733 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-23 18:51:56 +00:00
Hauke Mehrtens 278803f5ca brcm47xx: b44: start the phy
We did not start the PHY when an external phy was in use. Without this 
patch the driver uses half duplex mode and the switch uses full duplex 
mode, which causes problems.
Thank you fback for spotting this problem.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39719 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-23 16:58:12 +00:00
Hauke Mehrtens 271866d423 brcm47xx: fix detection of some Linksys WRT54G* devices
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39718 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-23 15:57:37 +00:00
Hauke Mehrtens 7e03036441 brcm47xx: new patch adding arch workarounds.c
It was recently sent to linux-mips for comments. It adds workaround for
WNR3500L to enable USB port.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39469 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-04 23:32:01 +00:00
Hauke Mehrtens 70b0dad63a brcm47xx: use upstream patch removing WGT634U code
It does the same, it just reorders things

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39468 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-04 23:30:38 +00:00
Hauke Mehrtens fec6cb0c95 brcm47xx: move OpenWrt arch patches a bit further
This allows picking more upstreamed stuff

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39467 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-04 23:25:17 +00:00
Hauke Mehrtens 44a1b2d391 kernel: ssb: update ssb to a version from kernel 3.14-rc1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39464 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-04 22:54:29 +00:00
Hauke Mehrtens 13ef6bbc9a kernel: bcma: update bcma to a version from kernel 3.14-rc1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39463 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-04 22:53:52 +00:00
Gabor Juhos ae7072b9ff kernel: update 3.10 to 3.10.28
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39399 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-26 11:30:34 +00:00
Hauke Mehrtens f6d2f50c9b brcm47xx: add new led and button support
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39252 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-12 18:55:25 +00:00
Hauke Mehrtens 0d0ce9938c brcm47xx: update some patches to versions in linux mainline
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39251 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-12 18:54:38 +00:00
Hauke Mehrtens 1b5902d16c brcm74xx: fix patch for BCM4706 CPUs
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39250 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-12 18:51:45 +00:00
Hauke Mehrtens b26aeffe76 brcm47xx: update mtd drivers
This backports some patches from linux upstream.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39249 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-12 18:50:45 +00:00
Hauke Mehrtens 232ac1e9a1 brcm47xx: fix cpu wait for BCM4706
This was called to early.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39167 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-26 23:30:10 +00:00
Hauke Mehrtens 5627388168 brcm47xx: b44: This updates the phylib patches to the version send upstream
This uses a fixed phy instead of a dummy one.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-26 23:27:52 +00:00
Hauke Mehrtens 430e4caa0f brcm47xx: deactivate early printk support
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39060 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 19:19:16 +00:00
Hauke Mehrtens 63e8fc3ab2 brcm47xx: misc cleanups
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-01 18:12:57 +00:00
Hauke Mehrtens b5fc88a75d brcm47xx: deactivate mips wait instruction only for BCM4706
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38979 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-01 18:05:08 +00:00
Hauke Mehrtens bfe8628bfb brcm47xx: add vectored interrupts
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-01 16:37:58 +00:00
Hauke Mehrtens 8fdbb2087d brcm47xx: add cpu overwrites
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38974 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-01 16:36:38 +00:00
Hauke Mehrtens a51770782a brcm47xx: use "firmware" partition name
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38973 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-01 16:32:32 +00:00
Hauke Mehrtens 66c16ab5df brcm47xx: swap also early boot console if necessary.
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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38794 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-13 18:38:18 +00:00
Hauke Mehrtens 602224b52d 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38767 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 23:04:00 +00:00
Hauke Mehrtens 22e6165b04 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38744 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 21:23:29 +00:00
Hauke Mehrtens cf3d8e679c brcm47xx: add detection for Linksys WRT54GS V1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-09 20:08:09 +00:00
Hauke Mehrtens 18e7630b18 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38699 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-09 19:29:46 +00:00
Hauke Mehrtens 5a7a9e7b0b brcm47xx: fix detection of Asus RT-N12B1 and Netgear WNR3500L
This closes #14367 and #14328.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38656 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-05 17:09:19 +00:00
Hauke Mehrtens a51086e1b4 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38539 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-25 21:12:48 +00:00
Hauke Mehrtens 6b1206a158 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38538 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-25 21:02:13 +00:00
Hauke Mehrtens 1af9091146 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38502 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-22 21:01:35 +00:00
Hauke Mehrtens 2ffb32dad6 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38383 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-13 19:27:24 +00:00
Hauke Mehrtens 6b4e0c753f 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38312 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-07 00:01:01 +00:00
Hauke Mehrtens 0abc7959a8 brcm47xx: move clock detection patches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38311 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-07 00:00:10 +00:00
Hauke Mehrtens 038076a0cd brcm47xx: move and rename nvram gpio patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38310 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-06 23:57:11 +00:00
Hauke Mehrtens e4c5404c56 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38309 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-06 23:55:35 +00:00
Hauke Mehrtens cd2b261f51 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38308 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-06 23:51:24 +00:00
Hauke Mehrtens e0f3beb7cc 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38306 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-06 18:31:32 +00:00
Hauke Mehrtens 6212ba0165 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38289 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-02 22:25:26 +00:00
Hauke Mehrtens 66144f5c63 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38288 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-02 22:24:01 +00:00
Hauke Mehrtens a4456bb4a5 brcm47xx: b44: bgmac: some small changes to the phylib patches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38044 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 16:49:52 +00:00
Hauke Mehrtens 6da3933092 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38038 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 15:19:25 +00:00
Hauke Mehrtens 80d7a3558d 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38037 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 14:36:03 +00:00
Hauke Mehrtens 3d8f232fda 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38036 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 14:33:54 +00:00
Hauke Mehrtens df9cbcd450 brcm47xx: add detection for Linksys E900 V1
Thank you Rafał for the data.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38035 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 14:32:05 +00:00
Hauke Mehrtens 81cf14367f 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-16 21:09:10 +00:00
Hauke Mehrtens c24af5a0a4 brcm47xx: add detection for Phicomm M1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-16 19:53:09 +00:00
Hauke Mehrtens a2b9227c5e 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38006 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-16 19:49:02 +00:00
Hauke Mehrtens 77cbd421b4 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38005 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-16 19:47:30 +00:00
Hauke Mehrtens db3414a7e1 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-16 19:46:34 +00:00
Hauke Mehrtens 9aa1ed8c46 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>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-15 17:00:45 +00:00