compat-wireless/backports now contains a bcm47xx_nvram.h file to
backport some of the functions in it which are used by the bcmfmac
driver. This file just checks for the kernel versions and provide an
empty implementations on older kernel versions. This is OK on most
systems, but on bcm47xx / bcm53xx systems we want to call the real
functions here. This commit removes the file from backports in our
build process like we do it with the bcma and ssb header files. Instead
we add a recent version into our kernel so all code uses only one
header file. On bcm47xx / bcm53xx the real implementations of this code
will be used.
Reported-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 47467
the trx utile uses a maximum image size of 7.2MB. There are brcm47xx
devices even with serial flash with bigger flash chips, but OpenWrt was
not able to create images for these devices. This patch provides an
additional parameter which increases this limit to 32 MB. There is a
warning in the trx utile code which suggests that bigger images could
overwrite the nvram partition on some devices, but normally the program
writing the image should make sure that it is safe to write it to the
flash.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 46872
This patch changes nothing on the behaviour, it just breaks long lines
with bin/trx to make it easier to add additional parameters.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 46871
Instead of letting each target define it themselves, create on in
include/image.mk and let the targets use it.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46596
We got check for nvram_len placed too early and the code never tried
reading CFE variables used on WGT634U. This is a regression introduced
in r45942 and reported in #20291.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 46584
Extracting TRX to separated file in /tmp/ requires extra RAM which may
not be available on some chepaer devices. Instead of that lets pass a
proper extracting command to the default_do_upgrade.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45901
The mips74k subtarget of brcm47xx configures gcc to compile for mips32r2;
however, the generated kernel config for 3.14 and later kernels ends up
with CPU_MIPS32_R1 and CPU_MIPSR1 selected. The generated kernel config
for the 3.10 kernel (Barrier Breaker) properly selected CPU_MIPS32_R2 and
CPU_MIPSR2. Modify the default kernel config for mips74k to explicitly
select CPU_MIPS32_R2 and CPU_MIPSR2.
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Tested-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45469
First of all this patch was affecting other devices, not just Netgear
WNR834B. E.g. Linksys WRT300N v1 also has boardtype 0x0472.
This was breaking PCI on WRT300N, ssb couldn't detect core working in
hostmode (due to mips_busprobe32 failing).
Secondly this patch should not be needed for years now. From the analyze
of #8861 it seems it was needed just to make devices at slots other than
0 discoverable. Setting cardbus to 0 was simply making ssb allow access
to PCI config for devices other than bridge.
With the upstream commit a6c8462 (ssb: fix cardbus slot in hostmode) we
allow accessing device at slot 1 which should be enough for CardBus.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45293
KERNEL_IMAGE is used as target rule so reusing the same name causes:
Makefile:326: warning: overriding recipe for target `bin/brcm47xx/vmlinux.lzma'
Makefile:326: warning: ignoring old recipe for target `bin/brcm47xx/vmlinux.lzma'
Makefile:326: warning: overriding recipe for target `build_dir/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/linux-brcm47xx_mips74k/vmlinux.lzma'
Makefile:326: warning: ignoring old recipe for target `build_dir/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/linux-brcm47xx_mips74k/vmlinux.lzma'
Unfortunately this will cause copying vmlinux.lzma over and over like:
cp vmlinux.lzma FOO-kernel.bin
which is redundant on brcm47xx where we never modify kernel image.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45178
This makes sysupgrade reject firmware images for different devices.
Right now only support for 2 sample devices is implemented.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45170
Disable ARCH_NEEDS_CPU_IDLE_COUPLED by-default in generic config, since
only one platfrom (omap) needs them.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44614
CONFIG_GENERIC_NET_UTILS is selected by CONFIG_NET and already enabled
in generic config, so we don't need this symbol in platform specific
configurations.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44611
The flag is experimental and requires toolchain support, which we don't
provide. Also neither target has an FPU so it becomes meaningless
without the FPU emulator enabled.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44584
This will allow simple sysupgrade-s including simpler reverting to the
original firmware.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 43799
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 43715
replace all occurences of LINUX_VERSION with the cleaner
approach. future kernel upgrades must mostly touch only
one file. the only platform left is netlogic, because it
uses a intermediate kernel 3.14.16
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
SVN-Revision: 43047
[base-files] shell-scripting: fix wrong usage of '==' operator
normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.
this patch does not change the behavior/logic of the scripts.
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
SVN-Revision: 42911
There is a group of devices that lzma-loader doesn't work with. They
simply hang at "Starting program at 0x80001000" which is really hard to
debug and we didn't find any solution for this for years.
Broadcom doesn't use lzma-loader on these devices anyway. They decided
to drop lzma-loader and use less optimal LZMA compression that can be
handled by CFE itself (it doesn't use dictionary).
So support these devices we will need kernel compressed with different
parameters and trx without a loader.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 42205
This adds some code based on code from the Broadcom GPL tar to fix the
reboot problems on BCM4705/BCM4785. I tried rebooting my device for ~10
times and have never seen a problem. This reverts the changes in the
previous commit and adds the real fix as suggested by Rafał.
Setting bit 22 in Reg 22, sel 4 puts the BIU (Bus Interface Unit) into
async mode.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 42088
This adds some code based on code from the Broadcom GPL tar to fix the
reboot problems on BCM4705/BCM4785. I tried rebooting my device for ~10
times and have never seen a problem. This reverts the changes in the
previous commit and adds the real fix as suggested by Rafał.
Setting bit 22 in Reg 22, sel 4 puts the BIU (Bus Interface Unit) into
async mode.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 42083
It doesn't seem to be used anywhere, it's incompatible with other
targets and can be confusing. People may think they need to update
section name every time they change VLAN ID (well, even I was doing
that).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 41835
Some devices were renamed when converted from diag to in kernel board detection and it was not changed in netconfig. Devices not in the
kernel board detection are removed now.
This should close: #17111, #16968, #13202
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41663
A reboot is issued by setting the watchdog timer to a low value, when
the value is decreased from 1 to 0 by the hardware the system will
reboot. Setting this value to 1 does not work every time, it is a
little bit more reliable when setting it to 3. This timer runs with
some MHz or KHz so nobody will notice the increased waiting.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41548
broadcom-wl now builds in the mips74k profile, so remove these chips
from the generic profile.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41546
When the Ethernet controller is powered down and someone wants to
access the mdio bus like the witch driver (b53) the system crashed if
PCI_D3hot was set before. This patch deactivates this power sawing mode
when a switch driver is in use.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41527
Now the mac address is increased by two for the first fallback mac
address. It could be that the address increased should be used for the
wan port.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41515
The address prefix 00:90:4C is used by Broadcom in their initial
configuration. When a mac address with the prefix 00:90:4C is used
all devices from the same series are sharing the same mac address.
To prevent mac address collisions we replace them with a mac address
based on the base address.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41513
Without this patch the switch config for the adm switch did not worked,
because hey are not names eth0.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41512
Old OpenWrt releases were using network configs that are not valid
anymore. They were specifying ports tagging in a different way (or were
not tagging CPU at all) and were using VID 0 which is a reserved value.
Modifying network configuration to apply all needed changes would be
pretty tricky. Script /etc/init.d/netconfig that generates new config is
quite complex itself.
So instead let's save the most important settings, regenerate config
from the scratch and restore values. This should work for 99% of users.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 41500
205-fix-headers_install.patch is obseleted by upstream commit 3246a0352e3d58380b9386570f1db1faf7edf8a8
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41351
With this patch the mips74k subtarget will be compiled with optimized
compiler options to generated smaller and faster code. This currently
breaks broadcom-wl, because the binary blob is only compiled with
mipsr1 support.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41050
This fixes some strange problems with tg3. I assume that the Ethernet
driver was not brought up if the switch was named switch0.
This was reported and tested by ernesto (Faulp3lz).
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41042
All new devices (with MIPS 74K CPU) are based on BCMA SoC and have
Ethernet core supported by bgmac. Create a new subtarget to generate
optimized builds.
This is just a beginning, further tweaks (like kernel configuration)
are still possible. This decreases default root.squashfs by ~128 kB.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41025
This allows creating more subtargets and optimize builds per family.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41024
ARGC is a 'C-ism', but not known/valid in shell-syntax - insert the correct
var $# (=number of args) here. under normal conditions this had no impact,
but we should at least correct it. the error was observable like this:
root@box:~ [ -e "/etc/functions.sh" ] && . /etc/functions.sh
root@box:~ [ -e "/lib/functions.sh" ] && . /lib/functions.sh
root@box:~ . /lib/upgrade/platform.sh
root@box:~ . /lib/upgrade/common.sh
root@box:~ platform_check_image /tmp/myfirmware.bin
ash: bad number
root@box:~ echo $?
0
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
SVN-Revision: 40915
We should be more careful and don't generate 128K JFFS2 images for
devices with flashes using 64K blocks (nor the other way).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40762
Handle it by creating a new patch for simple database changes.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40345
And while at it, fix the nomenclature, BCM947xx/953xx refer to specific boards,
while BCM47xx/BCM53xx refer to chip identification number.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39841
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>
SVN-Revision: 39733
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>
SVN-Revision: 39719
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>
SVN-Revision: 39469
Instead of looking into the proc entry provided by broadcom-diag use
the board info from /proc/cpuinfo to get the board we are on.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39256
Use the new led api also on brcm47xx.
The led for failsafe indication is searched for.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39255
Remove the code used on the old switch driver.
The Ethernet drive is loaded as a module and needs some time to get up
therefor we added some wait function.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39254
This makes brcm47xx target use the default gpio led and button driver
and not broadcom-diag any more.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39253
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 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