Commit graph

16812 commits

Author SHA1 Message Date
Felix Fietkau
832fb99da2 kernel: Add check to of_scan_flat_dt() before accessing initial_boot_params
Fixes a bug that affects rt288x

Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:50 +01:00
Felix Fietkau
b3c5db79eb kernel: Fix alloc_node_mem_map with ARCH_PFN_OFFSET
Fixes a bug that affects rt288x

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:50 +01:00
Felix Fietkau
2135e54c00 ar71xx: set GPIO reset line for Ubiquiti NanoStation Loco XW
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:50 +01:00
Felix Fietkau
106a4605c8 ar71xx: add support for configuring at803x PHY GPIO reset via platform data
Needed to work around ethernet hang issues on Ubiquiti NanoStation Loco XW,
because ar71xx is not converted to device tree yet.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:50 +01:00
Felix Fietkau
feb25f1a5b kernel: add support for the AT8032 PHY
This PHY is used on the Ubiquiti Networks NanoStation Loco XW

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:50 +01:00
Felix Fietkau
06a21e12ee kernel: backport some upstream at803x fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:49 +01:00
Felix Fietkau
566de813c3 ramips: prevent packet forwarding on mt7620 between switch ports during init (FS#103)
By default, forwarding between all ports is allowed on init. This is
problematic in cases where some ports are supposed to be isolated from
each other, most commonly LAN/WAN separation.

REG_ESW_PORT_PCR(port) has a destination mask for a particular port,
controlling what other ports it is allowed to send packets to.
Instead of initializing all to 0xff (all ports), allow each physical
port to send to the CPU port, and the CPU port to send to all other
ports.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:49 +01:00
Yong-hyu, Ban
377eac0ceb ramips: fix LAN port order of WeVO W2914NS v2
Signed-off-by: Yong-hyu, Ban <perillamint@gentoo.moe>
2016-12-04 08:22:07 +01:00
BangLang Huang
23b58f8acb ramips: fix PBR-D1 button definition
Due to the product specification, the button on PBR-D1 should be
reset, not wps.

Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
2016-12-04 07:03:17 +01:00
Tobias Wolf
2e020e2cef ramips: add support for PCI based OHCI/EHCI support for F5D8235 V1
This router uses an PCI attached NEC EHCI controller to support the single USB port.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
2016-12-04 07:03:17 +01:00
Tobias Wolf
13c0d208b2 ramips: introduce CONFIG_PCI and CONFIG_OF_*PCI for rt288x
This is a prerequisite for F5D8235 V1 to use PCI based OHCI/EHCI.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
2016-12-04 07:03:17 +01:00
Tobias Wolf
c2ed721e89 ramips: improve F5D8235 V1 support
This fixes the partition name for the firmware splitter, the cfi
address and adds the mtd-eeprom address for wmac. It adds additional
LEDs and make use of them in diag.sh and 01_leds.

Please note that the ":blue:wired" LED is used because the
":blue:router" behaviour is unpredictable for failsafe indication. The
issue with the router LED is that you have two states only.
"off" is steady on and "on" blinks. Therefore the wired LED is more
suitable.

Furthermore it reuses the correct switch configuration definition to
reflect the device ports and numbering. Additionally fixes the issue
that the default configuration is not applied as no port 6 exists on
this device.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
2016-12-04 07:03:17 +01:00
Vignesh Balasubramaniam
62e4c915ee mvebu: fix sysupgrade for Linksys WRT3200ACM
sysupgrade command fails due to missing U-Boot environment-processing
binaries on sysupgrade ramdisk. The missing binaries result in the
following output:

Switching to ramdisk...
	Performing system upgrade...
	ash: /usr/sbin/fw_printenv: not found
	ash: fw_setenv: not found
	ash: touch: not found
	cannot find target partition

Signed-off-by: Vignesh Balasubramaniam <vigneshb.hp@gmail.com>
2016-12-04 07:03:17 +01:00
Mathias Kresin
c95e4e715d mvebu: fix image validation error
The name from the Device define will be used in the metadata. Due to
typo/different spelling, this name might not match the one exported in
/lib/mvebu.sh.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-12-04 07:03:17 +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
John Crispin
7c809f1687 ramips: fix sdhci support on mt7621
the IRQ level was wrong. refresh the patch while at it.

Signed-off-by: John Crispin <john@phrozen.org>
2016-12-01 18:30:41 +01:00
Andrew Yong
07b571a435 ramips: RB750Gr3: Add pwr LED and buzzer to DTS
use pwr LED in diag.sh
Expose unused pinmux pins as GPIOs
export power LED and buzzer pins
Use rb750gr3:blue:pwr LED in diag.sh for boot status instead of rb750gr3:green:usr

Signed-off-by: Andrew Yong <me@ndoo.sg>
2016-12-01 16:17:55 +01:00
dissent1
fef6a96d9e ipq806x: add thermal sensor driver
Allows to check cpu temperature.

Huge thanks to @hnyman for valuable assistance!

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
2b71f958b1 ipq806x: increase coherent dma pool size
Cherry-picked and rebased from
https://source.codeaurora.org/quic/qsdk/system/openwrt/tree/?h=korg/linux-3.4.y/release/arugula_bb_cs

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
8fca99266e ipq806x: add enable reg and masks for PRNG
Cherry-picked from https://source.codeaurora.org/quic/qsdk/system/openwrt/tree/?h=korg/linux-3.4.y/release/arugula_bb_cs

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
94e4ee5395 net: ar8327: modify some configuration of switch
Imported from https://source.codeaurora.org/quic/qsdk/system/openwrt/commit/?h=korg/linux-3.4.y/release/arugula_bb_cs&id=2be4f8a8b205ae1a37db44839864451ebe893e6e
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

Enable flow control of LAN and WAN ports to
get better performance.
Setup pvid as 0 for all ports during initialisation
to avoid confusion during system or switch INIT.
Disable PORT MAC before config MAC to avoid it work abnormal.
This change is for IR-054144, IR-057315.

Change-Id: I345f3dffa59ad3f97150e09692723da12a7b1067
Signed-off-by: Zou Shunxiang <shunxian@codeaurora.org>
Signed-off-by: xiaofeis <xiaofeis@codeaurora.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
5a69f59602 net: ar8216: address security vulnerabilities in swconfig & ar8216
Imported from e1aaf7ec00%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: net: ar8216: address security vulnerabilities in swconfig & ar8216

This patch does the following changes:
*address the security vulnerabilities in both swconfig framework and in
 ar8216 driver (many bound check additions, and turned swconfig structure
 signed element into unsigned when applicable)
*address a couple of whitespaces and indendation issues

BUG=chrome-os-partner:33096
TEST=none

Change-Id: I94ea78fcce8c1932cc584d1508c6e3b5dfb93ce9
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/236490
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Commit-Queue: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
a3454d1929 net: ar8216: prevent device duplication in ar8xxx_dev_list
Import from fd7b89dd46%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: prevent device duplication in ar8xxx_dev_list

If probe is called twice, once for PHY0 and a second time for PHY4,
the same switch device will be added twice to ar8xxx_dev_list, while
supposedly this list should have one element per hardware switch present
in the system.

While no negative impact have been observed, it does happen if a
platform instanciates these two PHYs from device-tree, as an example.

Change-Id: Iddcbdf7d4adacb0af01975b73f8e56b4582e894e
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/234790
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
eb049d3777 net: ar8216: hold ar8xxx_dev_list_lock during use_count--
Import from c3fd96a7b8%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: hold ar8xxx_dev_list_lock during use_count--

It is possible for the remove() callback to run twice in parallel, which
could result into --use_count returning only 1 in both cases and the
rest of the unregistration path to never be reached.

This case has never been observed in practice, but we will fix
preventively to make the code more robust.

BUG=chrome-os-partner:33096
TEST=none

Change-Id: If09abe27fdb2037f514f8674418bafaab3cbdef6
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232870
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
65b20d8b64 net: ar8327: replace sprintf() by scnprintf()
Import from fd0c41c7b9%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: replace sprintf() by scnprintf()

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Ib82035c9f2769a86d3e90f9573a09e5700ff5676
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232829
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
9aa734f8f5 net: ar8327: remove unnecessary spinlocks
Import from 541c15f8dd%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: remove unnecessary spinlocks

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Ia1b51258504501863fd3298717cc923a1baf34ca
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232828
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
7de8d5322e net: ar8216: sync mib_work cancellation
Import from c05af20272
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: sync mib_work cancellation

ar8xxx_mib_stop() is called from ar8xxx_phy_remove(), so we want to make
sure the work doesn't run after priv is freed / the device ceases to
exist.

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Iafb44ce93a87433adc4576e5fea5fda58d1f43a9
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232827
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
Pavel Kubelun
550f71ec8d ipq806x: refactor rpm clock controller patches
RPM clock controller driver had made its way upstream and previous
approach of directly redoing a driver to support ipq806x is a no go anymore.

Thus reverting mentioned patches to upstream state and renaming
in correct patch numbering accordance.

To make the driver work on ipq806x boards we introduce a custom patch.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2016-12-01 15:47:43 +01:00
Felix Fietkau
b2443838e6 kernel: add missing config symbols
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-01 15:05:03 +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
Matthias Schiffer
a15ea362d7
ar71xx: fix syntax error in /lib/ar71xx.sh
Remove all comments in ubnt_xm_board_detect(), as it's not possible to add
comments to specific lines of the case construct anyways.

Fixes: 9a5801e7 "ar71xx: add model detection for UBNT Rocket Ti"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-11-29 19:53:47 +01:00
Matthias Schiffer
9a5801e7f6
ar71xx: add model detection for UBNT Rocket Ti
Based-on-patch-by: Neal Oakey <neal.oakey@bingo-ev.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-11-29 15:37:39 +01:00
Felix Fietkau
a07c4977ac brcm47xx: fix initramfs image build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
f12f77b477 brcm47xx: merge cpu cache workaround patches into one, ensure they get compiled out on mips74k
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
1cd7ff3e96 ar71xx: remove squashfs-64k rootfs image from bin directory, the generic one is enough
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
eff858e8df ar71xx: remove split kernel/rootfs images where the sysupgrade image can be written to flash directly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
cc550d0005 ar71xx: remove 2MB flash variant of WP543
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:55:05 +01:00
Felix Fietkau
12e2beaaed ar71xx: remove legacy devices that cannot be supported due to kernel partition size limits
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:51:57 +01:00
Felix Fietkau
35dda35114 ar71xx: remove legacy gzip images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:44:39 +01:00
Felix Fietkau
88f6f0120d ar71xx: remove obsolete jffs2 image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:44:39 +01:00
Rafał Miłecki
480473337d kernel: use upstream accepted bcm47xxpart parsing fix
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-11-28 13:15:13 +01:00
Rafał Miłecki
32875a2d79 bcm53xx: use upstream accepted fix for ARM core aborts
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-11-28 13:14:14 +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