Commit Graph

1391 Commits

Author SHA1 Message Date
Mathias Kresin
a48b4ae38b lantiq: kernel 4.14: don't use CPU interrupt controller IPI IRQ domain support
This reverts kernel commit 1eed40043579 ("MIPS: smp-mt: Use CPU interrupt
controller IPI IRQ domain support"). With the patch applied, the kernel
hangs during boot if SMP is active.

The Lantiq IRQ controller gets registered first and it directly handles
the MIPS native SW1/2 and HW0 - HW5 IRQs. It looks like this controller
already registers IRQ 0 - 7 and the generic driver only gets the following
IRQs starting later.

The upstream discussion can be found at
https://www.linux-mips.org/archives/linux-mips/2017-05/msg00059.html.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
cf53f2180c lantiq: kernel 4.14: select MFD SYSCON for ase
Enable syscon to use it for the RCU MFD on Amazon SE as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Hauke Mehrtens
f1d84023cb lantiq: kernel 4.14: update patches and config
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Hauke Mehrtens
5eeaba31b8 lantiq: kernel 4.14: copy patches, config and dts files
This just copies the patches, configuration and dts files into the
directories hich are used for kernel 4.14.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-20 19:25:17 +01:00
Mathias Kresin
f8a6987cd1 lantiq: make dts files and kernel config kernel version specific
Move the devicetree source files to a kernel specific directory in
preparation of adding kernel 4.14 support.

Rename the subtarget kernel config files to match a specific kernel
version.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
627a28eb09 lantiq: rename gphy firmware
Rename the gphy firmware to match the name requested by kernel 4.14 and
update the devicetree source files to use the new name.

Update the u-boot lantiq Makefile to be compatible with the new names as
well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
188328111b treewide: move nand_do_upgrade call to platform_do_upgrade
Calling nand_do_upgrade() from platform_pre_upgrade() was deprecated
with 30f61a34b4 ("base-files: always use staged sysupgrade").

Update the platform upgrade code to use platform_do_upgrade() for NAND
images as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-16 14:44:02 +01:00
Mathias Kresin
c4ac02ffca treewide: remove obsolete sysupgrade watchdog kill
The watchdog kill command was meant for busybox watchdog. Busybox watchdog
was replaced by the procd watchdog mid 2013 with commit df7ce9301a
("busybox: disable the watchdog utility by default"), which makes the kill
command obsolete since quite some time.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-16 14:44:02 +01:00
Felix Fietkau
cde71a543c build: replace uses of OpenWrt with $(VERSION_DIST)
This makes the distribution name more configurable.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-05 10:15:53 +01:00
Yousong Zhou
82ceb2ad2a build: add config option KERNEL_MIPS_FPU_EMULATOR
To make it more accessible for nodejs users to configure and run a build
on mips target lacking hardware fpu

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-01-29 15:06:53 +08:00
Mathias Kresin
d3fd38637f lantiq: create ATM/PTM interfaces with dsl as netdev name
Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the
original netdev might disappear before br2684ctl has finished appling it's
setting:

 local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully
 local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC
 kern.info kernel: dsl0: renamed from nas0
 kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device
 local2.err br2684ctl[1667]: Could not configure interface:No such device or address

By passing the final used netdev name to br2684ctl_wrap another race
condition workaround will be enabled again.

Change the lantiq ptm driver to create a netdev with the name dsl as well.
Albeit the rename via 'ip link' works fine so far, using a different
approach for ptm then atm could be confusing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-10 08:08:53 +01:00
Mathias Kresin
d726187367 lantiq: fix wbmr-hp-g300h image metadata
The Annex A and Annex B version are using the same (old) userspace
boardname. Update the SUPPORTED_DEVICES to allow an update from lede-17.01.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-04 21:23:59 +01:00
Thomas Nixon
9fc9fbeb97 lantiq: fix dts compatible string
This was broken in 7bab49fd ("lantiq: add compatible strings to dts
files"), causing for the dm200 garbled serial output during boot, and
likely other issues.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
[fix the compat string of the P2601HNFX as well]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-29 22:32:26 +01:00
Martin Schiller
94952636e7 lantiq: remove DSL_ChipSetHWVersion from status information
The value DSL_ChipSetHWVersion is fetched from the dsl frontend
via the dsl_control service, but not really provided by the dsl
frontend firmware and for now always "UNKNOWN".

The lantiq support told us that this information wouldn't be
provided in the foreseeable future, so let's remove this
useless "UNKNOWN" information.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-12-23 15:35:52 +01:00
Hauke Mehrtens
f704b643b9 kernel: Update kernel 4.9 to 4.9.70
Runtime tested on lantiq.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-12-19 22:45:27 +01:00
Mathias Kresin
4a4d957d1a lantiq: sync image filename with boardname
Use <manufacturer>_<modelname> as image name.

Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.

While at it, normalise the image filenames by using only lower case
characters and bin as file extension for sysupgrade images.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
58c6ad53a8 lantiq: drop unused variable from image build code
Remove the DEVICE_PROFILE variable. The variable isn't
used at all.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
7f68bd8119 lantiq: use the generic board detect
Drop the target specific detection function in favour of the generic
one provided by base-files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
ed72540c10 lantiq: add missing model names
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
26dc65b126 lantiq: remove the former board name from device tree model
Remove the former used board name from the device model property and
use the model name as it is.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
63d7f7fc92 lantiq: use the compatible string as board name
Use the first compatible string as board name in userspace. Add the new
board name as well as the former used board name to the image metadata
to keep compatibilty with already deployed installations.

Don't add the former used boardname for boards which exists only in
master or evaluation boards.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
aba421432f lantiq: drop SoC name from eval boards compatible string
Keep it in the same format as used for the other eval boards.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Mathias Kresin
7bab49fd7a lantiq: add compatible strings to dts files
The compatible string is mandetory for devicetree source file.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-16 23:33:56 +01:00
Christian Lamparter
da6fdce365 base-files: unify get_dt_led helper function
Lantiq and IPQ806X (which includes IPQ40XX) both define the
same custom function {ipq806x|lantiq}_get_dt_led.

This patch moves the function into the base-file package at
lib/functions/leds.sh to make it more accessible for other
targets as well.

Cc: Mathias Kresin <dev@kresin.me>
Cc: John Crispin <john@phrozen.org>
Cc: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-14 09:29:30 +01:00
Luis Araneda
575178e462 treewide: add only one device when appending to TARGET_DEVICES
This will avoid some conflicts when doing a git rebase or merge,
specially when adding support to a new device.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
[drop brcm47xx changes which rename the images]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-12 18:47:26 +01:00
Mathias Kresin
ab6620e817 lantiq: dgn3500 drop worldwide suffix
Remove the WW suffix, everything without a region suffix is world wide
anyway.

While at it, normalise the image filenames by using only lower case
characters.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-11 12:43:29 +01:00
Mathias Kresin
0c7ad4e5d3 lantiq: nand: drop ubifs images
Users are confused which image type they should use and there are more
drawbacks than adavantages in using a r/w ubifs rootfs in constrast to
a read-only squashfs rootfs like:

 - less available free flash space due to better compression of squashfs
   images
 - no support for factory reset due to r/w filesystem
 - possibility to break failsafe due to r/w filesystem

Therefore, drop support for r/w ubifs rootfs images.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-11 10:31:00 +01:00
Zoltan HERPAI
7b5c989ab9 merge: targets: update image generation and targets
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
Stijn Tintel
f997478655 kernel: bump 4.9 to 4.9.67
Refresh patches.
Remove upstreamed patches:
- generic/190-1-5-e1000e-Fix-error-path-in-link-detection.patch
- generic/190-3-5-e1000e-Fix-return-value-test.patch
- generic/190-4-5-e1000e-Separate-signaling-for-link-check-link-up.patch
- generic/190-5-5-e1000e-Avoid-receiver-overrun-interrupt-bursts.patch
- ramips/0102-MIPS-ralink-Fix-MT7628-pinmux.patch
- ramips/0103-MIPS-ralink-Fix-typo-in-mt7628-pinmux-function
Update patches that no longer apply:
- layerscape/815-spi-support-layerscape.patch
- ramips/0099-pci-mt7620.patch

Compile-tested on ar71xx, brcm2708/bcm2708, octeon and x86/64.
Runtime-tested on ar71xx, brcm2708/bcm2708, octeon and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-12-07 01:41:09 +02:00
Koen Vandeputte
62ede4f783 kernel: bump 4.9 to 4.9.63
Refreshed all patches.

Removed upstreamed parts.

Compile-tested: cns3xxx, imx6, mvebu, layerscape
Run-tested: cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-11-22 20:45:52 +01:00
Daniel Gimpelevich
a6e9d146f2 lantiq: add missing macaddr retrieval for Netgear DGN3500
The MAC addresses were not being set for LAN and WAN. This will now use the
same MAC mechanism as the rest of the target.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2017-11-08 23:25:05 +01:00
Mathias Kresin
b02b7004f8 lantiq: xway: rename nas0/ptm0 to dsl0
This change makes it possible to configure the wan/dsl ppp interface
settings independantly from the used TC-Layer (ATM/PTM).

By using dsl0 as interface name as for the xrx200 we can get rid of a
few conditionals which were introduced because of the different default
TC-Layer in xway and xrx200.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-25 08:45:05 +02:00
Mathias Kresin
664369f6b2 lantiq: match default adsl annex and firmware
Set a default Annex matching the the annex of the selected adsl
firmware.

Set Annex B for xrx200 board which are known to have an ADSL hybrid for
Annex B.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-25 08:44:59 +02:00
Mathias Kresin
9dd2d99525 lantiq: add missing default lan interface
With removing the boards from the the default case to fix the xDSL WAN
MAC-Address, the setting for the default LAN interface wasn't added.

Fixes: 92a12c434c ("lantiq: fix avm fritz box mac addresses")

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-25 08:32:00 +02:00
Mathias Kresin
36d2884d55 lantiq: ARV752DPW22: fix wireless mac address
The ARV752DPW22 has the same generic mac address in the EEPROM as it
was already noticed for other lantiq boards using a ralink wireless.

Use the base mac address from the boardconfig partition as it is done
by the stock firmware.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-18 22:12:45 +02:00
Mathias Kresin
a02a866519 lantiq: ARV752DPW22: set correct wireless led trigger
The ARV752DPW22 has a ralink based wireless and can not use the ath9k
only phy0tpt trigger.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-18 22:12:45 +02:00
Martin Schiller
2dc9c8206b lantiq: xrx200: rename nas0/ptm0 to dsl0
This change makes it possible to configure the wan/dsl ppp interface
settings independantly from the used TC-Layer (ATM/PTM).

Now you can move a device from an ADSL/ATM port to an VDSL/PTM port
without any configuration changes for example.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[use the dsl0 interface name for the default netdev trigger in 01_led,
add ip dependency]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-15 11:11:29 +02:00
Stijn Tintel
239dff6697 kernel: update and refresh patches
The lantiq patch 0028-NET-lantiq-various-etop-fixes.patch and sunxi
patch 0051-stmmac-form-4-11.patch no longer applied after applying the
the "generalize napi_complete_done()" patch.
Update them so they apply, and refresh patches while at it.

Fixes: 9aeb7ce8dc ("generic: net: generalize napi_complete_done")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-10-08 16:31:58 +03:00
Mathias Kresin
d65b1c815a lantiq: drop phy id specfic compatible string
With kernel commit 7630ea4bda18 ("Documentation: net: phy: improve
explanation when to specify the PHY ID") the purpose of using phy id
specific compatibles was clarified.

Remove the phy id specific compatibles since they are meant to be used
if the phy reports an incorrect or no phy id at all.

Reported-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-07 20:15:03 +02:00
Mathias Kresin
a6bd7255ab lantiq: remove gen_nand compatible string
The generic nand driver fails to load with:

  gen_nand 14000000.nand-parts: platform_nand_data is missing
  gen_nand: probe of 14000000.nand-parts failed with error -22

and the xway-nand driver is used afterwards.

Drop the gen_nand compatible to get rid of the error message.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-07 20:15:03 +02:00
Thibaut VARÈNE
254061ee97 build: add mktplinkfw2 hardcoded values to makefile
This patch adds all the board-specific values currently hardcoded
in mktplinkfw2.c back to the respective device declarations in the
makefiles.

The rationale is to avoid modifying the source code every time a
new board or board variant is added.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2017-10-06 08:28:41 +02:00
Mathias Kresin
aba297b7fd lantiq: ase: enable USB and wireless
Add the missing USB related kernel config options to target config.
Enable wireless as well, wireless is supported via USB.

Fixes compile/packaging errors with the libertas wireless kernel
module.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
695645b9ac lantiq: ase: fix SPI support
Do not disable SPI in the subtarget, otherwise the SPI driver can not
be used.

Disable SPI by default and enable it in the board specific device tree
source file.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
66a0f3a397 lantiq: select PCI support in subtargets
AmazonSE and Falcon do not have support for PCI and it can't be
unselected in the subtarget kernel config. This way the enabled PCI
support is inherit from the higher level config to the subtarget.

If CONFIG_PCI is selected, PCI_SUPPORT will be autoselected as well and
all packages depending on this config symbol will be build and at least
some of them fail due to missing pci functions.

The issue can be observed if all kmods and all non-shared packages are
build. Fix the issue by enabling PCI support only in subtargets with
PCI support.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
77fee9bcce lantiq: ase: cleanup kernel config
The subtarget kernel config options CONFIG_CC_OPTIMIZE_FOR_SIZE and
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK are already set by the target or
global kernel config.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
d7a76be980 lantiq: xway: cleanup kernel config
CONFIG_SPI_LANTIQ was replaced by CONFIG_SPI_LANTIQ_SSC with the switch
to the upstreamed driver.

All other removed subtarget kernel config options are already set by
the target specific or global kernel config.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
d3f3b817ac lantiq: xrx200: cleanup kernel config
CONFIG_MTSCHED & CONFIG_PERFCTRS were never defined in the kernel.

CONFIG_LANTIQ_PHY was replaced by CONFIG_INTEL_XWAY_PHY with the switch
to the upstreamed driver.

Add autoselected dependecies to the kernel config.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
054f01ac16 lantiq: xrx200: fix sorting of kernel config
Use the kconfig script to sort the kernel config. It makes further
changes more obvious.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Mathias Kresin
1c45d11bb3 treewide: drop obsolete kernel config options
CONFIG_GPIO_DEVRES was removed with kernel commit f9c22ec6c1c5 ("gpio:
Remove GPIO_DEVRES option") during kernel 4.9 development.

CONFIG_HAVE_BPF_JIT was removed with kernel commit 6077776b5908 ("bpf:
split HAVE_BPF_JIT into cBPF and eBPF variant") during kernel 4.7
development.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-10-04 20:08:15 +02:00
Stijn Tintel
6e48eb22b8 kernel: update 4.9 to 4.9.51
Refresh patches.
Compile-tested on octeon and x86/64.
Runtime-tested on octeon and x86/64.

Fixes the following CVEs:
- CVE-2017-14106
- CVE-2017-14497

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-09-20 23:50:55 +03:00
Stijn Tintel
d5b7215e31 kernel: update 4.9 to 4.9.49
Refresh patches.
Compile-tested on octeon and x86/64.
Runtime-tested on octeon and x86/64.

Fixes CVE-2017-11600.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-09-11 01:56:14 +02:00
Jorge Amorós
e2218ea148 lantiq: ARV7519RW22: enable PCIe
Enable PCIe to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Jorge Amorós <joramar76@yahoo.es>
2017-09-10 08:30:23 +02:00
Vittorio Alfieri
31b5069a50 lantiq: VR200v: enable PCI
Enable PCI to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Vittorio Alfieri <vittorio88@gmail.com>
2017-09-09 10:05:05 +02:00
Mathias Kresin
47be42c347 lantiq: fix xrx200 switch carrier state
In conditions where none of the switch ports is connected during boot,
the priv->port[i].link != priv->port[i].phydev->link condition is false
since both link values are equal (false). The carrier of the switch
netdev is never set to off and the link state reported by ip is UNKNOWN.

Turn the carrier off if none of the switch ports has a link, regardless
whether something has been changed. Add a check for a carrier to
prevent unnecessary calls to netif_carrier_off() if the carrier is
already off.

Based on a patch send by Martin Schiller.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-09-08 21:48:48 +02:00
Mathias Kresin
6b06c2fb8e lantiq: drop kernel 4.4 support
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-09-05 08:43:39 +02:00
Edward O'Callaghan
e0d6f541f7 lantiq: switch to kernel 4.9
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
2017-09-05 08:43:39 +02:00
Daniel Golle
2f0a8558be lantiq: ACMP252: clean up device modules
Install kmod-rt2800-pci instead of only the rt2x00 library.
Fixes missing wireless interface on AudioCodes AC-MP252.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-08-29 02:21:09 +02:00
Kevin Darbyshire-Bryant
364befeccf kernel: update 4.4 to 4.4.83
Refresh patches.
Minor update 704-phy-no-genphy-soft-reset.patch which was partially
accepted upstream.
Compile-tested on ar71xx.
Runtime-tested on ar71xx.

Fixes the following vulnerabilities:
- CVE-2017-7533 (4.4.80)
- CVE-2017-1000111 (4.4.82)
- CVE-2017-1000112 (4.4.82)

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
[cleanup commit message, add compile/runtime tested]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-08-17 14:31:45 +02:00
Stijn Tintel
2d02a4f5bd kernel: update 4.9 to 4.9.44
Refresh patches.
Adapt 704-phy-no-genphy-soft-reset.patch.
Remove brcm2708/950-0005-mm-Remove-the-PFN-busy-warning.patch.
Compile-tested on brcm2708/bcm2708 and x86/64.
Runtime-tested on brcm2708/bcm2708 and x86/64.

Fixes the following vulnerabilities:
- CVE-2017-7533
- CVE-2017-1000111
- CVE-2017-1000112

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-08-17 12:34:34 +02:00
Daniel Gonzalez Cabanelas
e1f91b4a1c lantiq: fix missing otg_cap on danube platform
USB doesn't work in some danube boards because otg_cap
is missing since previous changes made on the USB-dwc2
lantiq driver. Fix it.

Tested on the ARV7518PW router.

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
2017-08-09 23:20:56 +02:00
Martin Schiller
c8904e9c04 lantiq: board.d: use auto xfer_mode as default
If xfer_mode is set to auto the vdsl_cpe_control daemon assumes that
ATM should be used for ADSL and PTM for VDSL.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-08-06 09:22:03 +02:00
Martin Schiller
0481a2a2c5 lantiq: split up dsl_notify.sh into separate notification handlers
This makes it possible to simply add additional notification handlers
by putting new scripts in the /etc/hotplug.d/dsl directory.

the following Environment Variables are used:

(values marked with an * are only available when bonding support is
compiled in)

DSL_NOTIFICATION_TYPE with one of these values:
- DSL_STATUS
- DSL_INTERFACE_STATUS
- DSL_DATARATE_STATUS_US
- DSL_DATARATE_STATUS_DS

DSL_LINE_NUMBER=<0|1> *

If DSL_NOTIFICATION_TYPE == DSL_STATUS, these variables are set:

- DSL_XTU_STATUS=<ADSL|VDSL>
- DSL_TC_LAYER_STATUS=<ATM|EFM>
- DSL_EFM_TC_CONFIG_US=<NORMAL|PRE_EMPTION>
- DSL_EFM_TC_CONFIG_DS=<NORMAL>

If DSL_NOTIFICATION_TYPE == DSL_INTERFACE_STATUS, these variables are
set:

- DSL_INTERFACE_STATUS=<DOWN|READY|HANDSHAKE|TRAINING|UP>
- DSL_BONDING_STATUS=<INACTIVE|ACTIVE> *

If DSL_NOTIFICATION_TYPE == DSL_DATARATE_STATUS_US, these variables are
set:

- DSL_DATARATE_US_BC0=<Upstream data rate in bit/s for Channel 0>
- DSL_DATARATE_US_BC1=<Upstream data rate in bit/s for Channel 1> *

If DSL_NOTIFICATION_TYPE == DSL_DATARATE_STATUS_DS, these variables are
set:

- DSL_DATARATE_DS_BC0=<Downstream data rate in bit/s for Channel 0>
- DSL_DATARATE_DS_BC1=<Downstream data rate in bit/s for Channel 1> *

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-08-06 09:22:03 +02:00
Andrea Merello
b81c04382b lantiq: fix sleep with spinlock held in xrx200 network driver
In the xrx200_close() function we call napi_disable(), that could
sleep, with priv->hw->chan[i].lock held. This could lead to deadlock
and causes the kernel to complain.

Look at the code I couldn't convince myself about why we
need to protect that specific code part with the lock. IMHO there
seems no reason to protect the refcount variables, because AFAIK
ndo_close() and ndo_open() callbacks are already called with a
semaphore held. Neither I could figure out why napi_disable() have to
be called with that lock held. The only remaining code part for
which I could guess the lock is useful for is ltq_dma_close()
function call.

This patch reduces the lock to the said function call, avoiding the
sleep-with-spinlock-held situation

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
[fold into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch, backport to
kernel 4.4]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-20 19:10:29 +02:00
Mathias Kresin
ac3e05c5d7 treewide: populate boardname and model earlier
For targets using the generic board detection and board specific
settings in diag.sh, the board name is still unset at the time the
set_state() provided by diag.sh is called by 10_indicate_preinit.

Change the execution order to ensure the boardname is populated before
required the first time. Do the target specific board detection as
early as possible, directly followed by the generic one to allow a
seamless switch to the generic function for populating /tmp/sysinfo/.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Koen Vandeputte
cd54b2d42b kernel: update kernel 4.9 to 4.9.37
- Refreshed all patches
- Removed upstreamed
- Adapted 4 patches:

473-fix-marvell-phy-initialization-issues.patch
-----------------------------------------------
Removed hunk 5 which got upstreamed

403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
--------------------------------------------------------------
Adapted these 2 RFC patches, merging the delta's from an upstream commit
(see below) which made it before these 2.

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-
stable.git/commit/?h=v4.9.36&id=97ace183074d306942b903a148aebd5d061758f0

180-usb-xhci-add-support-for-performing-fake-doorbell.patch
-----------------------------------------------------------
- Moved fake_doorbell bitmask due to new item

Compile tested on: cns3xxx, imx6
Run tested on: cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-07-15 00:13:05 +02:00
Mathias Kresin
3dc757856c lantiq: fix typo in EASY80920.dtsi
There is no device tree property named phynmode0. Use phy-mode as it is
done for the other ethernet nodes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-07 07:18:14 +02:00
Thomas Nixon
50e3659703 lantiq: add Netgear DM200 support
Netgear DM200 is an inexpensive VDSL modem:

    CPU: VRX220 MIPS 34Kc 5.6 @ 500Mhz
    RAM: 64MiB
    Flash: 8MiB
    Ethernet: 1x100M
    DSL: VDSL2+, ADSL2+
    reset button, 3x bi-color LEDs

Serial port is 115200 baud, on the 4 pin header; pins from the bottom to
top are GND, RX, TX.

To upgrade from the vendor firmware, upload factory.img

The DM200 bootloader supports flashing over TFTP; hold the reset button
while powering on the device, and wait for the power light to start
flashing green before releasing. The device is now listening on
192.168.0.1/24, and can be sent a factory.img or a netgear image with a
TFTP put.

Once the image is loaded, it will be written to the flash, and the
device will reboot; this will take a few minutes.

Thanks to Edward O'Callaghan and Baptiste Jonglez, who implemented their
own ports for this device and provided valuable feedback.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
2017-07-07 07:13:24 +02:00
Mathias Kresin
08c499f865 lantiq: use img file extension for DGN3500 factory images
The Netgear UI in basic mode refuses the upgrade file if the the
fileextension is not img. The expert/advanced mode accepts any
fileextension. Use img to make it work in any case.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-04 16:29:01 +02:00
Piotr Dymacz
5b7f592251 build: move mktplinkfw2 related commands to image-commands.mk
There are already two targets (lantiq, ramips) which use mktplinkfw2
tool for creating images. This de-duplicates code, introduces two new
build commands: tplink-v2-header, tplink-v2-image and makes use of
them in place of old, (sub)target specific ones.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-29 10:37:36 +02:00
Stijn Tintel
880f73c327 kernel: cleanup CONFIG_SCHED_HRTICK
Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the
generic config in b47fd76563.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-06-29 04:46:59 +02:00
Koen Vandeputte
69649a1b45 kernel: update kernel 4.9 to 4.9.34
- Refreshed all patches
- Adapted 1 (0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch)

Compile tested on: brcm2708, cns3xxx, imx6
Run tested on: brcm2708, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[Compile and run tested on brcm2708]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-06-27 07:21:03 +02:00
Mathias Kresin
8e0d7d6574 build: move lzma2eva build step to image-commands.mk
Move it to image-commands.mk so that it can used by other targets with
eva based boards as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-06-24 22:36:38 +02:00
Mathias Kresin
d165f1f3bc kernel: move Lantiq PEF7061/7071/7072 phy driver to generic
The driver is used for boards outside the lantiq target as well. Move
it to generic to make it available for more targets.

The phy driver is included in kernel 4.8 as INTEL_XWAY_PHY.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-06-24 22:36:38 +02:00
Mathias Kresin
259fc1e778 lantiq: show xdsl line init status on shared dsl/internet led
On boards which don't have a distinct internet and dsl led, use the
shared LED to indicate the xdsl line state and any traffic that is
send/received via the netdev. This traffic doesn't necessarily need to
be internet traffic.

Rename the shared LED of existing configs to "dsl", to match the new
defaults. The configuration of the to be renamed LED is identical with
the new defaults.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-06-17 15:38:18 +02:00
Martin Schiller
03776d813c lantiq: restore netdev trigger of dsl led on line up
Allows to use a single LED for line init status indication and to show
any rx/tx activity on a synchronized dsl line.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-06-17 15:34:16 +02:00
Sergey Ryazanov
68e7a2a0b7 kernel: disable CONFIG_SG_POOL by default
CONFIG_SG_POOL symbol is selected only by CONFIG_SCSI, since the last
one is disabled by default then disable CONFIG_SG_POOL by default too.
And explicitly enable it only for platforms that use CONFIG_SCSI.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2017-06-07 18:31:10 +02:00
Tino Reichardt
e097eb27af lantiq: fix 0008-MIPS-lantiq-backport-old-timer-code.patch for Amazon-SE
The patch 0008 removes the vanilla kernel gptu.c of lantiq.
But the replacement file timer.c does not work Amazon-SE and
is also protected therefore with an CONFIG_SOC_AMAZON_SE :-)

This commit will re-activate the default vanilla kernel code
in gptu.c for Amazon-SE.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
[refresh patches and add same change for kernel 4.9]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-06-03 21:35:53 +02:00
Tino Reichardt
712ebe95f8 lantiq: add Allnet ALL0333CJ support
This patch adds support for the Allnet ADSL2+ Modem ALL0333CJ.

Specifications:
- SoC: Amazon-SE
- RAM: 16MB
- Storage: 4MB NOR FLash
- LEDs: Power, Ethernet, DSL (Sync)
- Buttons: 1x Reset Button (not currently supported, will be done)
- 1x Ethernet-Port: 1x RJ45 10/100BaseTX
- 1x WAN-Port: AnnexB & J, G.992.1(ADSL), G.992.3(ADSL2), G.992.5(ADSL2+)

Installation:
- can be done via telnet+tftp or serial console
- default passwords:
  - via telnet (root:admin)
  - via webinterface http://172.16.1.254:8235/ (admin:coolwhite)

Installation via telnet / tftp:
host: # your own host must have an tftpd daemon, then do this:
host: ifconfig eth0:172 172.16.1.1 up
host: # telnet to allnet modem, root:admin
host: telnet 172.16.1.254
modem: # kill this daemon, it spams your console
modem: killall dsl_cpe_control
modem: # change to some place in ram:
modem: cd /ramdisk/tftp_upload
modem: # load lede-lantiq-ase-ALL0333CJ-squashfs-sysupgrade.bin alias uImage
modem: tftp -g -r uImage 172.16.1.1
modem: # load these extra tools from your tftpd via:
modem: # source: https://github.com/mcmilk/uboot-utils/releases/download/0.1/mips32.tar.gz
modem: tftp -g -r flashwrite 172.16.1.1
modem: tftp -g -r fw_setenv 172.16.1.1
modem: tftp -g -r fw.conf 172.16.1.1
modem: ln -s fw_setenv fw_printenv
modem: chmod +x *
modem: ./fw_setenv disable_recovery y
modem: ./fw_setenv kernel_addr 0xb0010000
modem: ./flashwrite /dev/mtd/1 uImage 0

Installation via serial line at uboot:
uboot: # erase everything exept bootloader
uboot: protect on b0000000 +10000; protect on b03f0000 +10000
uboot: erase all
uboot: # get new firmware via tftp:
uboot: tftpboot 0x80100000 uImage; setenv kernel_addr 0xb0010000
uboot: # copy to flash:
uboot: cp.b 0x80100000 $(kernel_addr) $(filesize)
uboot: # disable proprietary image checking:
uboot: setenv disable_recovery=y; saveenv
uboot: # reboot with LEDE ;)
uboot: reset

Ethernet works as expected, DSL syncronization does not work properly
currently, I am working on this issue.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
2017-06-03 21:14:07 +02:00
Tino Reichardt
995ad357f9 lantiq: enable Netgear DGN1000B image build
Enable the building of Netgear DGN1000B images. I have an
example device here, but it was not tested currently.
Also WLAN and USB is not ready in the moment.

This is just the proper way, so that developing on this
device is known to be done in the near future.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
2017-06-03 21:14:07 +02:00
Tino Reichardt
9b321bc60d lantiq: add Amazon-SE subtarget
Re-Add support for the Amazon-SE subtarget on Lantiq.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
2017-06-03 21:14:07 +02:00
Tino Reichardt
1039e41dea lantiq: fix amazonse.dsti
Add missing memory@0 and localbus@0 sections.
Fix MEI and GPTU interrupt definitions.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
2017-06-03 21:14:07 +02:00
Helge Mader
63a20c95fd lantiq: modified lantiq_dsl.sh status output of latency
Signed-off-by: Helge Mader <ma@dev.tdt.de>
2017-06-02 22:49:45 +02:00
Helge Mader
666dd85b36 lantiq: fix lantiq_dsl.sh status and lucistat output
Signed-off-by: Helge Mader <ma@dev.tdt.de>
2017-06-02 22:49:33 +02:00
Martin Schiller
82f7fd7457 lantiq: pinctrl: xway: fix copy/paste error in xrx200_grps
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-05-29 09:51:19 +02:00
Hauke Mehrtens
0b17375931 kernel: update kernel 4.9 to 4.9.30
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-05-27 00:48:37 +02:00
Mathias Kresin
822ee54544 treewide: fix device tree path in scripts
The device tree is at /proc/device-tree/ without a base subdir.

Fixes: da472e5b30 ("treewide: access device tree from userspace via /proc/")

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-05-26 15:18:30 +02:00
Mathias Kresin
da472e5b30 treewide: access device tree from userspace via /proc/
Access the device tree via /proc/device-tree/ is the documented way to
access the properties. Everything else might not work in future.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-05-26 08:04:15 +02:00
Hauke Mehrtens
6153248052 lantiq: spi: double time out tolerance
The generic SPI code calculates how long the issued transfer would take
and adds 100ms in addition to the timeout as tolerance. On my 500 MHz
Lantiq Mips SoC I am getting timeouts from the SPI like this when the
system boots up:

m25p80 spi32766.4: SPI transfer timed out
blk_update_request: I/O error, dev mtdblock3, sector 2
SQUASHFS error: squashfs_read_data failed to read block 0x6e

After increasing the tolerance for the timeout to 200ms I haven't seen
these SPI transfer time outs any more.
The Lantiq SPI driver in use here has an extra work queue in between,
which gets triggered when the controller send the last word and the
hardware FIFOs used for reading and writing are only 8 words long.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-05-21 21:51:28 +02:00
Koen Vandeputte
e842e16f45 kernel: update kernel 4.9 to 4.9.29
- Refresh all patches
- Removed upstreamed
- Adapted 1

Compile tested on: bcm53xx, cns3xxx, imx6, lantiq
Run tested on: cns3xxx & imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[update from 4.9.28 to 4.9.29]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-05-21 21:51:22 +02:00
Kevin Darbyshire-Bryant
088e28772c kernel: update kernel 4.4 to version 4.4.69
Refresh patches. A number of patches have landed upstream & hence are no
longer required locally:

062-[1-6]-MIPS-* series
042-0004-mtd-bcm47xxpart-fix-parsing-first-block

Reintroduced lantiq/patches-4.4/0050-MIPS-Lantiq-Fix-cascaded-IRQ-setup
as it was incorrectly included upstream thus dropped from LEDE.
As it has now been reverted upstream it needs to be included again for
LEDE.

Run tested ar71xx Archer C7 v2 and lantiq.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
[update from 4.4.68 to 4.4.69]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-05-21 21:48:16 +02:00
Mathias Kresin
92a12c434c lantiq: fix avm fritz box mac addresses
It has been shown that the Fritz boxes have the correct mac address set
in the wireless calibration data/eeeprom. Use this mac address as base
for the ethernet and xdsl interface increment/decrement the address to
match the values stored in the tffs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-05-05 19:58:49 +02:00
Kevin Darbyshire-Bryant
42120bd7f3 lantiq: DGN3500: make switch LEDs blink on activity
Make switch port LEDs blink on activity as they do with stock firmware.

The u-boot loader sets suitable values in the LED control register that
unfortunately get blown away by the linux switch driver init.  Restore
that value by using driver 'initvals'.  0x0431 is the led control
register, the value 0x0960. Each nybble represents each LED's mode
(LED3,2,1,0) in this case OFF, 1000LINK+Activity, 100/10LINK+Activity,
OFF.  Only LED1&2 are physically present.

Enabling the blinkenlights exposed the fact that an RRCP packet was
being emitted by the switch on all ports every second.  Further initvals
copied from stock firmware's u-boot driver disabled this 'feature'.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-04-25 19:29:59 +02:00
Kevin Darbyshire-Bryant
e1d433b293 lantiq: improve DGN3500 LED definitions
Add red:internet led on gpio 30 previously claimed as missing.
Wifi led was claimed as blue however there are no blue leds on the
board at all.  Actually there are two wifi leds, green & amber so add
definitions for those.  Make the newly discovered green wifi led gpio
14 the default.

There is no amber power led on this board. The mention of the amber
power led in the manual means power red and power green at the same
time.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
[removed unnecessary aliases, add migration script]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-21 07:50:55 +02:00
Jo-Philipp Wich
aefa195749 kernel: update kernel 4.4 to 4.4.61
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-15 18:26:41 +02:00
Mathias Kresin
af9afa2811 lantiq: drop tffs patches
With the fritz-tools a userspace parser for the Tiny Flash File System
is available and makes the tffs2 kernel patches obsolete.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Mathias Kresin
136718a3d9 kernel: update MIPS pci fix to the accepted version
Fix the list order instead of adjusting the controller scan order.
Revert the former required changes to the lantiq PCIe driver.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Hauke Mehrtens
6c1657623f lantiq: update spi driver to upstream version
These patches are backported from upstream Linux kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-03-26 15:58:17 +02:00
Hauke Mehrtens
fb7ea71c15 kernel: update kernel 4.9 to 4.9.17
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-03-26 12:23:19 +02:00
Stefan Koch
322a7226d3 lantiq: vr9 fxs support: remove unused wdog declarations and initializers
modify 0152-lantiq-VPE.patch from
commit e0229a16b0 ("lantiq: added support for VPE1")

- remove wdog function declarations from header (asm/vpe.h)
- remove wdog command line init functions (vpe.c)

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2017-03-24 08:09:39 +01:00
Stefan Koch
c9783dd728 lantiq: vr9 fxs support: remove soft-watchdog functionality
- remove patched header (vpe.h) because kernel
  already provides one (asm/vpe.h)
- remove module softdog_vpe since watchdog functionality is unused
- remove module softdog_vpe from Makefile

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2017-03-24 08:09:39 +01:00
Mathias Kresin
e4c53c751e lantiq: fix pci with kernel 4.9
Commit 23dac14d058f ("MIPS: PCI: Use struct list_head lists") changed
the controller list from reverse to straight order. Use the last entry
in the controller list to get the fist conroller of the system.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-24 08:09:39 +01:00
Felix Fietkau
fd93f81fd8 lantiq: remove lantiq_board_model, it is unused
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-03-22 11:43:22 +01:00
Felix Fietkau
7e798dab56 lantiq: remove lantiq_board_name, use the generic function instead
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-03-22 11:43:21 +01:00
Felix Fietkau
aa95d6cd20 lantiq: move lantiq_board_detect() to 03_preinit_board.sh
It is only used there

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-03-22 11:43:21 +01:00
Oswald Buddenhagen
6a82f4006c lantiq: Shortcut non-pppoa interfaces in dsl_notify
No need to query 'up' and 'auto' when they are not going to be used.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2017-03-17 08:58:50 +01:00
Stefan Koch
443e67a459 lantiq: vr9 fxs support: fixed check of SMP state within vpe-mt.c
SMP state is generally affected by
- CONFIG_SMP build-time kernel configuration option and
- 'nosmp' runtime kernel commandline option

The SMP state within vpe-mt.c is determined by CONFIG_SMP option.
A runtime check is needed if VPE functionality
should be used with a kernel image that supports SMP.

This fix introduces a check for 'nosmp' command line option
if CONFIG_SMP kernel configuration option is enabled.

Note: This patch is needed to use lantiq FXS if CONFIG_MIPS_MT_SMP
(that activates CONFIG_SMP) is enabled within kernel configuration
and the 'nosmp' command line argument is given to disable SMP at runtime.

Without this patch CONFIG_MIPS_MT_SMP must be disabled before using FXS.
With this patch setting the 'nosmp' parameter is enough.

In general, concurrent usage of FXS and SMP
is incompatible and will cause kernel panics.

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2017-03-17 08:58:50 +01:00
Stefan Koch
d4203dfa55 lantiq: vr9 fxs support: fixed check of SMP state within vpe-mt.c
SMP state is generally affected by
- CONFIG_SMP build-time kernel configuration option and
- 'nosmp' runtime kernel commandline option

The SMP state within vpe-mt.c is determined by CONFIG_SMP option.
A runtime check is needed if VPE functionality
should be used with a kernel image that supports SMP.

This fix introduces a check for 'nosmp' command line option
if CONFIG_SMP kernel configuration option is enabled.

Note: This patch is needed to use lantiq FXS if CONFIG_MIPS_MT_SMP
(that activates CONFIG_SMP) is enabled within kernel configuration
and the 'nosmp' command line argument is given to disable SMP at runtime.

Without this patch CONFIG_MIPS_MT_SMP must be disabled before using FXS.
With this patch setting the 'nosmp' parameter is enough.

In general, concurrent usage of FXS and SMP
is incompatible and will cause kernel panics.

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2017-03-13 14:20:47 +01:00
Hauke Mehrtens
31c6452107 kernel: update kernel 4.4 to 4.4.53
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-03-12 15:46:02 +01:00
Hauke Mehrtens
9a065fcfec kernel: update kernel 4.9 to 4.9.14
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-03-12 15:45:50 +01:00
Mathias Kresin
73eb5c74a1 lantiq: use the P2812HNUF* wan port as wan
The port is labeled as wan and was only used as lan port because of the
"tx ring full" issues fixed with 8f02f7c.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-11 13:45:06 +01:00
Mathias Kresin
cd8b20931e lantiq: xrx200: use vlan for ethernet wan port
Using the lantiq,wan device tree property for one interface node and
the lantiq,switch device tree property for another interface node at
the same time was never intended/isn't supported at the moment.

The property is meant to be used in two phy operation mode where one
phy is assigned to an interface without lantiq,* device tree property
and the other phy is assigned to an interface with the lantiq,wan
device property to have two netdevs.

If both properties are used at the same time, the lantiq,wan interface
is shown as independent netdev but not able to operate independent. The
port needs to be managed via swconfig. These dependency is not obvious
and fooled already a lot of users.

Add a default WAN vlan for xrx200 devices having an ethernet WAN port
and remove the lantiq,wan device tree property. Leave it up to the user
to set the ethernet WAN port as default WAN interface or to use this
port as additional LAN port.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-11 13:45:00 +01:00
Mathias Kresin
715b066419 lantiq: fix broadcasts and vlans in two iface mode
The two phy operation mode where one phy is assigned to an interface
without lantiq,* device tree property and the other phy is assigned to
an interface with the lantiq,wan device property was broken with the
multicast package leaks between vlans fixes.

Move the multicast packages relevant portmap settings to the condition
which handles multicast packages for better readability.

Replace the priv->port_map based port_map only for the interface which
has the lantiq,switch device tree property set, to allow tagged
multicast packages in two phy mode where the lantiq,switch device tree
property isn't used.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-11 13:45:00 +01:00
Alex Maclean
6254a2028c lantiq: add support for the Alpha ASL56026
The ASL56026 is a VDSL2 router with dual 100mbit ethernet,
also known as the ECI B-FOCuS V-2FUb/I.

CPU: Lantiq XRX268 v1.1 at 333MHz
Modem: Lantiq VRX208
RAM: 32MiB DDR2 at 167MHz
Flash: 8MiB NOR, Spansion S29GL064N90TF04

UART is at JP1:
Pin 1 TX
Pin 2 GND
Pin 3 +3.3V
Pin 4 NC
Pin 5 RX

Boot selection pins are exposed via several resistor jumpers:
boot_sel0 is at J15, on the rear of the board. Default is high.
boot_sel1 is at J3, next to the flash - it is also the flash CE# pin. Default is low.
boot_sel2 is at J12, directly below the SoC. Default is low.
boot_sel3 is at J16, on the rear of the board. Default is low.

The boot_sel pins should never be shorted, the jumper must be moved or
a lower value resistor used to change the pull (existing resistors are 4k7, 1k should work)

To install with the stock bootloader you must break the built in image selection process
which uses at least the following vars: f_upgrade_addr, f_upgrade2_addr, loadaddr, kernel_addr, activeregion, committedregion
This is done by setting loadaddr and both f_upgrade_addr vars to the same address:

	VR9 # setenv loadaddr 0xB0040000
	VR9 # setenv f_upgrade_addr 0xB0040000
	VR9 # setenv f_upgrade2_addr 0xB0040000
	VR9 # saveenv

Then flash the firmware image:

	VR9 # tftpboot 0x81000000 lede-lantiq-xrx200-ASL56026-squashfs-sysupgrade.bin
	VR9 # erase B0040000 +${filesize}
	VR9 # cp.b 0x81000000 0xB0040000 ${filesize}

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2017-03-08 19:06:04 +01:00
Alex Maclean
a9b74f9f81 lantiq: clarify VG3503J name
Append the ECI model to the device name, to avoid confusion with the
older model.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2017-03-08 19:06:04 +01:00
Felix Fietkau
891ed144ff lantiq: select kmod-mt7603 instead of kmod-mt76 for WBMR-300HPD
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-27 14:20:14 +01:00
Felix Fietkau
735a27df81 lantiq: fix broadcast packets leaking on the wrong vlan on xrx200
The ethernet driver uses a port map override via special tag to control
the ports on which multicast packets are sent. This was added to work
around an issue in the switch that was occasionally leaking packets onto
the wrong vlan.
Unfortunately the change had some leftover lines that were overwrting
the port map with a list of all ports, thus always leaking packets onto
the wront vlan.

Fix this by only enabling the override with the VLAN port map and only
if a matching VLAN port map was actually found

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-23 12:58:49 +01:00
Mathias Kresin
bececcce86 lantiq: fix warning if ltq_atm modules are missing
Fixes the following warning on first boot if the ltq_atm modules are
not included in the image:

  ls: /lib/modules/4.4.49/ltq_atm*: No such file or directory

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:51:31 +01:00
Mathias Kresin
e88b36f4be lantiq: set the internet led interface according to wan interface
Use the nas0 interface for the netdev trigger as default. Use the ptm0
interface for xRX200 boards to match the default wan interface set in
02_network.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:51:31 +01:00
Mathias Kresin
044a4eafd5 lantiq: introduce lantiq_is_vdsl_system
Move the code to check if the current system is a system with vdsl
support to a dedicate function to make it reusable.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:51:31 +01:00
Mathias Kresin
cfd16ecc48 lantiq: fix ARV7519RW22 switch port indexing
Fixes FS#454.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:51:31 +01:00
Martin Blumenstingl
70395ae8cb lantiq: fix patching the wifi mac address on BTHOMEHUBV3A
The firmware hotplug script tries to read the mac address from a
partition with the name "uboot-env" which does not exist (instead it's
name is uboot_env). This broke calculation of the new checksum (after
patching the mac address) which resulted in ath9k refusing to use the
EEPROM data.

The original error reported by ath9k was:
PCI: Enabling device 0000:00:0e.0 (0000 -> 0002)
ath: phy0: Bad EEPROM checksum 0x2523
ath: phy0: Unable to initialize hardware; initialization status: -22
ath9k 0000:00:0e.0: Failed to initialize device

Fixes: a20616863d ("lantiq: use ath9k device tree bindings
binding/owl-loader")

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2017-02-13 07:57:15 +01:00
Hauke Mehrtens
136d4a0656 lantiq: fix section mismatch in PCIe driver
Do not put the probe function into the __init section, but use the normal
section. This fixes a section mismatch warning.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-02-12 01:29:41 +01:00
Hauke Mehrtens
863e79f8d5 lantiq: add support for kernel 4.9
The following patches were dropped because they are already applied
upstream:
0012-pinctrl-lantiq-fix-up-pinmux.patch
0013-MTD-lantiq-xway-fix-invalid-operator.patch
0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch
0015-MTD-lantiq-xway-remove-endless-loop.patch
0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch
0017-MTD-xway-fix-nand-locking.patch
0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch
0045-pinctrl-lantiq-Fix-GPIO-Setup-of-GPIO-Port3.patch
0046-pinctrl-lantiq-2-pins-have-the-wrong-mux-list.patch
0047-irq-fixes.patch
0047-mtd-plat-nand-pass-of-node.patch
0060-usb-dwc2-Add-support-for-Lantiq-ARX-and-XRX-SoCs.patch
0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch
0121-MIPS-lantiq-make-it-possible-to-build-in-no-device-t.patch
122-MIPS-store-the-appended-dtb-address-in-a-variable.patch

The PHY driver was reduced to the code adding the LED configuration,
the rest is already upstream:
0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch

The SPI driver was replaced with the version pending for upstream
inclusion:
New driver:
0090-spi-add-transfer_status-callback.patch
0091-spi-lantiq-ssc-add-support-for-Lantiq-SSC-SPI-controller.patch
Old driver:
0100-spi-add-support-for-Lantiq-SPI-controller.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-02-11 23:44:13 +01:00
Mathias Kresin
a0888ecbaf generic: rtl8366rb: fix compatible string
Use a vendor prefix as it has to be for all not core driver. Update the
compatible string in the device tree files accordingly.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-03 00:46:03 +01:00
Felix Fietkau
71e86199ff lantiq: enable SMP for XRX200
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 17:49:01 +01:00
Alexander Couzens
2711b94932 lantiq: fix unaligned access in xrx200_poll_rx()
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2017-01-30 10:14:14 +01:00
Mathias Kresin
271db9f18e lantiq: fix brnImage signature for the VGV7510KW22BRN images
The VGV7510KW22BRN and VGV7519BRN do not have the same brnImage
signature. It was accidentally changed with ba42c1d ("lantiq: un-macro
the image building code").

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-01-28 12:44:41 +01:00
Felix Fietkau
ad85464f11 lantiq: remove CPU_TYPE:=mips32r2, it gets overwritten anyway
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 13:33:45 +01:00
Felix Fietkau
bfdc56d3a2 build: remove mips16 feature flag from target makefiles
It can be implicitly derived from the MIPS32 revision support in the
kernel configuration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 13:15:01 +01:00
Felix Fietkau
254ccf9f4c lantiq: fix an ethernet stability issue triggered by receving packets during boot
Disabling ethernet during reboot (only to enable it again when the
ethernet driver attaches) can put the chip into a faulty state where it
corrupts the header of all incoming packets.

This happens if packets arrive during the time window where the core is
disabled, and it can be easily reproduced by rebooting while sending a
flood ping to the broadcast address.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-19 14:25:44 +01:00
Felix Fietkau
24c06e2481 lantiq: fix spurious irq storm
Since the MIPS IRQ stack patches, lantiq devices were emitting a storm
of messages like this:

[  567.872172] Spurious IRQ: CAUSE=0x1100c300

Fix this by reworking the IRQ dispatch code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-19 12:33:15 +01:00
Felix Fietkau
1708644f19 kernel: backport MIPS changes introducing a separate IRQ stack
Prevents crashes when IRQs arrive when the current kernel stack context
already contains deeply nested function calls, e.g. when stacking lots
of network devices on top of each other

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-15 18:25:54 +01:00
Hauke Mehrtens
5b089e45a6 kernel: update 4.4 kernel to 4.4.42
Refresh patches on all 4.4 supported platforms.
Compile & run tested: lantiq/xrx200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-13 23:05:36 +01:00
Hauke Mehrtens
f036956e1f lantiq: update USB controller initialization
This adds USB initialization fixes for Danube, Amazon SE and xrx300 and
should fix the clock on at least Danube which hopefully closes FS#351.

The xrx200 usb driver now uses more memory for the dwc2 fifos, this was
increased in the chip compared to ar9.

This is based in part on the vendor documentation and the vendor code
base as a reference.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-09 23:25:34 +01:00
Hauke Mehrtens
2dac67464d lantiq: fix dma locking problems with SMP
The DMA controller used only local locks, which will not lock the
section against other CPUs, fix this by using spin locks.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-09 20:23:28 +01:00
Felix Fietkau
018d80007e kernel: remove ubifs xz decompression support
It has been unused, and less useful than squashfs for cases where flash
space usage matters.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-09 14:07:06 +01:00
Hauke Mehrtens
8f0dc92afd lantiq: fix console print for additional boards
I missed 3 boards in this commit:
commit d8dde8c517
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Wed Jan 4 21:53:22 2017 +0100

    lantiq: fix console print

Add bootargs parameters for ARV4525PW, ARV7506PW11 and ARV8539PW22
again.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-06 23:00:02 +01:00
Hauke Mehrtens
d8dde8c517 lantiq: fix console print
The boot loader of many boards provides a kernel boot argument with a
broken console parameter to the kernel. This will be taken before the
stdout-path defined in device tree and the serial will not work on this
board. Multiple boards are affected by this problem, so revert this
patch for all boards. Later we can remove the boot arguments from the
device tree again, after the individual board was checked to work.

This partly reverts this commit:
commit 4995c64857
Author: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date:   Sun Dec 11 21:55:00 2016 +0100

    lantiq: specify console using stdout-path instead of cmdline argument

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-05 23:10:44 +01:00
John Crispin
9998bc5ef7 lantiq: fix falcon build
The following commit changed the build templates name but forgot to
update the TARGET_DEVICES variable properly.

commit f9226158be (lantiq: rename EASY98000 to EASY98000NOR)

Signed-off-by: John Crispin <john@phrozen.org>
2016-12-25 09:52:11 +01:00
Hauke Mehrtens
f9226158be lantiq: rename EASY98000 to EASY98000NOR
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-12-24 14:55:45 +01:00
Mathias Kresin
ea9b71e5b1 lantiq: drop the FRITZ7360SL led-dsl alias
The power LED can not be used for indicating the xDSL line state and
the in system (boot) state at the same time in LEDE.  As soon as the
xDSL Line goes down, the power LED is switched off.

During xDSL handshake the power led would blink with the same or a
similar pattern as during boot.

Both might confuse users.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-24 10:03:38 +01:00
Mathias Kresin
7dd42d610d lantiq: add FRITZ7360SL phy reset gpios
Due to a hardware bug of Atheros 8030 phys, the driver need to reset
the phys on link state change.

Use the correct compatible string for the at903x phys connected to
switch port 0 and 1.

Fix the pinmux of the gpio lines connected to the reset pin of the phys
and define the reset-pins to let the driver do the fixups.

Fixes FS#343

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-24 10:03:38 +01:00
Mathias Kresin
9aa420b00e lantiq: fix DGN1000B boot status leds
The alias node should not be a child of the chosen node.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-24 10:03:38 +01:00
Martin Blumenstingl
6b94234a65 lantiq: remove "init" kernel command line parameter from bootargs
/etc/preinit has been the default init-script for a very long time (at
least since Linux 2.6.30 in OpenWrt). Remove the kernel command line
"init" parameter to get rid of duplicate and inconsistent definitions
of this parameter (some boards, like FRITZ3370 for example did not use
it at all, while it's just copy and paste on others).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-12-12 09:57:40 +01:00
Martin Blumenstingl
4995c64857 lantiq: specify console using stdout-path instead of cmdline argument
Use devicetree's /chosen/stdout-path instead of the kernel command line
(embedded in the .dts-files) to specify the serial console. Using the
chosen node is recommended on devicetree based platforms.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-12-12 09:57:40 +01:00
Hauke Mehrtens
7c47f43fe6 lantiq: falcon: remove bootargs-append
This attribute is not evaluated any more and the boot loader on these
reference boards does not provide a broken root= or console= parameter.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-12-10 16:08:06 +01:00
Mathias Kresin
ee5a6c1041 lantiq: simplify ath9k eeprom extraction script
Add an extra function to patch the mac and fixup the checksum
afterwards. Calculate the checksum position automatically. The offset
to the mac address is the same for all checksum protected EEPROMs.

No EEPROM requires a byte swapped mac address. The mac byte swap code
was required due to an bug in the script that is now fixed.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-08 19:36:53 +01:00
Martin Blumenstingl
afa3709266 lantiq: fix ath9k EEPROM data swapping for some devices
The EEPROM data in the flash of the ARV7518PW, ARV8539PW22,
BTHOMEHUBV2B and BTHOMEHUBV3A is stored byte-swapped (swab16), meaning
that for example the ath9k base_eep_header fields "version" (high and
low byte), "opCapFlags" and "eepMisc" are swapped (the latter ones are
just 1 byte wide, thus their position is swapped).

The old "ath,eep-endian" property enabled the corresponding swapping
logic in the ath9k driver (swab16 in ath9k_hw_nvram_swap_data, which is
based on the magic bytes in the EEPROM data which have nothing to do
with the calibration data - thus this logic should not be used
anymore).
Since we have switched to the upstream ath9k devicetree bindings there
is no binding anymore which enables swab16 in ath9k (as this logic is
not recommended anymore as explained above), leading to ath9k
initialization errors:
ath: phy0: Bad EEPROM VER 0x0001 or REV 0x00e0
(this shows that the version field is swapped, expected values are VER
0x000E and REV 0x0001)

Swapping the ath9k calibration data when extracting it from the flash
fixes the devices listed above (all other devices do not require
additional swapping, since the position of the fields is already as
expected by ath9k). This allows ath9k to read the version correctly
again, as well as the more important "eepmisc" field (which is used for
determining whether the data inside the EEPROM is Big or Little Endian
which is required to parse the EEPROM contents correctly).

Fixes: a20616863d ("lantiq: use ath9k device tree bindings
binding/owl-loader")

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-12-08 19:36:22 +01:00
Álvaro Fernández Rojas
758ef7aa99 kernel: bump to 4.4.36
Refresh patches on all 4.4 supported platforms.
Compile & run tested: brcm2708/bcm2710 - Raspberry Pi 3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-12-04 12:31:30 +01:00
Mathias Kresin
d9d838bc97 lantiq: fix image validation errors
The boards did not have the name set that is expected during metadata
validation on sysupgrade.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-04 07:03:17 +01:00
Kevin Darbyshire-Bryant
102cb4742c kernel: bump to 4.4.35
Refresh patches on all 4.4 supported platforms.

077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch
removed as now upstream.

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-11-29 21:12:08 +01:00
Mathias Kresin
c0e66478b5 lantiq: drop obsolete patch
ifxhcd never had roothub support but since kernel 3.x it was expected
that a roothub always exists.

The patched fixed a null pointer deref in the usb subsystem because of
the missing roothub.

Since ifxhcd is gone, this whole patch isn't required any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00
Mathias Kresin
0e34459e6b lantiq: use BT HomeHub 5 Type A OEM partition layout
This way the on nand bad block table is preserved and used. Add support
for nand OOB ECC checksums as well. It should fix all reported ubi
errors, which were all related to bad nand blocks and a purged on nand
bad block table.

The existing ubi partition will be reused, which eliminates the need
to touch the caldata during initial install. The BT u-boot has support
for loading a kernel from an ubi volume. It isn't necessary any longer
to replace the BT u-boot with a custom compiled one to use LEDE.

It is required to restore the BT Firmware and install LEDE from scratch
to switch to the new partition layout.

An image for restoring the BT firmware and installing LEDE is provided
at https://github.com/mkresin/lede/releases.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00
Mathias Kresin
860210c373 lantiq: backport kernel patch to pass of node to nand_dt_init
Backport upstream commit a61ae81a1907af1987ad4c77300508327bc48b23.

The actually purpose of the patch was to do some cleanup. As a side
effect of this cleanup, the device node is now passed to nand_dt_init.

This allows to use the common nand device tree properties

 - nand-bus-width
 - nand-on-flash-bbt
 - nand-ecc-mode
 - nand-ecc-step-size
 - nand-ecc-strength

for the plat_nand driver.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00
Mathias Kresin
62a347b1d9 lantiq: drop ath9k device tree binding & ath9k pci fixup
Due to the addition of the bindings to the ath9k driver, this code
isn't used any longer. The fixup is now done by the owloader.

Rename the ath_eep.c file to ath5k_eep.c to indicate that this files
includes ath5k related code only.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00
Martin Blumenstingl
a20616863d lantiq: use ath9k device tree bindings binding/owl-loader
This moves the extraction of the eeprom/calibration data to a hotplug
firmware script. Additionally it modifies all .dts to configure ath9k
directly from within the .dts.

The owl-loader approach enables support on devices with exotic eeprom
data locations (such as unaligned positions on the flash or data
inside an UBI volume).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[add ath9k caldata mac address patcher]
[fixes DGN3500 wifi mac]
[fixes BTHOMEHUBV3A wifi mac]
[set invalid mac for BTHOMEHUB2B, FRITZ3370, FRITZ7320 & FRITZ7360SL to restore previous random mac behavior]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00
Hauke Mehrtens
9371542783 lantiq: add Falcon support
This adds support for the Intel Falcon SoC for GPON.

Support for the Falcon SoC was removed in commit c821836395 svn rev:
40392 from OpenWrt, this commit adds it again.

This patch adds a new subtarget for the Falcon SoC, but it still misses
all the drivers needed to control the GPON part.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-11-27 17:40:20 +01:00
Mathias Kresin
5cdbc86329 lantiq: add swconfig to the default packages
The DEVICE_PACKAGES are not included in the initramfs image in case
TARGET_PER_DEVICE_ROOTFS is set. This might produces initramfs images
with a not working network configuration because of a missing swconfig.

Workaround the issues by adding the essential swconfig package to the
default packages selection and deselect swconfig for boards not having
swconfig included before via device packages.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:34:23 +01:00
Mathias Kresin
18c64f41c7 treewide: fix button keys codes used in dts
Use keycodes that matches the intended use case based on the label.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:34:23 +01:00
Martin Blumenstingl
d76ee5bfac lantiq: specify the PCIe controller's interrupt, size and address cells
This allows adding devices to the PCIe controller in the .dts files.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-11-26 22:39:27 +01:00
Martin Blumenstingl
79741dc379 lantiq: Register the device tree node with the PCIe controller
This allows specifying PCI devices as children of the PCIe controller
node to pass configuration data to them.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-11-26 22:39:26 +01:00
Eddi De Pieri
d596c21ebd lantiq: write protect vgv7519 u-boot and u-boot-env partitions
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-23 10:18:19 +01:00
Felix Fietkau
c2582f58dc lantiq: add missing metadata for tp-link images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-21 16:13:55 +01:00
Ben Mulvihill
ffd7c15500 lantiq: use dwc2 by default on danube
Use dwc2 by default on all danube boards.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-11-21 11:04:17 +01:00
Ben Mulvihill
6f60926bab lantiq: dwc2 parameters for danube
Parameters for dwc2 on lantiq.

A separate dwc2_core_params structure is defined for danube because danube
fifo sizes are large enough to be autodetected. This is not the case on
arx and vrx.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-11-21 11:04:12 +01:00
Ben Mulvihill
5c06a31e23 lantiq: device tree bindings for dwc2 on danube
Device tree binding for dwc2 usb driver on danube.
Leave old ifxhcd-danube driver as an alternative.

Also adds dr_mode = "host" to eliminate warning on boot.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-11-21 11:04:05 +01:00
Ben Mulvihill
c82d5b30e1 lantiq: initialise dwc2 on danube
Initialise dwc2 usb driver on danube boards as well as ar9 and vr9.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-11-21 11:03:59 +01:00
Felix Fietkau
16adf49620 lantiq: remove device specific sysupgrade image checks
Replaced by image metadata

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-20 20:08:48 +01:00
Felix Fietkau
7738227321 lantiq: run append-metadata before check-size to fix build errors
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-19 14:19:27 +01:00
Felix Fietkau
be296745f8 lantiq: append metadata to images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-19 11:24:10 +01:00
Stijn Tintel
8e47655d4e kernel: update kernel 4.4 to version 4.4.32
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-11-16 17:31:29 +01:00
dpeddi
8565630e14 lantiq: add tapi/vmmc to VGV7519 defaults
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-16 10:57:48 +01:00
dpeddi
0ce929228a lantiq: enable VMMC for VGV7519
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-16 10:57:48 +01:00
Eddi De Pieri
904a6751b6 lantiq: add tapi/vmmc to VGV7510KW22 defaults
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-16 10:57:14 +01:00
Eddi De Pieri
fe9a757984 lantiq: enable VMMC for VGV7510KW22
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-16 10:57:14 +01:00
Felix Fietkau
ecab500232 lantiq: fix port indexing for WBMR-300
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-14 20:03:02 +01:00
Mathias Kresin
2b55c83e68 treewide: dts: use keycode defines from input dt-binding
All compiled device tree files not mentioned are binary identical to the
former ones.

Fix the obvious decimal/hex confusion for the power key of ramips/M2M.dts.

Due to the include of the input binding header, the BTN_* node names in:

  - ramips/GL-MT300A.dts
  - ramips/GL-MT300N.dts
  - ramips/GL-MT750.dts
  - ramips/Timecloud.dts

will be changed by the compiler to the numerical equivalent.

Move the binding include of lantiq boards to the file where they are
used the first time to hint the user where the values do come from.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-13 07:07:58 +01:00
Eddi De Pieri
07bc0d6089 lantiq: fix pci issue if mem kernel parameter is used
As specified by e0229a16b0 if the VR9
based router provides FXS ports and they should enabled then the
following must added to the kernel command line:

  mem=[TOTALMEMSIZE-2M] vpe1_load_addr=ADDRESS vpe1_mem=2M

By adding mem= parameter a pci device stop working correctly. The
pci-lantiq.c module use get_num_physpages() to compute dynamically the
memory amount of the board.

The mem= make the module to compute in the wrong way the BAR11MASK, so
in this situation the mask is misaligned with the dma area that the
hardware expects.

This patch is a port of what legacy ifxmips_pci.c does.

Signed-off-by: Eddi De Pieri <eddi@depieri.net>
2016-11-12 21:04:15 +01:00
Mathias Kresin
21d8de78dc lantiq: drop ralink eeprom handling function
The eeprom handling function from the rt2x00 driver is used and this
code is obsolete.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-09 20:02:18 +01:00
Mathias Kresin
7fd5171a34 lantiq: use the device tree bindings from rt2x00 driver
Set a device specific wireless mac address for ARV7506PW11, VGV7519 and
VGV7510KW22. The one from the EEPROM is a generic one and the same on
all boards.

Use the wifi@0,0 label and the pci0,0 compatible string for the
ARV7519PW and ARV7525PW since the pci vendor and device id is unknown.
It should work anyway since the compatible string isn't evaluated
(yet).

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-09 20:02:18 +01:00
Mathias Kresin
13208e89d0 lantiq: fix VGV7519 and VGV7510KW22 mac addresses
The VGV7510KW22 stock firmware uses the following mac-addresses:

lan      (ifno 1): AA:BB:CC:DD:EE:60
wlan     (ifno 2): AA:BB:CC:DD:EE:61
atm0     (ifno 3): AA:BB:CC:DD:EE:62
atm1/wan (ifno 4): AA:BB:CC:DD:EE:63

The VGV7519 stock firmware uses the following mac-addresses:

lan:  AA:BB:CC:DD:EE:EF
wlan: AA:BB:CC:DD:EE:EF
wan:  AA:BB:CC:DD:EE:EE

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-09 20:02:18 +01:00
Mathias Kresin
3db1a5c8fa lantiq: use external pci clock on ARV7506PW11
Fixes a ralink wireless driver related kernel crash as soon as a lot of
data is tranfered via wireless.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-03 19:00:28 +01:00
Mathias Kresin
112cf52d45 lantiq: cleanup dts files
- remove not existing properties
- remove properties having the same values as the included dtsi
- remove nodes which are disabled in the included dtsi and not enabled
  in dts
- replace the deprecated pinctrl-* compatible strings
- use the same labels for nodes as the included dtsi
- move common used vr9 pci properties to vr9.dtsi
- remove the unused stp node from HomeHub 2B devcie tree source file
- fix spaces vs. tabs and remove superfluous linebreaks

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-03 19:00:28 +01:00
Stijn Segers
2f2ea7b44c kernel: update kernel 4.4 to version 4.4.30
This patch bumps the 4.4 kernel from .28 to .30 and refreshes the patches.
Compile-tested on ar71xx, x86/64, ramips/mt7621, brcm47xx and kirkwood.

Run-tested on ar71xx & ramips/mt7621, brcm47xx and kirkwood (last two confirmed
by P. Wassi).

Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
2016-11-02 10:25:44 +01:00
Stefan Koch
7929ab60bf lantiq: add vpe/watchdog modules to kernel
(required not-distributable firmware blob - dump it by yourself from original firmware)

Signed-off-by: Eddi De Pieri <eddi@depieri.net>

(cherry picked from commit 064f467264c5c9b6eca0bb96b587f9412b770cc5)
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2016-10-31 16:51:33 +01:00
Stefan Koch
4552bf158c lantiq: vpe softdog
(required not-distributable firmware blob - dump it by yourself from original firmware)

Signed-off-by: Eddi De Pieri <eddi@depieri.net>

(cherry picked from commit eb0ce57270d0b5b81b224b9336cf54707497eede)

Modified after cherry-pick:
obj in Makefile

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2016-10-31 16:51:33 +01:00
Stefan Koch
e0229a16b0 lantiq: added support for VPE1
Created minimal patchset based on BB rev 43158 by Eddi De Pieri
14.07/openwrt.git 79472c025449efae9310defad0d3a73cff14d756

If the VR9 based router provides FXS ports and they shoud enabled then
the following must added to the kernel command line:
mem=[TOTALMEMSIZE-2M] vpe1_load_addr=ADDRESS vpe1_mem=2M maxvpes=1
maxtcs=1

To use FXS 2M of RAM are needed for the VPE firmware. The size is set
by vpe1_mem.
The available RAM must be reduced by this size using the mem argument.
A correct load address (example 0x83e00000) for the firmware must be given,
too.

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2016-10-31 16:51:33 +01:00
Stefan Koch
01ab5209c0 lantiq: modify vr9.dts to support vmmc
(required not-distributable firmware blob - dump it by yourself from original firmware)

Signed-off-by: Eddi De Pieri <eddi@depieri.net>

(cherry picked from commit 8d924d43c0ea6839a3a33e54982e8da48b736001)

Modified after cherry-pick:
compatible attribute

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2016-10-31 16:51:32 +01:00
Stefan Koch
b760afa09a lantiq: danube fxs bugfix: changed compatible attribute of vmmc
This bugfix enables FXS support on dabube based devices.
Changed "compatible" attribute from "vmmc" to "vmmc-xway".
The vmmc driver uses "vmmc-xway".

Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
2016-10-26 12:37:46 +02:00
Mathias Kresin
3c5a8a2cbc lantiq: enable cpu temp driver for all vr9 boards
Only present on v1.2 vr9 SoCs but the driver takes care to not load on
boards having a v1.1 SoC.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:06 +02:00
Mathias Kresin
23e3314cad lantiq: fix thermal sensors driver
Read the temperature including the decimale place from the CGU_GPHY1_CR
register.

Decrement the temperature read from the register by 38.0 degree celsius.
The temperature range of the sensor is -38.0 to +154 °C and the register
value 0 is equal to -38.0 °C. This fixes the report of unrealistic
temperatures as seen on all tested boards.

Give the SoC a few milliseconds to get the first temperature value. On
some rare occasions there is no temperature value in the register when
read the first time after activation. This leads to a reported
temperature of -38.0 °C on boot.

Only version 1.2 of the vr9 SoC has a temperature sensor. Add a check
to make sure the driver doesn't load on v1.1 vr9 SoCs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:06 +02:00
Andreas Eberlein
eba84bee4c lantiq: Sanitize device tree files
The device tree file of ARV752DPW uses numbers/hex values for gpio states and input event codes.

This cleans it up and uses the available macros from header files. This way the functions are easier to read and comprehend.

Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
[sanitize all device tree files]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:04 +02:00
Andreas Eberlein
72d12672de lantiq: Fix buttons for ARV752DPW
The GPIO for reset switch is wrong in definition. Further the key codes for the two additional buttons are ineffective.

Both is fixed here.

Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
2016-10-19 19:06:15 +02:00
Mathias Kresin
fa14124616 lantiq: use new build code for DGN3500
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Mathias Kresin
1f7a03a706 lantiq: drop lzma-loader
It isn't used any more.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Mathias Kresin
17094e9e64 lantiq: rework VG3503J image
Use the new image build code and remove the lzma loader. The lzma
loader was used to cheat the signature validation of the bootloader and
I found another way to do this.

To migrate boards already using LEDE/OpenWrt to the new image the
following steps need to be done once:

  VR9 # run reset_uboot_config
  VR9 # reset
  VR9 # setenv ethaddr AA:BB:CC:DD:EE:FF
  VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
  VR9 # saveenv
  VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
  VR9 # erase 0xb0020000 $(filesize)
  VR9 # cp.b 0x81000000 0xb0020000 $(filesize)

The mac address is printed on the label at the bottom of the case.

The following steps are need to be done during first install:

  VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
  VR9 # saveenv
  VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
  VR9 # erase 0xb0020000 $(filesize)
  VR9 # cp.b 0x81000000 0xb0020000 $(filesize)

The image uses the uImage firmware splitter now instead of hardcoded
kernel and rootfs partitions. The firmware partition size was extended
to use flash space that was reserved for partitions required only by
the ECI firmware.

Due to the changes an upgrade to a later LEDE revision from a running
LEDE is supported now.

A default switch config was added and the device uses the same MAC
addresses as the ECI firmware now instead of the same for all VG3503J.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Rafał Miłecki
0658527e1e switch to the new usbport LED trigger
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-19 12:09:45 +02:00
Mathias Kresin
36afaae847 lantiq: use wpad-mini for WBMR boards
The WBMR boards are the only ones in the whole tree selecting the wpad
and hostapd-utils package by default.

Remove the wps uci-default script as well, there is no obvious reason
why the wps config need to be set only for this board.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
335ccddc10 lantiq: fix ARV452CQW keys
Fix the typo in the gpio-keys-polled compatible string.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
0547b3ca64 lantiq: fix lantiq-dsl output spam
In case the adsl/vdsl service is disabled intentional, the output is
cluttered with the following message multiple times if the status of
the dsl line is queried:

  killall: vdsl_cpe_control: no process killed

If the dsl line status is queried by LuCI, the logfile is spammed with
the message.

Fix the issue by using killall in quite mode. In quite mode killall
still returns a non-zero value if the to be killed process can not be
found so that existing logic based on the return value still works.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-11 09:31:57 +02:00
Mathias Kresin
993ca3b747 lantiq: fix BTHOMEHUBV2B default packages
Due to the introduced double whitespace the default package selection
isn't applied. This leads to errors like a not working networking
because of a missing swconfig binary.

Fixes FS#208.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-06 22:58:50 +02:00
Mathias Kresin
116adaa3a4 lantiq: fixup last commits
Revert the rename of unrelated device tree nodes. Rename the missed
leds of the Speedport W 504V Typ A.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-05 20:26:35 +02:00
Mathias Kresin
7659f9ad9e lantiq: fix usb leds/trigger
Add USB led aliases to boards having an led which is meant to be used
as USB led according to the manuals.

Remove the kmod-ledtrig-usbdev from the default package selection for
boards not having an USB led. Add the kmod-ledtrig-usbdev to boards
where it is missing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-05 19:23:23 +02:00
Mathias Kresin
e07c80dfc8 lantiq: use aliases device tree node for leds
The chosen node is clearly the wrong place for aliases.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-05 19:23:23 +02:00
Mathias Kresin
8b639410d1 lantiq: cleanup led handling functions
Use a more generic name for the lantiq_get_dt_led_chosen function.

Drop the lantiq_is_dt_led_chosen function. The lantiq_get_dt_led
function can be used to achieve the same.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-05 19:23:23 +02:00
Mathias Kresin
dbb13a81b9 lantiq: board.d: apply alphabetical order to led file
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-05 19:23:23 +02:00
Hauke Mehrtens
8370b9eede ntiq: make i2c-lantiqi driver compile again
It missed some changes needed for kernel 4.4. This is only used by the
Falcon SoC and not for the xRX SoCs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-10-03 00:13:11 +02:00
Álvaro Fernández Rojas
7d559169c5 kernel: update to v4.4.23
Refresh patches for all targets that support kernel 4.4.
compile/run-tested on brcm2708/bcm2710 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-30 20:08:21 +02:00
Jo-Philipp Wich
1c09849f6c treewide: remove bad local shell variable declarations
Local variable declarations outside of functions are illegal since the Busybox
update to v1.25.0, therfore remove them from the appropriate places.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-09-24 14:38:20 +02:00
Martin Blumenstingl
e9de6e5203 lantiq: do not "local" variables outside of a function
Older busybox versions allowed using the local keyword outside of
functions, whereas 1.25.0 (which was introduced in 06fa1c46fc) do not
allow this anymore (leading to the following error when executing the
script: "file: local: line nn: not in a function").

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-09-24 01:17:17 +02:00
Álvaro Fernández Rojas
d14c28fc80 kernel: update kernel 4.4 to version 4.4.20
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 08:10:55 +02:00
Daniel Gimpelevich
993ad29359 kernel: Backport pending appended DTB handling patches
Backport patches from upstream Linux kernel which are making the
kernel stores the appended dtb not in the same resisters as defined in
the UHI specification, use a separate variable on MIPS.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[some modifications]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-09-12 22:36:55 +02:00
Mathias Kresin
c1578d4fc9 cleanup ucidef_set_interface* usage
- quote the interface name
- remove call of not existing function
- remove the proto if it's the default proto

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:32:25 +02:00
Mathias Kresin
92eaf27c62 use immediate set in target Makefiles
No functional change, it's just to have the same style everywhere. This
way I don't need to use any regex magic to extract all subtargets for
compile tests.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:30:38 +02:00
Mathias Kresin
64d72880bc lantiq: board.d: apply alphabetical order
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:28:38 +02:00
Mathias Kresin
96f6bd501a lantiq: board.d: cleanup default switch config
Add or fix the physical port number of switch ports to allow LuCI to
display the ports in physical order.

Remove the physical port number in case bridge port and physical port
order are the same.

Reorder the ucidef_add_switch parameter to be aligned with the switch
port number.

Remove board settings which are covered by the default case and remove
comments.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:28:38 +02:00
Mathias Kresin
7d02e94e41 lantiq: enable cpu temp driver for more tested boards
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:28:38 +02:00
Mathias Kresin
e7ec7a08aa image: use k as unit suffix for blocksize
Use k as unit suffix for kilobyte to have a the same unit regardless of
the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-04 08:56:05 +02:00
Mathias Kresin
6fdc527793 lantiq: fix ath5k EEPROM loading
With 12fe4b5798 I switched the ath5k
eeprom extraction to an alternate code path. Unfortunately this code
seams to be broken since ages and broke the ath5k EEPROM extraction.

Reported-by: Mohammed Berdai <mohammed.berdai@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: John Crispin <john@phrozen.org>
2016-08-24 19:30:52 +02:00
Jonas Gorski
46b88b56bf lantiq: switch from 34k to 24k
GCC treats 24kc and 34kc exactly the same and will generate identical
code, so there is no need to tune to 34kc instead of 24kc.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-23 11:55:32 +02:00
Martin Blumenstingl
c6164d9610 lantiq: fix building AVM/EVA sysupgrade images on NOR devices
Device/AVM unconditionally inherits Device/NAND, which changes the
sysupgrade image to sysupgrade-tar (instead of a "raw" sysupgrade image
as used in the Device/Default template).
This moves the Device/NAND call to the FRITZ3370 device definition, as
this is the only AVM/EVA device that uses NAND.
Additionally we have to define the IMAGE_SIZE for the AVM/EVA NOR
devices to ensure that the images are not discarded.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-08-22 07:43:11 +02:00
Sigurd Hogsbro
63857a2d6a lantiq: generate switch configuration for BTHOMEHUBV2B.
Split from HH3A as it appears to have a different switch.
https://en.wikipedia.org/wiki/BT_Home_Hub#Models_and_technical_specifications

Signed-off-by: Sigurd Hogsbro <sigurd@hogsbro.org>
2016-08-20 05:35:42 +02:00
Martin Schiller
528b769d42 lantiq/xrx200-net: Add support for eth0 as WAN interface
Use priv->wan instead of priv->id as indicator if packets should go to the
Ethernet WAN group (DPID=1) or not (DPID=0). This way, it's independant of
interface names or indexes.

Signed-off-by: Martin Schiller <mschiller@tdt.de>
2016-08-15 21:52:04 +02:00
Matti Laakso
9f5ee6f6c0 lantiq: add kmod-ledtrig-usbdev to device packages which have usb led
By default USB LEDs are associated with usbdev trigger. However,
not all devices which have USB LEDs have kmod-ledtrig-usbdev in their
list of default packages. Add it to the relevant devices.

Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
2016-08-15 15:32:38 +02:00
Martin Schiller
ddd1882811 lantiq/xrx200-net: add interrupt for second DMA TX channel to vr9.dtsi
Signed-off-by: Martin Schiller <mschiller@tdt.de>
2016-08-15 15:32:36 +02:00
Martin Schiller
8f02f7c7f8 lantiq/xrx200-net: fix "tx ring full" error by introducing second DMA TX channel
With an own DMA TX channel for each network device (eth0 + eth1) there
won't be any "tx ring full" errors any more.

This patch also move the spinlocks to the channel level instead of locking
the whole xrx200_hw structure.

Signed-off-by: Martin Schiller <mschiller@tdt.de>
2016-08-15 15:32:36 +02:00
Felix Fietkau
eae422eb94 lantiq: fix some ethernet driver SMP issues
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-11 10:45:33 +02:00
Mathias Kresin
5947f7f85e lantiq: enable cpu temp driver for selected boards
According to the author of the cpu temp driver, not all xrx200 boards
have a cpu temperature sensor. For that reason enable the sensor only
for tested boards.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
0b327c1652 lantiq: board.d: set lan mac address only where necessary
Do not set the lan mac address for boards which having the lan mac
address already set in device tree source file.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
47d3909415 lantiq: drop duplicate and now unused "lantiq, eth-mac" binding
The device tree binding and the associated code duplicates functionality
already patched into the etop driver. The compatible string isn't used
any more. Therefore the whole code can be dropped.

The "mac-increment" property allowed to increment a mac address received
via kernel cmdline. This functionality isn't used by any device and
should be added as etop driver device tree property if required again.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
91d5067091 lantiq: use the etop driver DT bindings only
Use the generic mtd-mac-address dts property to get a mac address from
flash instead of the lantiq specific one.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
1b7d6583a5 lantiq: fix mac address increments
Use the same mac address increment in device tree source file and
userspace.

Don't add a mac address increment to either the only mtd mac-address or
to all mac-addresses.

Fix a typo in the TDW89X0.dtsi file to add an increment.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
a7cce111db lantiq: drop orphaned eeprom-handling code branches
All device tree nodes are using the named properties now and the code
path handling the reg property isn't required any more.

The code related to the ath,eep-flash property has been reformatted to
be better readable.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Mathias Kresin
12fe4b5798 lantiq: use ath, eep-flash/mac-offset for ath eep nodes
No functional change, just easier to get what's the purpose of the hex
values.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-10 02:04:31 +02:00
Felix Fietkau
1b9dbb8532 Revert "kernel: remove long obsolete gpio spi controller driver patch"
This reverts commit 9e62a7668c.
2016-08-04 23:10:15 +02:00
Felix Fietkau
9e62a7668c kernel: remove long obsolete gpio spi controller driver patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 20:53:02 +02:00
Florian Eckert
828e25e325 lantiq: add cpu temperatur sensor driver for xrx200
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2016-08-03 15:30:13 +02:00
Felix Fietkau
9abbaa9539 build: remove MIPS dsp/dsp2 CPU_SUBTYPE
There does not seem to be any meaningful difference in generated code.
This will save some time and space on snapshot builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 14:56:45 +02:00
Felix Fietkau
941ebafda0 lantiq: enable missing ath10k firmware for BT Home Hub 5A
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 18:32:36 +02:00
Felix Fietkau
63b525dd6b image: add a helper variable for getting kernel/rootfs from within image Build/* templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:25:25 +02:00
Jo-Philipp Wich
db49dd894e build: rename sysupgrade-nand to sysupgrade-tar
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-07-29 16:53:03 +02:00
Hauke Mehrtens
47cce1d5e4 lantiq: fix switch configuration for EASY80920
The device tree description misses some Ethernet ports and there was no
model specified for this board. In addition there was no switch
specific default configuration created.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-28 22:42:16 +02:00
Felix Fietkau
eb28a0cde6 lantiq: fix WBMR-300HPD switch port assignment
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-28 21:25:42 +02:00
Mathias Kresin
e6a7e6ed25 lantiq: fix image creation of P2812HNUF3 & BTHOMEHUBV3A
Both devices were converted to the new image build code but still using
the LegacyDevice define. Therefore an image isn't created for the
mentioned devices.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-07-22 09:46:44 +02:00
Felix Fietkau
ab92f57684 lantiq: convert remaining xway NAND devices to new image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
f12e964733 lantiq: convert AVM xrx200 devices to new image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
bdfed2a2c3 lantiq: convert simple xrx200 devices to new image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
22c0206044 lantiq: add image build template for NAND devices
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
8058e4778b lantiq: simplify image building code
Specifying the device profile in PROFILES is unnecessary, and for all
devices the DEVICE_PROFILE variable matched the device name.
Get rid of this useless variable and set DEVICE_DTS to $(1)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
cc88df1a38 lantiq: fix building NAND images in default config
Remove remaining references to $(PROFILE)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
ceee47ba64 lantiq: disable jffs2 support on xrx200
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
8e2764ce9b image.mk: clean up redundant code related to DEVICE_DTS
It is used by a core build template, so the variable should be
initialized and added to DEVICE_VARS in the core.
Same for DEVICE_DTS_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:11 +02:00
Ben Mulvihill
1cc092f72b lantiq: mac address setting on BTHOMEHUBV3A
Rename uboot environment partition on BT Home Hub 3A so that mac address
setting works correctly.

Also, the mac address field in the ath9k calibration data is not used,
and should not be referenced in the dts.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-07-05 22:59:14 +02:00
Felix Fietkau
2270fc5947 Revert "lantiq: enable SMP for XRX200"
This reverts commit cc3bfdb62f.

Apparently the ethernet driver is not SMP safe, as reported in
https://bugs.lede-project.org/index.php?do=details&task_id=27

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-27 13:06:56 +02:00
Hauke Mehrtens
bf32177a1d kernel: remove full cache flush in fuse_copy_do() for MIPS
This patch was introduced in commit r16412 for the brcm47xx target only
and then moved to generic in commit r32395. It was initially added
because of ticket #5186 and should fix some problems with fuse file
systems and MIPS caches. The commit comment in r32395 says that this a
generic problem in MIPS CPUs, but does not name any specifics about
that. There was a fix added to kernel 2.6.21 in commit commit
7575a49f20 "[MIPS] Implement flush_anon_page()." that should fix this
problem, but that was already available before both commits were done
to OpenWrt.

I just tested fuse with ntfs.3g without this patch on a BCM4704
(BMIPS3300 V0.6) SoC and haven't seen any problems. Someone reported
that removing this patch improves some fuse operations by 5 times on
some modern MIPS cores.
My test was only a simple "dd if=/dev/zero of=/mnt/zero bs=5000" to an
USB stick.

This patch removes the patch to OpenWrt, because I assume that it is
not needed any more and Felix, the orginal author, also thinks so.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-26 18:22:23 +02:00
Hauke Mehrtens
84d489f64f kernel: update to version 4.4.14
Changelog: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.14

Some manual changes to target/linux/generic/patches-4.4/610-
netfilter_match_bypass_default_checks.patch were needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-26 18:20:37 +02:00
Mathias Kresin
f080cfab72 lantiq: fix network in failsafe
So far the network in failsafe is setup only for one board. Use the
eth0 interface as lan interface for all boards for now.

If a board has its lan interface(s) on another eth, a special
handling based on the board name can be added.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-22 19:32:06 +02:00
Oswald Buddenhagen
9759fde40a lantiq: add support for ARV7506PW11 (Alice/O2 IAD 4421)
Ethernet, ADSL2+ and LEDs are fully functional.

Supporting the two TAE ports and SIP gateway was not attempted.

The WiFi is unreliable, due to experimental support for rt35xx family
devices by the rt2800pci driver.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
[rebase to LEDE HEAD]
[switch to normal image instead of brnboot image]
[remove not required pinmux child nodes keys, leds, ebu, exin, pci_in and pci_out]
[remove switch_rst pinmux child node (no support for hw reset in driver/setting a default GPIO value in DT]
[enable usage of the wireless LED]
[fixup mac address configuration]
Sgned-off-by: Mathias Kresin <dev@kresin.me>
2016-06-22 19:32:06 +02:00
Ben Whitten
b7baaaf782 kernel: Move append-dtb to common image-commands
This build step is used by various targets, move it to a common section.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
2016-06-22 19:32:06 +02:00
Daniel Gimpelevich
34fdfbf328 lantiq: Slow down SPI flash on the DGN3500
The bootloader uses 30 MHz as the SPI frequency for flash on the Germany and
North America models, and 50 MHz for it on the worldwide model, but the Lantiq
SPI driver in OpenWrt and LEDE may access the flash differently such that
writes are capped at 20 MHz, leading to read errors reported on the worldwide
model at 30 MHz.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Acked-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-06-22 19:32:06 +02:00
John Crispin
f054e82bdc lantiq: remove gr7000 support
this seems to have never worked as the wrong SoC is selected

Signed-off-by: John Crispin <john@phrozen.org>
2016-06-22 19:32:06 +02:00
Hauke Mehrtens
84b3d92180 lantiq: make EASY80920 work with both chip versions
The EASY80920 is available with the A1X and the A2X chip version
depending on the board version. Add both firmware versions to device
tree and make the driver load the correct version depending on the chip
version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-21 21:58:59 +02:00
Hauke Mehrtens
7f5b8cc376 lantiq: use new partition layout for EASY80920NAND
This matches the EASY80920NAND boards with UGW.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-21 21:58:59 +02:00
Hauke Mehrtens
8bfa230e9f lantiq: build fullimage.img for EASY80920NAND
This image format is used by Lantiq's / Intel's UGW version 6.1 to 7.1.
These images can be flashed onto a board with the SoC vendor boot
loader as a replacement for the vendor firmware.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-21 21:58:59 +02:00
Hauke Mehrtens
ecdfbeae85 lantiq: remove patch adding support for building without reset controller
The lantiq kernel arch code selects CONFIG_RESET_CONTROLLER always, so
it is always selected when the lantiq target is build. we do not need
support for unselected CONFIG_RESET_CONTROLLER option.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-21 21:58:59 +02:00
Ben Mulvihill
7df43d88ec lantiq: fix typo in new image generation
Fix typo in commit a6f7536a73
(new image generation)

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
2016-06-21 13:49:54 +02:00
Mathias Kresin
153b3f05d4 lantiq: BTHOMEHUBV5A - use the power event code for the restart button
The restart event code is used in LEDE to trigger a factory reset on
long press as well.

By using the power event code, the restart functionality can be used
without being prone to trigger a factory reset.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-20 11:45:44 +02:00
Mathias Kresin
551c9c8300 lantiq: diag - switch off the power led on failsafe
This patch is a follow up to commit 4cf3fd4 "add support for indicating
the boot state using three leds".

At the time of writing the patch, I wasn't aware that it's possible to
switch info failsafe after boot (factory reset).

Enabling the failsafe led without disabling the running led causes an
unexpected led colour on devices using a single multicolour led to
indicate the boot state.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-20 11:45:44 +02:00
Mathias Kresin
32012decc3 lantiq: fix build of NAND sysupgrade images
The *_UBIFS_OPTS variables need to be prefixed with DEVICE_ to match
the profile name.

The conditions need to be evaluated after the *_UBIFS_OPTS are set,
otherwise the variables are always empty.

Do not append or pass the DEVICE_ prefixed profile name to the images.
Use the name that is passed by the Image/Build/Profile/ step.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-20 11:45:44 +02:00
Felix Fietkau
982108f7e5 lantiq: clean up / fix LegacyDevice template handling
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:23:11 +02:00
Felix Fietkau
f4c59a204e lantiq: get rid of ifneq() checks inside command templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:23:11 +02:00
John Crispin
9a0381f969 lantiq: small fix for legacy profile builds
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-17 20:11:24 +02:00
John Crispin
a6f7536a73 lantiq: convert remaining legacy targets to the new image generation code
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-17 04:13:07 +02:00
Felix Fietkau
a285f1895b Revert "lantiq: Use correct macaddr generating logic for the DGN3500"
This reverts commit 492964e741, which
makes no sense. /etc/board.d cannot be used for system init stuff.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-15 18:40:48 +02:00
Felix Fietkau
3a75777e86 lantiq: refresh patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-15 14:36:47 +02:00
John Crispin
9233db23f3 lantiq: the io space was still not big enough for UHCI
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-14 08:34:05 +02:00
John Crispin
88019c6c77 lantiq: add ARV4525PW wifi led
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-14 06:43:02 +02:00
John Crispin
90c48dd49d lantiq: fix VG3503J loader generation
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-14 06:43:02 +02:00
John Crispin
d5666b98fa lantiq: fix fritz7320 wifi support
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-14 06:43:02 +02:00
John Crispin
98d00c35e3 lantiq: fix io_space_limit
this broke uhci pci support on some arv units

Signed-off-by: John Crispin <john@phrozen.org>
2016-06-14 06:43:02 +02:00
John Crispin
d57990e071 lantiq: fix ARV452CQW button gpio setup
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:43 +02:00
John Crispin
d5143a49b7 lantiq: add AVM image mageic to sysupgrade script
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:43 +02:00
John Crispin
239ad94165 lantiq: add xway_legacy target
due to bloat recent builds fail to fit into the flash of the old danube units

Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:43 +02:00
John Crispin
2ae06f3013 lantiq: gpio-export fails to build if GPIO_SYSFS is not enabled
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:43 +02:00
John Crispin
bf007a480a lantiq: Add Support for Fritz!Box 7360 SL
Signed-off-by: Sebastian Ortwein <krone@animeland.de>
Tested-by: Guido Lipke <lipkegu@gmail.com>
2016-06-13 22:51:43 +02:00
John Crispin
b50b0cff2d lantiq: use new property name for eiu irqs
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:41 +02:00
John Crispin
d61af50cf3 lantiq: fix a regression in the eiu irq loading code
this worked in 3.18 but broke at some point. the old code that loaded a
irq table was incorrewct anyhow as it mapped the irqs int he domain which
should really be done when the driver using them loads them and not the
irq driver itself.

Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:41 +02:00
John Crispin
027da34957 lantiq: add default lan setup to board.d script
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-13 22:51:41 +02:00
Felix Fietkau
c536da365b lantiq: add VLAN handling fixes to xrx200 ethernet driver
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-13 17:58:07 +02:00
Felix Fietkau
172eebbd28 lantiq: fold 0400-xrx200-net-multi-phy.patch into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-13 17:58:07 +02:00
Felix Fietkau
1da87516e5 lantiq: change xrx200 ethernet driver WRED signal to global to fix spurious packet loss issues
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-12 14:53:18 +02:00
Felix Fietkau
69c99a423a lantiq: enable swconfig LED support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:49:13 +02:00
Felix Fietkau
cc3bfdb62f lantiq: enable SMP for XRX200
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:49:13 +02:00
Felix Fietkau
2d48f93ff4 lantiq: add Buffalo WBMR-300HPD support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:49:13 +02:00
Felix Fietkau
cc87d144e1 lantiq: refresh xrx200 kernel config
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:49:13 +02:00
Felix Fietkau
2cf67832ec lantiq: remove dummy ltq_machine_power_off to fix gpio-poweroff drivers
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:49:13 +02:00
Felix Fietkau
97e3d10df9 lantiq: fix image DEVICE_DTS handling, add proper default value
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 09:42:11 +02:00
Felix Fietkau
821ccd2b36 lantiq: only call Image/Prepare/Profile for defined profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 09:35:18 +02:00
John Crispin
ba42c1db41 lantiq: un-macro the image building code
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-05 23:23:57 +02:00
Alexander Couzens
1616bb2a7d lantiq/image: move tplink specific image into own file
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2016-06-05 23:23:57 +02:00
Alexander Couzens
aa930ba3dd lantiq: unmacro tp-link boards
even it's a little bit verbose, unmacrod board descriptions are much
easier to read and to understand.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2016-06-05 23:23:57 +02:00
Daniel Gimpelevich
2b4e5d478b kernel: remove a hack that was obsoleted upstream
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2016-05-27 16:08:47 +02:00
Daniel Gimpelevich
492964e741 lantiq: Use correct macaddr generating logic for the DGN3500
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2016-05-27 16:08:47 +02:00
Daniel Gimpelevich
8b321d45be lantiq: Fix macaddr-setting code on DGN3500 and possibly other devices
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2016-05-27 16:08:47 +02:00
Daniel Gimpelevich
e8780b643b lantiq: Use the correct SPI flash speed for the Netgear DGN3500
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2016-05-27 16:08:47 +02:00
Mathias Kresin
b2b917cd06 lantiq: do not build images which exceed the flash size
The user benpicco in #openwrt reported that images are build which are
bigger that the available flash size.

He provided a proof of concept fix and gave permission to me to send it
for inclusion.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:17 +02:00
Mathias Kresin
db66b157db lantiq: VGV7510KW22 - enable the IP101A phy
The RJ45 WAN port is used for xDSL as well as the IP101A.

The pins 1,2,3,6 of the RJ45 are connected to the IP101A and the
pins 4,5 are connected to the xdsl chip.

Drop the ip101a-rst node. It can't be controlled and is not required
at all.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:17 +02:00
Mathias Kresin
4d5db712e3 lantiq: VGV7510KW22 - fix pinmux configuration
The STP pinmux was initially added in assumption LAN2 led is driven by
it. It worked somehow because STP group and gphy0 led0 share the GPIO.
Do it the right way by adding the gphy0 led0 the gphy function.

According to the author, the SPI node is a copy & paste leftover. Which
makes sense since nothing is connected to the SPI bus on this device.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:17 +02:00
Mathias Kresin
a9f7586ad2 lantiq: VGV7519 - fix brn partition layout
Use the brnboot partition layout as it is listed in the OpenWrt wiki
article for this board.

Configure the brnboot root selector for this device as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:17 +02:00
Mathias Kresin
28faa3f292 lantiq: VGV7519 - get mac address from board_config partition
Use the mac address stored in the board_config partition instead of a
static one.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:17 +02:00
Mathias Kresin
1e395608cc lantiq: VGV7519 - add vlan support
Add the lantiq,switch property to enable vlans and setup them up.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:16 +02:00
Mathias Kresin
1deab53d88 lantiq: VGV7519 - add second usb port
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:16 +02:00
Mathias Kresin
79d92bb7ac lantiq: VGV7519 - cleanup pinmux configuration
Cleanup the pinmux configuration by removing the unused spi node. Nothing is connected to the SPI bus on devices.

The stp_out pinmux child node covers the same GPIOs as the already used
stp group.

The same applies to the gphy-leds_out pinmux node and the "gphy0
led1" as well as "gphy1 led0" groups.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:16 +02:00
Mathias Kresin
8a382f1221 lantiq: VGV7519 - remove/merge redundant parts in dts
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-27 15:50:16 +02:00
Mohammed Berdai
f778cdd9c9 lantiq: fix ARV4518PWR01 network
This patch fixes the missing Lan interface config in the file
/etc/config/network for ARV4518PWR01/A which results in eth0 and br-lan
being down and therefore no way to access the router unless via UART-TTL.

Signed-off-by: Mohammed Berdai <mohammed.berdai@gmail.com>
2016-05-27 15:50:16 +02:00
John Crispin
a42e84b2db lantiq: fix regression in VG3503J.dts
9d0608eef3 - "lantiq: VG3503J - merge profiles"

resulted in the dts file missing the version string.

Signed-off-by: John Crispin <john@phrozen.org>
2016-05-24 17:17:36 +02:00
Mathias Kresin
abfdddfb3c lantiq: VG3503J - use the 11G firmware
Use the 11G firmware for the phys as the oem firmware does.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-23 11:03:25 +02:00
Mathias Kresin
9d0608eef3 lantiq: VG3503J - merge profiles
The only difference between the VG3503J profiles is the version of the
gphy firmware that gets loaded. This can be handled perfect fine in one
device tree source file.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-23 11:03:24 +02:00
Mathias Kresin
21bdd79b33 lantiq: disable phy led complex (test) functions by default
They can be added using the phy led device tree bindings if required.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-05-23 11:03:23 +02:00
Felix Fietkau
311faaa1bd lantiq: move ubi/ubifs options to the image makefile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-19 15:13:29 +02:00
John Crispin
b8ab6af1a9 global: change my email address
Signed-off-by: John Crispin <john@phrozen.org>
2016-05-12 03:29:36 +02:00
Álvaro Fernández Rojas
b062266ad6 kernel: update kernel 4.4 to version 4.4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-10 10:43:17 +02:00
blogic
d4de9f72f3 lantiq: VGV7510KW22BRN - set the phy clock source
VGV7510KW2 with VRX288 v1.2 has brnboot 1.8 installed. Starting with
this brnboot version, the "GPHY Clock Source" isn't set anymore by
brnboot, with the result that xrx200-net fails to probe/initialize the
phys.

Use the phy clock source device tree binding to specify the clock source.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49284
2016-05-10 10:43:12 +02:00
blogic
44cace4dab lantiq: add device tree binding for the phy clock source
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49283
2016-05-10 10:43:12 +02:00
blogic
60ac485274 lantiq: VGV7510KW22BRN - support dual-image
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49282
2016-05-10 10:43:12 +02:00
blogic
d7438ce315 lantiq: handle the dual-firmware layout of brnboot
brnboot based devices can have two Image partitions. When flashing
images via the brnboot recovery web interface, the Image partitions are
written alternating.

The current active Image partition is stored in the first byte of the
Primary_Setting partition by using 0x00 for Code_Image_0 and 0x01 for
Code_Image_1.

By using the information about the active "Code Image", it is possible
to ensure that the rootfs belongs to the current booted Image/Kernel.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49281
2016-05-10 10:43:12 +02:00
blogic
b7fc892eb5 lantiq: move partitions into partion table node
Starting with kernel 4.4, the use of partitions as direct subnodes of the
mtd device is discouraged and only supported for backward compatiblity
reasons.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49280
2016-05-10 10:43:12 +02:00
blogic
b695ce2999 lantiq: use sysupgrade.bin postfix for tplink images
Use the same name for TP-Link images as it was with the old image build
code.

Move the BOARD_ID export to the TP-Link image build recipe, to indicate
that the variable is only related in this context.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49279
2016-05-10 10:43:12 +02:00
blogic
5ed2140162 lantiq: VG3503J - use the same PHY led functionality as the OEM firmware
Based on the vg3503j_gphy_led.sh script published in the VG3503J wiki
article, the OEM Firmware uses the following PHY led functionality:

    gphy led 0: LINK/ACTIVITY
    gphy led 1: LINK
    gphy led 2: ACTIVITY

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49278
2016-05-10 10:43:12 +02:00
blogic
b529387d8c lantiq: use the same functionality for all ethernet phys led
The VGV7510KW22 has the leds for LAN1-3 connected to pin1 of the phys
and the led for LAN4 connect to pin0 of the phy. This results with the
current configuration in a fast flashing LAN4 led as soon as a network
cable is connected. Something similar was reported on the forum[1] for
the VGV7519 as well.

Since it isn't predicable to which pin a (single) phy led is connected,
use the (default) pin1 functionality

    Constant On: 10/100/1000MBit
    Blink Fast: None
    Blink Slow: None
    Pulse: TX/RX

for all ethernet phy leds.

After checking pictures of all vr9 boards, it looks like only the VG3503J
has more than one led connected per phy. Using the phy led device tree
bindings to assign the functionality to the "additional" leds, the
VG3503J phy leds should behave as before.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

[1] https://forum.openwrt.org/viewtopic.php?pid=321523

SVN-Revision: 49270
2016-05-10 10:43:12 +02:00
blogic
6249269322 lantiq: fix minor typos in 11G/22F phy driver
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49269
2016-05-10 10:43:12 +02:00
Jo-Philipp Wich
eb529d2625 lantiq: fix xway image building
Commit 8c130dd (lantiq: use new image build process for some images) broke
image generation for the xway target since the generated macros reference not
existing WBMRA.dts and WBMRB.dts files leading to the following build error:

  mips-openwrt-linux-musl-cpp: error: ../dts/WBMRA.dts: No such file or directory
  mips-openwrt-linux-musl-cpp: warning: '-x assembler-with-cpp' after last input file has no effect
  mips-openwrt-linux-musl-cpp: fatal error: no input files

Previously both the WBMRA and WBMRB profiles shared a common WBMR DT since
the only difference is the embedded firmware kmod package.

Extend the lantiqImage macro to optionally support specifying a different
DTS file and use this facility to let the both WBMR profiles reference the
correct device tree file.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-27 01:22:32 +02:00
Álvaro Fernández Rojas
3faf65e928 kernel: update kernel 4.4 to version 4.4.8
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-04-24 11:32:17 +02:00
John Crispin
dc92917409 image / basefiles: make console password configurable
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Signed-off-by: John Crispin <john@phrozen.org>
2016-04-18 21:53:07 +02:00
John Crispin
27c10641a0 lantiq: use dwc2 by default on all ar9 boards
The dwc2 USB driver now works on Lantiq ar9, but the
default is still ltq-hcd-ar9. This patch switches to
dwc2 by default.

v2: all ar9 boards (v1 was just for BTHOMEHUBV3A and WBMR)

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>

SVN-Revision: 49254
2016-04-26 11:44:17 +00:00
John Crispin
fa1927839e lantiq: install uboot-envtools by default on BTHOMEHUBV3A
The only way to access the u-boot console on the BTHOMEHUBV3A
is by soldering a serial console onto some really tiny pads.

To enable installation without soldering it would be helpful
to be able to modify the uboot environment from within
the ramdisk image used as part of the installation process.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>

SVN-Revision: 49253
2016-04-26 11:44:13 +00:00
John Crispin
544efb9ad1 lantiq: remove read-only flag on two partitions on BTHOMEHUBV3A
Remove read-only flag on two partitions on BTHOMEHUBV3A:
  uboot-config - otherwise fw_setenv command cannot be used.
  ath9k-cal    - so that ath9k calibration data can be copied
                 to the partition on a newly installed board.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>

SVN-Revision: 49250
2016-04-26 11:44:03 +00:00
John Crispin
0a4f2b5920 lantiq: Fix typo in LED diag script.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
Acked-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49242
2016-04-26 11:43:31 +00:00
John Crispin
517a6fab5f lantiq: use new image build process for brnImages
LZMA compress the kernel without dictionary, otherwise brnboot fails to
uncompress the kernel.

The filesystem parameter of mkbrncmdline was dropped since the used
filesystem isn't exported in the kernel build step and at least in my
tests everything works without the parameter. If the parameter is
required for some reason, the static keyword "squashfs" can be used.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49241
2016-04-26 11:43:28 +00:00
John Crispin
6ade87df0a lantiq: remove orphaned tp-link image build steps
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49239
2016-04-26 11:43:21 +00:00
John Crispin
2ef2a6aaf6 lantiq: build sysupgrade images for lantiqImage
Tested with VGV7510KW22NOR.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49238
2016-04-26 11:43:18 +00:00
John Crispin
ef66c8d72e lantiq: new image build process - fix kernel entry address
Set the kernel entry address to the same value as it is used for the old
image build build process.

Fixes boot of uImages on VGV7510KW22NOR and others.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49237
2016-04-26 11:43:15 +00:00
John Crispin
8c130dd3c1 lantiq: use new image build process for some images
This adds for some easy images the new build process.

This was only tested on some TP-Link devices, please test.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49210
2016-04-21 19:46:53 +00:00
Hauke Mehrtens
f0b3964f1b kernel: update kernel 4.4 to version 4.4.7
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49176
2016-04-16 21:05:48 +00:00
John Crispin
0039bc665c lantiq-dsl: add missing blank in dsl output
blank inserted before ACTATP

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>

SVN-Revision: 49137
2016-04-09 10:25:29 +00:00
John Crispin
c701c3ce77 lantiq-dsl: bugfix latency values swapped for lucistat
swapped wrong latency output

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>

SVN-Revision: 49136
2016-04-09 10:25:24 +00:00
John Crispin
7beb53b1a5 lantiq-dsl: bugfix db negative sign after comma
If db is negative minus sign was shown after comma

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>

SVN-Revision: 49135
2016-04-09 10:25:20 +00:00
Gabor Juhos
4d0681d865 lantiq: lzma-loader: fix O32 ABI conformance
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 startup code does not reserve stack space
for these registers thus when the main C function needs
to save its arguments, that will cause a stack overflow.

Fix the assembly code to reserve stack space for the
registers to avoid that.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 49061
2016-03-21 13:15:25 +00:00
John Crispin
d6d0597cdf lantiq: use upstream mechanism to append device tree file
Instead of using our patch-dtb program just place the device tree
behind the kernel binary and then let the in kernel mechanism fetch it.
This also adds support for having the device tree file in the boot
loader.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49050
2016-03-20 14:41:54 +00:00
Felix Fietkau
dc3a7131a9 lantiq: print profile name in dsl lucistat
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48949
2016-03-07 11:03:44 +00:00
Felix Fietkau
06b630047f lantiq: add dsl firmware to default packages
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48942
2016-03-07 11:03:21 +00:00
Felix Fietkau
4ac99abeb3 lantiq: do not set default firmware file
We are now shipping a DSL firmware, do not set it by default to some
file name.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48941
2016-03-07 11:03:18 +00:00
Hauke Mehrtens
cb04b8d582 kernel: update kernel 4.4 to version 4.4.3
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48783
2016-02-25 21:54:39 +00:00
John Crispin
48f82b53d0 use "-gt" instead of ">" with [ in /lib/functions/lantiq_dsl.sh
Avoids inadvertent file creation when executing
`/etc/init.d/dsl_control status`.

Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>

SVN-Revision: 48700
2016-02-12 08:29:44 +00:00
John Crispin
a0e8833cb5 lantiq: VGV7510KW22/VGV7519 update spi pinmux group
With the backport of the kernel 4.5 pinctrl-xway patches (3551609d &
826bca29) the pinmux group "spi" was splitted into "spi_di", "spi_do" &
"spi_clk". But the no longer existing group "spi" is still used by some
device tree source files.

This fixes the detection of the wireless chipset of the VGV7510KW22.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48658
2016-02-08 08:25:31 +00:00
John Crispin
7c0009a52e lantiq: BTHOMEHUBV5A - explicit select the flash device
The stock u-boot doesn't disable unused flash banks. Therefore, the nand
driver tries to initialize a not connected NOR flash and the device
hangs on boot.

Workaround the issue by selecting the second flash bank (NAND).

Signed-off-by: Mathias Kresin <openwrt@kresin.me>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48657
2016-02-08 08:25:22 +00:00
John Crispin
c3fc71527d lantiq: fix wrong parameter order in xway_nand driver
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48656
2016-02-08 08:25:15 +00:00
Felix Fietkau
6fd5449198 lantiq: Make the ar9.dtsi sram node match "simple-bus"
All other SoC types are using "lantiq,sram" and "simple-bus" to ensure
that all child nodes are set up correctly during linux kernel
initialization (plat_of_setup(void) in arch/mips/lantiq/prom.c). Without
this some of sram child nodes might not be parsed.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48548
2016-01-29 00:42:50 +00:00
Felix Fietkau
022855baf2 lantiq: Move the definition of the xrx200-net node to vr9.dtsi
This removes a lot of duplicate register and interrupt definitions by
moving the xrx200-net definition to vr9.dtsi and making all devices re-
use it.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48547
2016-01-29 00:42:45 +00:00
Felix Fietkau
d4fe52c16d lantiq: fix PHY state handling issue
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48546
2016-01-29 00:42:38 +00:00
Felix Fietkau
57776e68ce base-files: remove default /etc/config/network, generate it via board.d instead
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48493
2016-01-25 16:30:41 +00:00
Felix Fietkau
d4ca4ae070 lantiq: Fix enabling CONFIG_MTD_UIMAGE_SPLIT
r48381 added CONFIG_MTD_SPLIT_UIMAGE_FW=Y to the lantiq kernel
configuration. That unfortunately contains a typo since the "y" has to
be lower-case. This leads to the kernel asking whether the config
symbol should be enabled and thus breaking the build.

FIXES: r48381/feab990887b4: lantiq: Enable the uImage mtd splitter
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48389
2016-01-20 08:40:44 +00:00
Felix Fietkau
e3b3b7fb0a lantiq: Enable the uImage mtd splitter
Until linux 4.1 the lantiq target used CONFIG_MTD_UIMAGE_SPLIT=y. That
option however is only available until linux 4.3 - thus it was not added
to lantiq's 4.4 kernel config (in r48307). This results in broken images
for devices which are using uImages. This fixes #21652

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48381
2016-01-19 22:48:37 +00:00
Hauke Mehrtens
13b8b8c2e7 lantiq: add support for TP-Link VR200v
This adds basic support for TP-Link VR200v.
Currently the following parts are not working: FXO, Voice, DECT, WIFI (both)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48328
2016-01-18 20:40:03 +00:00
Felix Fietkau
e7846156f2 lantiq: drop linux 4.1 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48323
2016-01-18 15:54:23 +00:00
Felix Fietkau
9b4b2b4e17 lantiq: switch to linux 4.4
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48322
2016-01-18 15:54:18 +00:00
Felix Fietkau
6cec31da3c lantiq: fix VDSL device detection with Linux 4.4
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48319
2016-01-18 15:35:17 +00:00
Felix Fietkau
f577cb25c0 lantiq: Add support for linux 4.4
The following patches were dropped because they are already applied
upstream:
- 0038-MIPS-lantiq-fpi-on-ar9.patch
- 0039-MIPS-lantiq-initialize-usb-on-boot.patch
- 0042-USB-DWC2-big-endian-support.patch
- 0043-gpio-stp-xway-fix-phy-mask.patch

All other patches were simply refreshed, except the following:
- 0001-MIPS-lantiq-add-pcie-driver.patch
  Changes to arch/mips/lantiq/xway/sysctrl.c (these changes disabled
  some PMU gates for the vrx200 / VR9 SoCs) were removed since the
  upstream kernel disables unused PMU gates automatically (since
  95135bfa7ead1becc2879230f72583dde2b71a0c
  "MIPS: Lantiq: Deactivate most of the devices by default").
- 0025-NET-MIPS-lantiq-adds-xrx200-net.patch
  Since OpenWrt commit 55ba20afcc drivers
  should use of_get_mac_address(). of_get_mac_address_mtd is not
  available for drivers anymore since it's called automatically within
  of_get_mac_address().
- 0028-NET-lantiq-various-etop-fixes.patch
  Same changes as in 0025-NET-MIPS-lantiq-adds-xrx200-net.patch

While refreshing the kernel configuration SPI support had to be moved to
config-4.4 because otherwise M25P80 was disabled.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48307
2016-01-18 11:40:19 +00:00
Felix Fietkau
d64465556c lantiq: Remove incorrect PCIe compatible strings
Re-defining the compatible property is not required since the correct
value is inherited from vr9.dtsi.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48295
2016-01-17 19:56:16 +00:00
Felix Fietkau
720f599c9a lantiq: Remove the old SPI driver patch
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48294
2016-01-17 19:56:10 +00:00
Felix Fietkau
04ad02d132 lantiq: Switch to the new SPI driver
Compared to the "old" driver:
- Each device must assign a pinctrl setting to the SPI node to allow the
  new SPI driver to configure the SPI pins.
  While here we are also using separate input and output settings so we
  are independent of whether the bootloader configures the pins correctly.
- We use the new "compatible" strings to make the driver choose the
  correct number of chip-selects for each SoC.
- The new driver starts counting the chip-selects at 1 (instead of 0, like
  the old one did). Thus we have to adjust the devices accordingly.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48293
2016-01-17 19:56:03 +00:00
Felix Fietkau
5985c56ec6 lantiq: Add a rewritten version of the SPI driver
The new driver provides a few improvements over the old one:
- Separate compatible strings per SoC type (this allows removing some
  hardcoded of_device_is_compatible() checks)
- It does not rely upon spi-bitbang anymore
- chip-selects are numbered as in the datasheet (= starting at 1 instead
  of 0)

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48292
2016-01-17 19:55:55 +00:00
Felix Fietkau
af857db692 lantiq: Disable CONFIG_SPI_GPIO
All devices are now using the HW SPI driver, so this is not necessary
anymore.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48291
2016-01-17 19:55:48 +00:00
Felix Fietkau
d5c5928d6b lantiq: Enable the hardware SPI driver on the DGN3500/DGN3500B
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48290
2016-01-17 19:55:42 +00:00
Felix Fietkau
d8b74320bd lantiq: Enable SPI for the EASY80920 board again
Also switch to the SPI definition provided by vr9.dtsi

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48289
2016-01-17 19:55:37 +00:00
Felix Fietkau
be8f9ad6f4 lantiq: Switch FRITZ3370 from spi-gpio to the hardware SPI driver
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48288
2016-01-17 19:55:31 +00:00
Felix Fietkau
9d558fb48e lantiq: Re-use the SPI node from vr9.dtsi in TDW89X0.dtsi
This removes the duplicate SPI register definition.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48287
2016-01-17 19:55:25 +00:00
Felix Fietkau
a5c177943b lantiq: Add the SPI node to ar9.dtsi and vr9.dtsi
This allows devices to use SPI without having to re-define (and thus
duplicating) the whole SPI node.
By default SPI is disabled (as before) because only few devices need it.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48286
2016-01-17 19:55:17 +00:00
Felix Fietkau
3f8a426056 lantiq: Configure the PCIe reset GPIO using OF
After the latest pinctrl backports there are only 50 (instead of 56 as
before) GPIOs/pins exported (thus the first GPIO on VRX200 SoCs is now
462, before it was 456). This means that any hardcoded GPIOs have to be
adjusted.
This broke the PCIe driver (which seems to be the only driver which uses
hardcoded GPIO numbers), it only reports:
	ifx_pcie_wait_phy_link_up timeout
	ifx_pcie_wait_phy_link_up timeout
	ifx_pcie_wait_phy_link_up timeout
	ifx_pcie_wait_phy_link_up timeout
	ifx_pcie_wait_phy_link_up timeout
	pcie_rc_initialize link up failed!!!!!

To prevent more of these issues in the future we remove the hardcoded
PCIe reset GPIO definition and simply pass it via device-tree (like the
PCI driver does).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48285
2016-01-17 19:55:10 +00:00
Felix Fietkau
1204a1b1e5 lantiq: Use the new pinctrl compatible strings
These were introduced in upstream commit
be14811c03cf "pinctrl/lantiq: introduce new dedicated devicetree
bindings" and finally allow us to use the individual pins within our dts
(for example spi_clk, etc.).
Please note that this changes the number of GPIOs which are available for
some SoCs. VRX200 SoCs for example only have 50 pins, but previously 56
pins were exposed. This means that all places which are using hardcoded
GPIO numbers (which are not passed via device-tree) need to be adjusted
(because the first GPIO number is now 462, instead of 456).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48284
2016-01-17 19:55:04 +00:00
Felix Fietkau
ee03fc430d lantiq: Backport upstream pinctrl-xway patches from 4.5
Upstream commit be14811c03cf2 "pinctrl/lantiq: introduce new dedicated
devicetree bindings" allows us to use each pin in the pinmux. This is
useful for example in the "spi" group which contains some pins which
are inputs, and some which are outputs.
These can only be used once the new compatible strings for the pinctrl
node are used.
Additionally 0150-lantiq-pinctrl-xway.patch and the "GPIO PORT3 fix"
(which was part of 0012-pinctrl-lantiq-fix-up-pinmux.patch) were
replaced with their upstream variants which are also in 4.5.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48283
2016-01-17 19:54:59 +00:00
Felix Fietkau
deb4c31da4 lantiq: Fixed brnImage signature for the VGV7510KW22BRN images
The old signature only worked because brnboot ignores the leading "5" in
the signature. We can see the correct signature when flashing a brnImage
via recovery web-interface, in this case brnboot reports:
	[CGI-Signature Check] buf:[BRNDA6431], sigInFlash:[BRNDA6431]

Thanks to Mathias Kresin for reporting this.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48269
2016-01-17 10:47:10 +00:00
Felix Fietkau
7c0260117f lantiq: Switch to the generic mtdsplit parser implementations
This removes the arch-specific mtdsplit parsers and enables the generic
implementations for brnImage, EVA and TP-Link instead.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48264
2016-01-17 10:41:46 +00:00
Hauke Mehrtens
cb6b7be43f lantiq: remove clk_round_rate() patch
This patch was merged into upstream Linux 4.1.
This fixes #21587 and was introduced in r48223.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48229
2016-01-13 20:46:12 +00:00
Hauke Mehrtens
93b50ade93 kernel/4.1: update to version 4.1.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48223
2016-01-12 20:51:34 +00:00
John Crispin
8c80e915a0 lantiq: Add the xbar to vr9.dts
linux 4.4 (since commit 08b3c894e56580b8ed3e601212a25bda974c3cc2
"MIPS: lantiq: Disable xbar fpi burst mode") requires that the xbar is
defined in the .dts of vrx200 (VR9) SoCs.

SVN-Revision: 48056
2016-01-01 21:21:00 +00:00
John Crispin
6f95d749d6 lantiq: match default xdsl mode and default wan interface
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48047
2016-01-01 21:19:32 +00:00
John Crispin
a9896bf106 lantiq: convert vendorid into human readable form
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48046
2016-01-01 21:19:27 +00:00
John Crispin
436fdee272 lantiq: add the current profile to the stats output
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48045
2016-01-01 21:19:21 +00:00
John Crispin
28a700de9b lantiq: TDW8980 - use devicename:colour:function led naming scheme
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48044
2016-01-01 21:19:12 +00:00
John Crispin
c584aed6b1 lantiq: P2812HNUFX - move usb leds to P2812HNU-F1
The P2812HNU-F3 doesn't have usb leds. Only the P2812HNU-F1 has those
leds.

Reported-by: Sylwester Petela <sscapi@gmail.com>
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48043
2016-01-01 21:18:59 +00:00
John Crispin
3cbfc74cde lantiq: use devicename:colour:function led naming scheme
The leds of the following boards are not renamed due to lack of
manuals/informations:

- ARV7519PW
- ARV7510PW22
- ARV4510PW

The leds of the ARV4518PWR01* boards are unchanged, since the leds doesn't
match the leds from the manual or pictures (e.g. there shouldn't be a wps led).

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48042
2016-01-01 21:18:54 +00:00
John Crispin
4cf3fd49fc lantiq: add support for indicating the boot state using three leds
The BTHOMEHUBV5A has a RGB power led, where every colour is perfect to
indicate the current boot state. This patch adds support for such cases.

The existing led sequences should be the same as before.

Boards which are using a led different from power (like TDW89x0) are
changed to switch of the led after boot

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48041
2016-01-01 21:18:47 +00:00
John Crispin
ebc71a4d16 lantiq: use dsl led defined in DTS
dsl_control (dsl_notify.sh) is the only process which is aware of the
state of the atm/ptm interface. Use the dsl led exclusive for the dsl
line state.

On boards which don't have a distinct internet and a dsl led, let the
netdev status of the atm interface trigger the shared led.

Triggering the shared led according to the status of the ppp interface
isn't suitable, since the led would be switched of if the ppp
connection goes down, but the line is still in sync.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48040
2016-01-01 21:18:38 +00:00
John Crispin
a3c3b2a9a8 lantiq: use power leds defined in DTS
Use the power leds defined in the dts file instead of hardcoded led names.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48039
2016-01-01 21:18:30 +00:00
John Crispin
d7a5d66ea1 lantiq: use default leds defined in DTS
Remove all now double defined leds from the led board file. Use pppoe
as default for all broadband connections, since it's the default in
OpenWrt now.

Rename the the wifi leds to make sure, the not applicable default
values get overwritten.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48038
2016-01-01 21:18:21 +00:00
John Crispin
a3042500ab lantiq: define default leds in dts files
- ARV7525PW: use the power led as dsl led as done by the stock firmware
- FRITZ3370: use the info led as internet led
- FRITZ7320: use the power led as dsl led as done by the stock firmware

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48037
2016-01-01 21:18:08 +00:00
John Crispin
5b6f0250f6 lantiq: ARV752DPW - fix dts file
Use the same led logic and labels as the OEM firmware (red = okay,
blue = failure).

Add the red internet led.

Remove missing usb led workaround. The workaround shouldn't be in the
default configuration.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48036
2016-01-01 21:18:00 +00:00
John Crispin
aa99acdb46 lantiq: ARV752DPW22 - fix dts file
No need to switch (and keep) on all leds at boot. Use the same led
logic and labels as the OEM firmware (red = okay, blue = failure).

Add the red internet led.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48035
2016-01-01 21:17:55 +00:00
John Crispin
2eead1c891 lantiq: DGN1000B - fix typo in dts file
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48034
2016-01-01 21:17:50 +00:00
John Crispin
e557011041 lantiq: ARV4518PWR01* move redundant parts to dtsi
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48033
2016-01-01 21:17:42 +00:00
John Crispin
b6b128f63d lantiq: BTHOMEHUBV2B - remove missing usb led workaround
The workaround shouldn't be in the default configuration.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48032
2016-01-01 21:17:34 +00:00
John Crispin
56fa6d8241 lantiq: P2812HNUFX - move leds to dtsi
Beside the used labels, they are the same on both boards.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48031
2016-01-01 21:17:26 +00:00
John Crispin
8d5ac2d0f1 lantiq: fix Image Builder
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48002
2015-12-23 19:25:55 +00:00
John Crispin
c01ca020ea lantiq: fix PCI_DEVICE_ID_LANTIQ_PCIE
It's not necessary to define PCI_* if pci_ids.h is included a few
lines above.

The change to pci_ids.h doesn't look intentional to me, especially
since the former value is added to the top of ifxmips_fixup_pcie.c.

Both changes were introduced with the kernel 4.1 support patches and
were not present in the 3.18 patches.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47996
2015-12-23 18:25:22 +00:00
John Crispin
e33aa71045 lantiq: TDW89x0 - increase spi frequency
Use the same max spi frequency as set in u-boot.

According to the datasheets, the Q64-104HIP as well as the Winbond
25Q64FVSIG support spi frequencies up to 50 MHz. During my tests, the
Q64-104HIP couldn't be recognized/initialized if the frequency
was > 40MHz.

Both chips do support fast read as well.

While touching the dts file, I fixed the dtc compiler warnings.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47994
2015-12-23 18:24:56 +00:00
John Crispin
3af2cf661b lantiq: disable SW_PORTMAP usage in the ethernet driver
using the special tag in this way lead to port mirroring for certain types of traffic.
fallback to using th PMAC_EWAN register for the wan portmap.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47993
2015-12-23 18:24:43 +00:00
John Crispin
5e10f67b67 lantiq: Configure LED polarity for TDW8970 and TDW8980.
This patch configures the correct ath9k WLAN LED polarity for the TDW8970,
and for the TDW8980 as well.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47969
2015-12-23 14:42:25 +00:00
John Crispin
21493c984a lantiq: fix ARV7519RW22 buttons
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47918
2015-12-17 09:28:29 +00:00
John Crispin
0a6a37be83 lantiq: add the TDW8980 5GHz led
Still unused, but u-boot doesn't take care of the led, which results in a
permanent switched on 5GHz LED.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47915
2015-12-17 09:28:01 +00:00
John Crispin
ab77d4bcb9 lantiq: Fix LED handling.
- Use common OpenWrt blink patterns instead of custom ones
- Add preinit_regular hook
- Handle the TDW89X0 that does not have a configurable power LED

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47914
2015-12-17 09:27:52 +00:00
John Crispin
34934609f9 lantiq: Configure LED polarity for TDW8970.
This patch configures the correct ath9k WLAN LED polarity for the TDW8970.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47913
2015-12-17 09:27:46 +00:00
John Crispin
ec21c9821c lantiq: Configure disabled WLAN bands for TDW89X0.
The TDW8970 has a AR9381, which is the bgn 3x3:3 variant of the AR938x family.

The TDW8980 has a AR9287, which is the bgn 2x2:2 variant of the AR928x family.

This means that the chip for both routers is 2.4 GHz only.

Anyway, the manufacturer didn't disable the 5 GHz band in the EEPROM partition
(at least on my TDW8970).

So this patch disables the 5 GHz band.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47912
2015-12-17 09:27:40 +00:00
John Crispin
f2fd516d72 lantiq: Allow configuration of ath9k disabled bands and LED polarity from the device tree.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47911
2015-12-17 09:27:31 +00:00
Jo-Philipp Wich
67e1c87012 all: drop old uci-defaults.sh
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
2015-12-11 15:26:06 +00:00
John Crispin
0938233fcd lantiq: get rid of ltq-vdsl-fw
Because of dsl-vrx200-firmware-xdsl-* there's no need anymore to
download a dsl firmware at runtime.

Signed-off-by: Andre Heider <a.heider@gmail.com>

SVN-Revision: 47851
2015-12-11 15:05:40 +00:00
John Crispin
787120e3a3 lantiq: fix led setup after switch to uci-defaults-new.sh
The switch to uci-defaults-new.sh revealed a bug in the former used
uci-defaults.sh, which failed to add leds with colons in the led name.

This bug isn't any longer present in uci-defaults-new.sh and therefore
all via DT defined leds will be added to /etc/config/system with their initial
on/off state, regardless whether they are already added by the board specific
led mappings.

This results for a BTHOMEHUBV5A into the following led configuration:

- soc:blue:power is added as led_power with the initial state "switched on"
- soc:blue:power is added as led_soc_blue_power with the initial state "switched off"

With the final result of a switched off power led after boot.

The only led that needs to be added is the BTHOMEHUBV5A specific dimmed led.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47850
2015-12-11 15:05:30 +00:00
Jo-Philipp Wich
9157360ac5 lantiq: fix logic error in dsl board.d code
Starting with r47755 the pppoe wan interface section isn't any longer added to
the network config on firstboot, using the default configuration. Since the
commit message does not mention such a change, I assume that this wasn't
intentionally.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47793
2015-12-06 08:41:22 +00:00
Felix Fietkau
ec1b121769 lantiq: add VDSL2 vectoring status information
Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47785
2015-12-05 09:52:42 +00:00
Felix Fietkau
e82404ce6c lantiq: get rid of the dsl_fw mtd partition
Now that we have redistributable vdsl/adsl firmware blobs in /lib/firmware,
we can drop the dsl_fw partition and extend the firmware partition.

Signed-off-by: Andre Heider <a.heider@gmail.com>

SVN-Revision: 47783
2015-12-05 09:52:30 +00:00
Felix Fietkau
fff859a1f6 lantiq: remove 3.18 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47774
2015-12-05 09:51:25 +00:00
Felix Fietkau
8b30afb005 lantiq: fix a race condition in the SPI driver leading to rx FIFO overflows (and subsequent timeouts)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47770
2015-12-04 20:26:22 +00:00
Felix Fietkau
9330296932 lantiq: re-enable spi-xway for TD-W89X0 now that it is fixed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47768
2015-12-04 18:35:20 +00:00
Felix Fietkau
b963cec01c lantiq: fix xway spi driver timeout issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47767
2015-12-04 18:35:12 +00:00
Felix Fietkau
ae10274239 lantiq: clean up the xrx200 ethernet driver and fix stability issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47766
2015-12-04 17:44:06 +00:00
Felix Fietkau
435e7fb295 lantiq: move esi calls to dsl_cpe_control scripts to fix ordering wrt. loading vr9 drivers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47764
2015-12-04 17:42:51 +00:00
Jo-Philipp Wich
5ebc5de49d lantiq: switch from uci-defaults to board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47755
2015-12-04 12:32:44 +00:00
Felix Fietkau
46112609d0 lantiq: fix up m25p80 device ids (#20975)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47690
2015-12-02 17:20:39 +00:00
Hauke Mehrtens
34e0d3cb5a lantiq: fix compile error
This fixes a problem introduced in r47624.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47628
2015-11-24 20:12:21 +00:00
Felix Fietkau
bb1c915f1e kernel: update m25p80 in 4.1 to the latest version from 4.4-rc1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47624
2015-11-24 18:59:28 +00:00
John Crispin
570c35a599 lantiq: add phy led config support over devicetree bindings
This patch adds the posibility to config the led behaviour of the lantiq phys
over the devicetree bindings.It patches the 0023-NET-PHY-adds-driver-for-lantiq-PHY11G
for 3.18 and 4.1. I have also added a register description overview for
applicable values. This goes to the documentation folder in the linux kernel.

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>

SVN-Revision: 47566
2015-11-21 21:25:43 +00:00
John Crispin
0206a400cf lantiq: tweak DWC2 default parameters
This patch improves the default configuration of DWC2 on lantiq SoCs
somewhat:
 * Set maximum packet count to largest allowed value by the DWC2 (511)
 * Use 16-bit DMA bursts
 * Divide fifo buffers more evenly

Default fifo buffer sizes from original ltq-hcd driver seem really
irrational. For example according to DWC2 data book rxfifo size of 240
will not fit even a single full length USB packet. On the other hand
non-periodic tx fifo size of 240 is more than enough to fit one complete
packet.

Change the sizes around to improve the situation and to fix some issues
especially with isochronous USB transfers.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>

SVN-Revision: 47563
2015-11-21 21:25:20 +00:00
Hauke Mehrtens
ff64ae8293 lantiq: add clk_round_rate()
This adds a basic implementation of clk_round_rate()
The clk_round_rate() function is called by multiple drivers and
subsystems now and the lantiq clk driver is supposed to export this,
but doesn't do so, this causes linking problems like this one:
ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined!

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47254
2015-10-25 22:46:46 +00:00
Hauke Mehrtens
da94b00df5 kernel: update kernel 4.1 to version 4.1.11
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.11

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47252
2015-10-25 17:32:01 +00:00
John Crispin
e1d585d99f lantiq: Synchronize access to the DSL command pipe
Whenever two processes were executing different commands at the same
time then one of the commands sometimes got the response of the other
command.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47213
2015-10-19 10:08:56 +00:00
John Crispin
b7e4c8d3bf lantiq: Print the status register whenever an error occurs
This should help finding potential problems with the SPI driver.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47209
2015-10-19 10:08:29 +00:00
John Crispin
2c7d536780 lantiq: Fixed reading the number of RX FIFOs in the SPI driver
Until now the SPI driver used the TX bits for the RX FIFO. This seems
uncritical for now since both are equals on my devices (VR9), but this
could cause problems on other SoCs.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47208
2015-10-19 10:08:18 +00:00
John Crispin
42c9a85e8e Revert "lantiq: activate spi-xway on TDW89X0"
This reverts commit 68c2e4789b4f071ee75d39248f4d08fe8283eb28.

commit r47159 was bad

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47207
2015-10-19 10:08:12 +00:00
John Crispin
f457ae99f2 lantiq: fix use of IRQF_DISABLED in lantiq kmods
The IRQF_DISABLED flag was removed in kernel 4.1 with commit
"genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely" [1].

Therefore the compilation of ltq-hcd and ltq-vmmc kmods fails.

[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d8bf368d0631d4bc2612d8bf2e4e8e74e620d0cc

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47180
2015-10-11 16:24:43 +00:00
John Crispin
2fc473cf3f lantiq: bugfix wrong non pre-emptive crc errors output
This patch fixes a wrong non pre-emptive crc errors output of
dsl_control.sh status.

Signed-off-by: Luca Debernardi <luca.debernardi@gmail.com>

SVN-Revision: 47172
2015-10-11 16:23:26 +00:00
John Crispin
02197db96f lantiq: activate spi-xway on TDW89X0
use the hardware spi core in favour of spi-gpio.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47159
2015-10-07 12:12:48 +00:00
John Crispin
33f9165a63 lantiq: spi driver fix
adds a missing wait busy. based on the UGW patch 2060..

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47158
2015-10-07 12:12:35 +00:00
John Crispin
2210e821e1 lantiq: bugfix luci lantiq_dsl status
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
Signed-off-by: Helge Mader <hmader@tdt.de>
Reported-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47152
2015-10-07 08:00:54 +00:00
John Crispin
a0543c2bdc lantiq: several ARV7519RW22 fixes
Fixes ARV7519RW22 flash register (only 1 flash).
Power LED is green, not red.
Rename message LEDs to internet.
Add LEDs configuration (lan, wan, power).
Enable switch VLANs.
Fix secondary USB.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: José Vázquez Fernández <ppvazquezfer@gmail.com>

SVN-Revision: 47132
2015-10-05 10:28:34 +00:00
John Crispin
2795592d91 lantiq: make v4.1 the default kernel
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47131
2015-10-05 10:28:26 +00:00
John Crispin
161179f40b lantiq: Add target TP-Link TD-W8980
The device is similar to the TD-W8970, beside a different Atheros 2.4 GHz
wireless chip and the additional, PCI connected, WAVE300 5 GHz wireless.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 47130
2015-10-05 10:28:19 +00:00
John Crispin
f2f50ad762 lantiq: fix ath_pci_fixup hang on bridged devices
Port of r41856.

In contrast to the brcm63xx target, it isn't sufficient to enable/disable
the bridge. The device needs to be enabled/disabled to fix the hang. The
bridge will be automatically enabled by the time the connected device is
enabled.

Fixes boot on TD-W8980.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47129
2015-10-05 10:28:12 +00:00
John Crispin
c5cc3d9610 lantiq: Change the data-type of mac address in ETOP driver
This adds the changes from r46219 to the linux 4.1 patches as well.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47128
2015-10-05 10:28:07 +00:00
John Crispin
cea7c66ef8 lantiq: bugfix uninitialized variables
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
Reported-by: Sylwester Petela <sscapi@gmail.com>

SVN-Revision: 47127
2015-10-05 10:27:55 +00:00
Matteo Croce
70da7324cd lantiq: fix binutils 2.15.1 build
SVN-Revision: 47105
2015-10-04 22:03:04 +00:00