There were a few issues with the existing code to detect the model string:
* Always using the string starting with byte 56 would cut off the W of WNDR when
the ID starts with 29763654+16+64 instead of 29763654+16+128
* The string contained garbage after the zero byte instead of cutting it off
after the zero (which wasn't always visible using busybox tools, but could
confuse other scripts)
Tested on a WNDR3700v1 and a WNDR3700v2 using the new 29763654+16+64 ID in the
ART. Furthermore, tested against ART dumps of a WNDR3700v2 using the old
$'\xff...' value and a WNDR3800.
The [ -z "$model" ] check was dropped as there is no way to actually hit this
unless no ART partition is found at all.
The awk command was carefully crafted to work both with gawk and the (horribly
broken) busybox awk.
Fixes#18992.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 45140
Update the xburst target to kernel version 3.18 and also remove the broken 3.10 support.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
SVN-Revision: 45031
ralink i2c driver is not working on MT7621 platform. Porting a new drivers from MTK's source code.
Last time i got some mess . This is new version.
Signed-off-by: Jay Weng <fl.service@t-firefly.com>
SVN-Revision: 45018
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
This backports upstream commit 702131e2a393b45174be326f1dbe20b658b4f157
bcma: move PCI IRQ control function to host specific code
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 44969
This changes the x86 image generation to match x86_64, using the PARTUUID for
the rootfs instead of explicitly configuring the device.
It unbreaks KVM with VirtIO, which uses /dev/vda2 instead of /dev/sda2.
Tested in QEMU/KVM with VirtIO, VirtualBox and VMware.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44966
Otherwise the root device won't be found in 1/16 of the generated images
(whenever the signature starts with a zero digit).
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44959
It depends on obsolete compilers and only works on one device (an
evaluation board).
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44956
also refresh generic patches for 3.14, 3.18, 3.19 and 4.0
targets might need a minor refresh as well, however, it looks
like everything still applies cleanly with occasional small
offsets.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 44876
There are two versions of the GL.iNet, the 6408A and the 6416A. The only
difference is the flash size.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44860
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
Build all geode platform drivers into the kernel
Remove kmod-* packages for these drivers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44809
While the switch positions aren't explicitly labeled as on and off, we've heard
complaints about them being wrong. This patch changes the handling to match the
stock firmware.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44795
This patch allows AP148 to boot from NOR flash.
As we're using a FIT image as kernel (which includes kernel bin + DTB)
we enable the MTD_SPLIT_FIT_FW kernel option, which will detect the FIT
image and automatically split the "firmware" partition into 2 MTD parts
(kernel + rootfs).
The rootfs will then be parsed and split between rootfs + rootfs_data,
as usual.
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
SVN-Revision: 44794
Only one bootargs is really needed: the tty port. All the other
information will use the OpenWrt mechanisms.
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
SVN-Revision: 44793
If this option is enabled, the FIT image format will be detected and
split by the mtdsplit code. Detection is based upon the FDT magic, which
will trigger the parsing and detection of the rootfs, ending-up in the
creation of the 2 new partitions.
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
SVN-Revision: 44792
My previous patch regarding the Hornet-UB board
(commit: beed4d82d6a0154b0cd5f7b84e2180215ace6718) actually
causes the WPS led state to be inverted. Practically this meant
that value 0 in /sys/class/led/alfa:blue:wps/brightness would
turn the LED on and any positive value (1-255) would turn it off.
The above of course is confusing and hence reverting this value
back to the way it was before beed4d82d6a0154b0cd5f7b84e2180215ace6718.
Signed-off-by: Janne Cederberg <janne.cederberg@gmail.com>
SVN-Revision: 44791
It will now actually enable the mib counters instead of enabling rx/tx for
the first switch port.
Reported-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44788
copied target/linux/x86/config-3.14 and target/linux/x86/patches-3.14 to
3.18 equivalents and then tweaked until it built.
Tested on alix2, soekris net4826 and soekris net4521.
Still having trouble with net4826 booting from Grub, alix2 and net4521
are fine.
Signed-off-by: Russell Senior <russell@personaltelco.net>
SVN-Revision: 44758
Move first 3 patches to 0xx numbers range to denote that this is
backported code and they should be removed when we update
kernel to version >= 3.19
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44732
To finally sync code with upsream cleanup registers headers, and update
several comments and kernel config symbols descriptions. No functional
changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44731
Cleanup board patch by moving code to specific patches, and factor out
leds to separate patch. No functional changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44729
Move GPIO patches behind PCI patch, since they are not yet merged
upstream.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44728
Make register names more consistent, mostly add appropriate prefix
(AR5312_ or AR2315_) or _BASE suffix. Also add macro to simplify mask
and shift operation.
No functional changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44726
There are no external users (last one was PCI driver) for these headers,
so move them to arch directory. Few macroses from ar231x.h header moved
to devices.h and file was removed.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44724
Honestly remap main SoC MMR mem and use accessor functions to
interact with registers. Now registers defined relatively to base
address (e.g. SDRAM controller base address).
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44723
AFAIK, no one AR2315+ chip (AR2315, AR2316, AR2317, AR2318) does not
contain IR block, so remove IR registers definitions. Also remove few
unused macroses.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44722
Pass PCI IRQ and I/O memory ranges via platform device resources, this
change makes PCI controller driver independed from arch headers, so
also remove few includes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44721
Honestly remap PCI controller MMR and use accessor functions to interact
with registers.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44720
Add container and place all context specific variables and structure to
it.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44719
Put AR2315_PCI_HOST_SDRAM_BASEADDR macro to DMA header, since this is
arbitrary value and not some hw specific constant. Also this relocation
decouples dma from HW specific header.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44716
Do not use prom_init() callback, do memory initialization in
plat_mem_setup() callback and move serial port configuration to
arch_initcall stage.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44715
Check SoC family (AR5312+ or AR2315+) before call instead of checking it
inside the called function. Also convert ar{5312,2315}_init_device()
function to void, since they both return zero and nobody care about
return value.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44713
Sync functions, variables and enums names with upstream. Mostly replace
'ar231x_' prefix by 'ath25_'.
No functional changes, except few 'int' -> 'unsigned' changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44712
Ethernet controller driver don't use boarddata directly, so remove
corresponding field from its platform device structure.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44710
This problem has existed at least since Attitude Adjustment and
is also present in trunk. Basically on the Hornet-UB board the
functionality of RESET and WPS have "switched places".
There are two tickets about the issue at dev.openwrt.org,
The solution suggested on them both is incomplete though
and introduces the following proglem:
Patching as suggested on #14136/#15282 will result in a situation
where simply pressing the RESET button on the bottom will cause
FACTORY RESET to be run. This is due to GPIO high/low state being
incorrect as a result of the above change and virtually the RESET
button is in the pressed-down state the entire time. When it is
then physically pressed, that causes the opposite, release, to be
triggered and since to the board it seemed that the button was
pressed long before it was released, the FACTORY RESET results.
The attached patch works as expected. I have verified both the
incorrect functionality as well as after fixing the issue as
described in the patch and flashing the resulting firmware to a
Hornet-UB board.
Signed-off-by: Janne Cederberg <janne.cederberg@gmail.com>
SVN-Revision: 44692
ralink i2c driver is not working on MT7621 platform. Porting a new drivers from MTK's source code.
Signed-off-by: daixj <fl.service@t-firefly.com>
SVN-Revision: 44690
Here the device tree entry for ifxhcd is listed as compatible with one
supported in dwc2 (after patching the dwc driver appropriately).
A second entry is added to support the second core of the hcd. This
entry is listed to be compatible with only dwc2. Done this way there
should be backwards support for both hcd drivers (ltq-hcd and dwc2)
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
SVN-Revision: 44676
This patch switches calls to readl/writel to their
dwc2_readl/dwc2_writel equivalents which preserve platform endianness.
This patch is necessary to access dwc2 registers correctly on big
endian systems such as the mips based SoCs made by Lantiq. Then dwc2
can be used to replace ifx-hcd driver for Lantiq platforms found e.g.
in OpenWrt.
The patch was autogenerated with the following commands:
$EDITOR core.h
sed -i "s/\<readl\>/dwc2_readl/g" *.c hcd.h hw.h
sed -i "s/\<writel\>/dwc2_writel/g" *.c hcd.h hw.h
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
SVN-Revision: 44675
Lantiq driver does not work with autodetected fifo sizes so use ones
from original ltq-hcd driver in dwc2. Other values can be
autodetected.
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
SVN-Revision: 44674
Port gpio code from original ltq-hcd driver to dwc2.
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
SVN-Revision: 44673
Add VR9 specific usb initialization bits from ltq-hcd to platform
initialization.
This patch is more of a proof-of-concept than production quality
since the initialization registers are different on other lantiq
platforms.
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
SVN-Revision: 44672
Previously, the generated images for the My Net Wi-fi Range Extender
wouldn't always work (and panic) due to the fixed mtd offsets and
sizes for the kernel and rootfs. This patch fixes the problem by
utilizing the shared Cybertan's partition parser to recalculate
the mtd partitions for every image dynamically everytime.
Reported-by: Pascal Paradis <peparadis@yahoo.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
SVN-Revision: 44665
By removing the NL16 signature check, the parser can be
utilized by other devices like the WD My Net Wi-fi Range
Extender.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
SVN-Revision: 44664
This patch renames the partition parser from
wrt160nl to more generic cybertan.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
SVN-Revision: 44663
405-mtd-tp-link-partition-parser.patch was updating the
WRT160NL's partition parser Kconfig. This patch moves the
relevant change into the right file:
404-mtd-wrt160nl-trx-parser.patch
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
SVN-Revision: 44662
This commit re-adds a patch from 3.14 that is required for UBI block
devices with an EOF marker to be successfully mounted.
Signed-off-by: Oliver Smith <oliver@8.c.9.b.0.7.4.0.1.0.0.2.ip6.arpa>
SVN-Revision: 44658
Please also backport to Barrier Breaker (this same patch applies there too).
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 44647
OpenWrt can be flashed with following uboot commands:
tftpboot 0x80500000 openwrt-ar71xx-generic-wpj558-16M-squashfs-sysupgrade.bin
erase 0x9f030000 +$filesize
cp.b $fileaddr 0x9f030000 $filesize
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 44620
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
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 driver code for supporting these subtargets was already removed a while ago,
so
the current images wont actually boot.
It is also quite unlikely that there are any users of them at this point, so
remove them.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
SVN-Revision: 44586
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
Most MIPS targets have it disabled, so move the symbol to the generic
configs to keep target configs small.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44583
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
For bcm63xx integrated switches, broadcom changed the data endianess
to match the system endianess. But this only applies to within one word,
which causes 48/64 bit values to be still split into their "litte endian"
groups.
E.g. 48 bit values (with 5 being the most significant byte) aligned
0x00 ..01 or 0123
0x04 2345 45..
will become
0x00 ..10 resp. 3210
0x04 5432 54..
Likewise for 64 bit values.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44568
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