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
This prevents generating every supported image, except for de "Default" profile.
Also fixes Neufbox 6 image generation.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42210
Use generic profiles for brcm63xx instead of having similar profiles for
each subtarget.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42208
This changes board info to match the Wiki
http://wiki.openwrt.org/toh/huawei/hg556a, removes the no longer needed
fallback board and fixes HG556 Ralink eeprom extraction.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: rename partitions instead]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42206
Now that we migrated all users to dtb based detection, we can drop the
board fixup code.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42129
This requires individual images for each board version for now.
Linux partition was shrunk to ensure writing thewrong image won't
erase wifi calibration data.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42126
Add the required nodes to the dtsi files and code to prevent double
registration from the board support code.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42123
In preparation for switching to dtb based board identification, add
support for building lzma-loader and lzma cfe kernels with dtb
appended.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42121
Allow appending a dtb blob to the binary and use it for identifying the
board. Fall back to nvram based identification in case of no dtb passed.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42119
Mostly works except for USB led. Flashing not tested yet. Mostly
as an example for the sprom fixup code.
Fixup values taken from GPL tarball by comparing bcm43217_map.c
with the struct in sprom.c.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41944
Rework fallback sprom support by providing different sproms for
different chips. Also make it optional to use.
This likely causes sprom fallback support to break on a few boards.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41942
Now that BB is branched off, we can now switch to 3.14 and start
breaking stuff again.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41941
Add a working lzma loader and use it for generating initramfs kernels
to allow easily netbooting elf kernels on devices with a 4 MiB CFE
size limit.
Based on ar71xx's lzma-loader.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41940
Since kernel commit 928bea964827 ("PCI: Delay enabling bridges until
they're needed"), pci fixups are run with bridges (e.g. the pcie port)
disabled.
This causses hangs when ath9k_pci_fixup tries to manually enable the
device to apply the register fixups.
Fix this by enabling any parent bridges before trying to access the
device itself.
Fixes boot on DSL-274XB rev F1.
Reported-by: Matteo Croce <matteo@openwrt.org>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41856