Defer the CFE_EXTRAs evaluation to allow overriden BLOCK_SIZE and
IMAGE_OFFSET take effect, and replace the unused IMAGE_SIZE with
IMAGE_OFFSET in DEVICE_VARS.
This fixes image generation for targets using different offsets or
blocksizes.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
The CVG834G claimed to be a BCM6348, but is actually BCM3368. Since we
don't test against it, this was harmless.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Instead of having CFE_EXTRAS for every device that need specific block sizes
and image offset, let's define a couple of vars which can be customized for
each device.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Some devices require padded images in order to prevent CFE from flashing them
to the wrong offset.
For small flashes (4/8) this is no big deal, but for larger flashes (16/32) this
implies 8 and 16 MB images, which is way too large and some devices aren't
capable of flashing them through sysupgrade.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The only difference is a field in the image tag header, so just define
two images for it instead of treating them as separate devices.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
External IRQs are currently broken, fix the BCM6345_EXT_IRQ driver.
Since the adoption of the new driver irq-bcm6345-ext, in Chaos Calmer,
external IRQs don't work. It seems there were some minor errors at the initial
development of the driver.
This patch fixes the ticket https://dev.openwrt.org/ticket/21613
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
In kernel 4.7 there is upstreamed b53 driver using (mostly?) the same
symbols as our b53 does. Change our symbols so both drivers can coexist
in kernel tree.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Jonas Gorski <jonas.gorski@gmail.com>
- Use KERNEL_INITRAMFS_SUFFIX for customizing initramfs name.
- Modifying $(PROFILES) is no longer needed.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This patch adds support for the Netgear EVG2000 VoIP Gateway to the
bcm63xx targets.
This device was not sold to the general public, but rather is/was
provided by telcos to customers in Sweden, Australia, Singapore and
other parts of asia.
Known issues:
- Unable to detect 53115 switch. This appear to be a problem with
probing for the PHY using MDIO and results in error 5. Doesn't seem to
be a problem with the configuration, and could use someone with
experience to have a look at it.
- Uses the b43 driver as using the OpenWRT/LEDE broadcom-wl driver
fails to load the firmware for the 4322, so 802.11n is not supported.
More info on the device and the research can be found at:
https://wiki.openwrt.org/toh/netgear/evg2000https://wikidevi.com/wiki/Netgear_EVG2000https://github.com/Xotic750/mirror-lede/tree/evg2000https://forum.openwrt.org/viewtopic.php?id=63950
Signed-off-by: Graham Fairweather <xotic750@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Some devices with ath9k WiFi require changing the default active low
polarity to high in order to correctly operate the WiFi status LEDs.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
These scripts were causing ip issues in the latest version of LEDE:
https://gist.github.com/Noltari/6d20d8bcbe236caf516c0a73f5477d00
Fixes preinit iface script by making eth0 the default ifname and only changing
it to eth1 for the devices that specifically need it.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Looks like the addresses for BCM3368 were wrongly defined when DT
support was introduced.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 48980
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
Rename board_name to board_id to prepare for using board_name as a
proper name for the board.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44832
This adds support for the Netgear DGND3700 v1 and DGND3800B.
DGND3700 v1 and DGND3800B are exactly the same router, only one difference,
the factory firmware. This patch produces two factory firmwares for each router.
The router includes an onboard NAND flash for extra storage. NAND is currently
not supported in bcm63xx, so no code added for this part. The NOR flash (32MB)
is enough for storing an openwrt firmware.
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: Add back commit message from v1]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44831
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
HAMRADIO enabled in all generic configs, but no one platform directly
use related drivers/protocols. This symbol is only used for kmod-ax25
package modules. Furthermore, half of platforms explicitly disables
this symbol, what silently disables build of modules for kmod-ax25
package.
So disable HAMRADIO by-default in generic config, add it to kmod-ax25
package and remove it from platform specific configs.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44613
CONFIG_MTD_SPLIT_SUPPORT symbol default value is 'y' and many platform
specific configs explicitly enables it, while no one platform disables
this symbol. So place it in generic config and remove from platform
specific configs.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44612
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
Linux commit d75b1ade567ffab ("net: less interrupt masking in NAPI")
chose the samantics of the napi poll return value, which caused napi to
not resume interrups/polling anymore.
Fix the return value to restore expected behaviour.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44576
Legacy probe passed the IRQSTAT registers instead of the IRQMASK
registers causing all register accesses to be offset by 16 bytes.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44575
The driver expected data then dir, but both dts and legacy code passed
dir then data. Fix this by making the driver expect the registers in
ascending order, i.e. dir then data.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44574
Now that all gpio users without named gpios use DT, we do not need
to fix the gpio controller bases anymore.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44567
Register buttons and leds through DT for all available dts,
and remove them from the board files.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: remove leds/buttons from board files
fix wrong led polarities for dsl-274xb-c2, cpva642, p870hw
comment out spi-gpio and associated leds]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44566
Add a generic mmio gpio controller based driver and probe it
through device tree.
Use aliases for base calculation until we converted all users to
device tree or named gpios.
Convert bcm63xx_enet's ephy-reset gpio to use a named gpio.
While at it, remove the duplicate reset gpio defintion for livebox.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44565
Add a dtsi for bcm3368, add a dts and profile for cvg834g, and convert
it to use ImageDTB. Since HCS requires more arguments, enhance the max
arguments of the call.
The image name is intentionally left blank to prevent non-initramfs
images to be built, as they currently contain no rootfs and consequently
won't work.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44561
Most 16 MiB RAM devices don't even load elf kernels, so it's safe to
assume we have at least 32 MB RAM. This fixes tftp booting with the
default package set as this already produces an uncompressed
kernel > 8 MiB.
New limit is 8 MiB compressed / 24 MiB compressed.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44558
Remove the need for the header file to be exported - we don't need most
of it anyway; all we care about are the offset of the rootfs length and
header crc fields.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44557
We do not need to align the start of read only rootfs's to erase blocks.
This allows us to write the squashfs rootfs directly behind the kernel,
potentially freeing up one erase block.
We still need to align for jffs2, so add a flag for imagetag to
optionally align the rootfs start.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44556
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
According to the vendor tarball, the TD-w8900GB's flash has 64k erase
block size, but CFE spans two blocks. So fixup the image offset
accordingly but keep block size at its default (64k).
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: add commit message, add image offset, change nvram offset]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43572
Add the required nodes for the interrupt controllers and register
them through DT when a DTB is present.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43457
Add irq-domain aware irqchip drivers for the irq controllers of bcm63xx
and switch to use them.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43454
If there is no board support in the kernel, it does not make sense to
build images for devices. So drop any images for board ids for which
there are nc corresponding board_info structs in the kernel.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43364
Move compatible strings from board structs into separate table. This
allows for several board compatibles to match to the same board in case
e.g. only the flash size / partitions differ.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43341
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