According to the calling convention of the o32 ABI the caller
function must reserve stack space for $a0-$a3 registers in case
the callee needs to save its arguments.
The assembly code of the loader does not reserve stack space for
these registers thus when the 'loader_main' function needs to save
its arguments, those will be stored in the 'workspace' area instead
of the stack.
Because the workspace area is also used by other part of the code, the
saved register values gets overwritten and this often leads to failed
kernel boots.
Fix the code to reserve stack space for the registers to avoid this
error.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
[noltari: apply the fix for brcm63xx too]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 48979
Overwriting static strings is never a good idea, especially expecting
identical strings to be stored in different memory locations.
This caused the lookups to always return the second chip's name. Fix
this by just initializing the lookup with the right values, so we
don't need to modify the strings at all.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 48303
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47867
This patch adds support for the NuCom R5010UNv2.
It's a BCM6328 based board. It has an onboard BCM43217 wifi chip. For this
wifi chip looks like the brcmsmac driver isn't still supported, b43 drivers are used
for the profile of the router.
It's worth mentioning this board was affected by a bug solved with
https://dev.openwrt.org/changeset/46707
Tested-by: Angel Fontan <angel.fontan@gmail.com>
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 47697
We register all gpio buttons and leds through DT, so no need to keep
fixes/additions for the platform data based bay.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46753
Add support for Comtrend VR-3026e v1.
The device is almost identical to the Comtrend VR-3025un.
Signed-off-by: Martin Tesar <tesarmar@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46752
/etc/uci-defaults/02_network had a typo, making it generate the wrong
network config.
Closes#20407.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46727
should improve flash access times. Should be harmless to gnerally
enable regardless if a flash supporting dual reads is attached. In
doubt, spi-nor will just fall back to serial reads.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46725
Some CFEs seem to misconfigure the mapped memory flash access with
fast read but without a dummy byte, causing all accesses to be prefixed
with 0xff.
This of course breaks reading out the nvram, so do not just move back to
single i/o accessors, but also ensure that the dummy byte is correctly
set.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46707
Make the device name accessible for any build commands instead of
forcing targets to define it themselves.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46597
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
It looks like RAC flushes cause random corruption(?) when the
second thread is set as default.
Fixes#20160.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46563
BCM6318: add support for Plusnet / Sagem 2704N (V1)
Signed-off-by: Matt Goring <matt.goring@googlemail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46562
Switches BCM63xx to the new IB system.
Images are generated per device definitions.
There are no changes in the produced images except for some name changes,
caused by the new IB system.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46490
Simplify image/Makefile by using the new perl script for RedBoot.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46489
Now that we have a dtc command that invokes the preprocessor, make use
of it and replace the magic numbers with KEY_* defines.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46391
Now that we have a BuildDTB command, make use of it instead of calling
dtc directly.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46390
This patch adds buttons support for Huawei EchoLife HG553.
Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46388
Switch brcm63xx to 4.1 to give it some initial testing, but keep 3.18
at least until CC-final is out.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46386
To improve reproducibility, prevent the inclusion of timestamps
in the gzip header.
Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>
SVN-Revision: 46361
Backport a commit from 4.2 making IRQCHIP_DECLARE available outside of
drivers/irqchip and use it.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46183
Replace the appended dtb patch with the upstream accepted version and
update the code to work with the changed interface.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46181
Also move it to an earlier place so new boards added are less likely
to confuse quilt.
Fixes#19965.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46148
When r42245 moved A4001N to DT based detection the image padding size
was accidentally increased from 4 to 8 MiB. This made images unflashable
on these devices.
Fixes#19836.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45945
Livebox does need the uncompressed kernel, so just create it during
image generation.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45875
Delete the dtb appended, uncompressed kernels after having compressed
them, so they don't end in the image builder.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45869
Add it to the appropriate places so the power led properly works
and ethernet is properly configured for failsafe.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45709
This patch adds support for the Huawei HG655b.
Nothing much special in this router, it's just another BCM6368 with
a Ralink RT3062 wifi chip and the calibration data embedded in the
main flash chip at offset 0x7c0000. There is also configuration data
used by the OEM firmware before the cal_data partition, this area is
protected by the board_data partition in this patch.
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45708
This was a remnant of an old version.
Reported-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45583
This should rather be done by passing appropriate platform_data/OF, but
should suffice for now.
Fixes e.g. GbE ports on BCM963268BU_P300.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45505
At least the third rgmii port is available on 63169, so assume all are
available. Simplifies cpu vs. variant handling.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45504
Accidentally left over development artifact.
Reported-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45179
Now that all supported boards have an dts there is no need for a
dtb free kernel anymore.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45169
Appearently the kernel only uses kernel above it, so moving it to an
higher address causes a lot of unavailable memory (#19327).
Also move the on-flash kernel to 0x80a0000, as newer CFEs don't like
uncompressing there (net-booting an ELF kernel is fine, though).
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45164
Should fix pcmcia on BCM6348 and BCM6358 after switching to DT-probed
gpio controllers.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44995
Fixes the following issue:
drivers/gpio/gpio-bcm63xx.c: In function 'bcm63xx_gpio_probe':
drivers/gpio/gpio-bcm63xx.c:80:4: error: implicit declaration of function 'devm_kasprintf' [-Werror=implicit-function-declaration]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44986
Support for the BT HomeHub 2.0 Type A.
This router was manufactured by Thomson, and it's BCM6358 based.
The leds are controled by two chained HC594, all working ok. The BCM5325
switch has the RESET# pin wired to the GPIO15, but currently there is no
way to tell the b53 driver how to get this gpio number in brcm63xx,
therefore swconfig won't use it when performing a switch reset.
The patch was tested with several firmwares, and all except unsupported
stuff (i.e xDSL) works pretty well.
Tested-by: Tahir <tahir00ali@gmail.com>
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
SVN-Revision: 44985
Currently there isn't images ready for flashing liveboxes boards. This
patch adds a script and the code to call it in the bcm63xx images
builder makefile to generate the livebox 1 firmware.
I removed some lines to avoid generating unneded files in the bin/ dir
for this board. And added code to generate a squashed rootfs aligned to
64 kB since the current one in the /bin dir is 128 kB aligned and
doesn't work. Still no sysupgrade support for this board. Upgrading from
within openwrt can be done writing with mtd the kernel, and then the 64k
aligned rootfs.
Regards
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: use sed instead of a separate shell script for the boot script, make it
respect the load address]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44982
Ensure gpio chips are always labeled the same; this allows simplifying
any arch setup gpio lookups.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44846
Now that we have converted all users of global variables to use
brcm63xx_board_name, we can savely convert the implicit call to detect
in brcm63xx.sh to a single, explicit call in preinit.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44840
r37000 made button kmods loaded from generic code, so we don't use
it anymore for deciding to load them.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44838
Instead of setting them up on invocation of brcm63xx_detect, set them
when calling diag.sh based.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44837
Board IDs are not unique, so in preparation for depricating them, always
use board_name for any (default) configuration decisions.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44836
Use the device tree model property for detecting the board instead
of board id from nvram if present.
Since we can now directly detect the DVA-G3810BN, we can remove the
extra check for it.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44834
Take full board name from devicetree, if present. Provide a method
for retrieving the board name.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44833