Commit graph

17022 commits

Author SHA1 Message Date
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
Mathias Kresin
59261cbf38 docs: remove all refrences in Makefiles/scripts
The SDK Makefile still trys to copy the docs folder which was removed
with 882f4d2d63. This causes an SDK build
error.

All other removals are just cleanup.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-30 10:13:14 +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
Mathias Kresin
4780e7e994 ramips: add size checks/append metadata where missing
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:34:23 +01:00
Mathias Kresin
6cc0ae27b9 ramips: fix Airlink AR670W factory image
Move the mkwrgimg build step to the makefile. It will be required by
other boards as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:34:23 +01:00
Mathias Kresin
7cc0d8b3bd mvebu: fix typo in image metadata support
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:34:22 +01:00
Mathias Kresin
3228c2a682 ipq806x: more dts cleanup
Remove the wifi5g LED from the the d7800, r7500 and r7800. Albeit this
GPIO is mentioned in the GPL tarball, it doesn't do anything. The
2.4/5 GHz LEDs are connected to the wifi chips and not be controlled
from the the userspace.

Use the LEDs names/colours as they are used in the board manuals. Merge
redundant LED configurations. Use the phy[0|1]tpt trigger for the
wireless LEDs. Remove the workarounds for the not controllable wireless
LEDs.

Fix spi compatible strings and remove superfluous spi-max-frequency
parameters.

If there are two power leds, use one for indicating normal operation and
one for failsafe/upgrade. Keep the on/off state of the main power led
during boot.

Use the usb pinmux settings from the nbg6817 gpl sources.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-27 15:33:54 +01:00
Henryk Heisig
e3caadc69d ipq806x: clean up dts files
Set the pinmux to the values found in the GPL tarballs of the boards.
Remove pinmux which are is not used (like nand pinmux for spi
flash boards).

This allows to use the wan orange led of the C2600 which had a wrong
pinmux before. Might fix buttons or leds of other boards as well.

Fix the LED color and the ledswitch key code of the C2600. Rename the
ledgnr to ledswitch.

Add support for indication the boot state using LEDs to the D7800,
NBG6817, R7500 and R7500v2.

Change GPIO active to readable values in D7800, EA8500, R7500,
R7500v2 and R7800.

Change gpioexport to gpio pinmux.

Add proper "drive strenght" to i2c4_pins and use it for RPM on
C2600, D7800, EA8500, R7500, R7500v2.

Remove pcie pinmux from D7800.

Move pinctrl to correct place in NBG6817 and R7800.

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-11-27 15:24:59 +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
Yong-hyu, Ban
c723646f22 ramips: Add missing chunked-io directive to W2914NSV2.dtsi
Fix bug that LEDE failed to boot with this message:

WARNING: CPU: 2 PID: 1 at drivers/spi/spi-mt7621.c:214
mt7621_spi_transfer_one_message+0x28c/0x620()

Signed-off-by: Yong-hyu, Ban <perillamint@gentoo.moe>
2016-11-26 22:39:21 +01:00
Andrew Yong
a7de18718d ramips: SamKnows SK-WB8 DTS cleanup
Use gpio.h definition of GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW. Remove unused backup partition to increase available JFFS space. As long as U-Boot env variable "bootcount" is < 3 (reset to 0 after boot by init script) SamKnow's U-Boot will not attempt to boot from the backup flash address (0xe30000).

Signed-off-by: Andrew Yong <me@ndoo.sg>
2016-11-26 22:35:52 +01:00
Felix Fietkau
95e7868e7e Revert "mvebu: simplify etc/board.d/02_network"
This reverts commit 539ae47103.
According to reports, this introduces a regression on WRT3200ACM

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-25 20:03:45 +01:00
Mathias Kresin
ee6beb2e1c ramips: remove kmod-ledtrig-usbdev from recently added devices
None of the devices uses an usb led at all.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-24 22:37:40 +01:00
Piotr Dymacz
6998b8a054 ar71xx: move DomyWifi DW33D to nand subtarget
This device uses NAND FLASH, so it should be kept in nand subtarget.

Also, inlcude in packages kmod-usb-ledtrig-usbport instead of
obsolete kmod-ledtrig-usbdev.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-11-24 22:37:40 +01:00
Sebastian Quilitz
ae79c41286 ipq806x: add support for TP-Link Archer VR2600v
This router is similar to the C2600. Ethernet on WAN + LAN, switch,
sysupgrade, LEDs, buttons and WiFi on 2G + 5G do work. The xDSL modem
and the POTS/DECT interface are not supported yet.

It is not possible to flash LEDE via the TP-Link webinterface. The
image need to be signed. The first 0x200 bytes of the image is the
TP-Link header including the signature. The signature is not validated
by the bootloader. The LEDE image is zeroed in this area.

To install LEDE it is necessary to solder a four pin header to JP2.
Connect a serial interface to this header and interrupt the autostart
of kernel. Transfer the sysupgrade image via TFTP and write it to the
serial flash at 0x320000.

Signed-off-by: Sebastian Quilitz <zeraphim@x-pantion.de>
2016-11-24 22:37:40 +01:00
Felix Fietkau
f3096e6322 sunxi: enable CONFIG_VHOST_NET like on x86
Other virtualization options are already enabled, so this is only a
small addition

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-24 13:25:16 +01:00
Felix Fietkau
28cd4880a5 kernel: add missing config symbols
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-24 13:24:11 +01:00
Yousong Zhou
715fd8c5bc target: sunxi: enable builtin crypto-hw module sun4i-ss
CONFIG_CRYPTO_DEV_SUN4I_SS was previously set to y but did not take
effect because of the absence of CONFIG_CRYPTO_HW=y

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-11-24 12:53:19 +01:00
Christian Lamparter
49856a4bb5 apm821xx: make it possible to update the dtb partition on the WNDR4700
Currently, the device-tree partition is marked as read-only.
Hence, userspace tools like mtd can't write into the partition.
This however will be necessary in case the DTB needs to be
updated.

This patch also adds the kernel.dtb image, so the compiled
DTB is exported as a file and available in the binary
directory along the firmware images.

Note: the u-boot does expects the dtb to be a uimage.

To update the dtb manually:
 1. copy the generated dtb to the router.
 2. mtd erase /dev/mtd2
 3. mtd write wndr4700.dtb /dev/mtd2

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-11-24 12:53:18 +01:00
Yousong Zhou
468735c3a2 target: sunxi: enable kvm support
Unlike x86, kvm for arm has to be built into the kernel.  The kernel
config was prepared with the following command

    make kernel_menuconfig CONFIG_TARGET=platform

Then enable ARM_LPAE, VIRTUALIZATION, KVM in that order

Other config changes are done by the build system.  The following text
tries to explain some of them, for archive purposes probably...

 - BUILD_BIN2C.  It was dropped probably because the prompt is empty and
   no other config option selects it.  bin2c is a host executable for
   converting binary content to a piece of c code for inclusion
 - CRYPTO_DEV_SUN4I_SS.  It was dropped because the dependency CRYPTO_HW
   was not enabled.  Setting that aside, packaging it as a loadbable
   module in lieu of other sunxi specific modules seems more appropriate
 - PGTABLE_LEVELS.  It was changed from 2 to 3 because 3 is the default
   when ARM_LPAE is enabled
 - HAVE_KERNEL_GZIP, etc..  These are enabled in generic config
 - SCHED_INFO, ZLIB_INFLATE.  These were dropped probably for the same
   reason as for BUILD_BIN2C

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-11-24 12:53:18 +01:00
Felix Fietkau
426e4d93bb uml: clean up the kernel config and add squashfs+ext4/f2fs support
Replaces plain ext4 images

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-24 12:53:18 +01:00
Paul Wassi
539ae47103 mvebu: simplify etc/board.d/02_network
Unify switch configuration on Linksys WRTxx00AC series.
LAN = eth0, WAN = eth1

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
2016-11-24 12:53:17 +01:00
Felix Fietkau
9fc0bcdd18 mvebu: use image metadata for firmware validation
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-24 12:53:17 +01:00