Commit Graph

20405 Commits

Author SHA1 Message Date
Mathias Kresin
7c1332d95f ramips: consolidate seama image build code
Create a common template which has the required image build code
defined. Add some new variables to pass individual parts to the seama
recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-30 20:08:12 +01:00
Jonas Gorski
a01568fbd3 brcm63xx: remove broken DSP platform device code
There is no driver and it crashes the kernel, so just remove it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-12-30 13:22:13 +01:00
Jonas Gorski
d09561f73d brcm63xx: fix bcm6348 pinmux group selection
The mask/shift computation used the pin group number instead of the pin
number, resulting in always modifying group 4 when applying muxes, so
fix it to consistently use the pin number.

Fixes: 0755c2d117 ("brcm63xx: add pinctrl support")
Reported-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-12-30 13:22:13 +01:00
Daniel Gonzalez Cabanelas
33bff49a31 brcm63xx: VH4032N: add the SPROM fixups
Add the SPROM fixups for the onboard BCM43222 wifi on the Observa
VH4032N

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
2018-12-30 13:22:13 +01:00
Jonas Gorski
6d6127e537 brcm63xx: fix gpio hogs on gpio/pinctrl nodes
Work around a chicken/egg issue in registration of dual gpio/pinctrl
nodes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-12-30 13:21:42 +01:00
Jonas Gorski
1789202ed4 brcm63xx: rename switch core reset patch to 0xx as it has been accepted
The core reset fix was accepted upstream, so move it to its right place.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-12-30 13:20:57 +01:00
Eduardo Barros
335c69fbb2 ath79: Fix wrong TL-WR740N v4 switch port order
Fix the switch port order to have the correct order in LuCI.

Fixes: FS#1469

Signed-off-by: Eduardo Barros <geadas@gmail.com>
[trim commit title, add a proper commit message, add fixes tag, keep
alphabetical order of the blocks]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-29 16:12:41 +01:00
Deng Qingfang
5580a9dd31 ramips: add support for GeHua GHL-R-001
Specs
	SoC: MT7621AT
	RAM: 512MiB
	Flash: 32MiB MX25L25635F SPI NOR
	2.4G: MT7603EN
	5G: MT7612EN
	Ethernet: 4x GE ports (1x WAN, 3x LAN) with link status LEDs
	USB 3.0
	LEDs: POWER, 5G WIFI, 2.4G WIFI, USB, Internet.
	      The last two ones are controlled by GPIO
	UART: There are 2 UARTs (UARTLITE1/ttyS0 and UARTLITE3/ttyS1) on board.
	      UARTLITE1 is close to LEDs, and UARTLITE3 is close to flash chip.
	      The stock u-boot uses UARTLITE1 by default. Baud rate is 57600

Flash instruction
	1. telnet 192.168.9.1 2317, username is "root" and password is "admin"
	   One can alternatively use UART to log in
	2. Put OpenWrt firmware in a FAT32 USB drive, and connect it to the router
	   One can alternatively download the firmware via wget through Internet
	3. mtd write /path/to/openwrt.bin firmware
	4. reboot

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2018-12-29 16:03:30 +01:00
Deng Qingfang
0599cd90e1 ramips: fix MT7621 dtsi
Fix SysTick reg
Add uartlite2 and uartlite3 nodes

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2018-12-29 16:03:30 +01:00
Simon Quigley
9f0e233576 ramips: add support for DLINK DWR-922-E2
Very similar to the DWR-921-C1, except has a telephony/RJ11 port (not
sure if supported, I didn't try), wireless router with QMI LTE embedded
modem is based on the MT7620N SoC.

Specification:

  * MediaTek MT7620N (580 Mhz)
  * 64 MB of RAM
  * 16 MB of FLASH
  * 802.11bgn radio
  * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
  * 2x external, detachable (LTE) antennas
  * UART header on PCB (57600 8n1)
  * 6x LED (GPIO-controlled)
  * 1x bi-color Signal Strength LED (GPIO-controlled)
  * 2x button
  * JBOOT bootloader

The status led has been assigned to the dwr-922-e2:green:signalstrength
(lte signal strength) led. At the end of the boot it is switched off and
is available for lte operation. Works correctly also during sysupgrade
operation.

Installation:
Apply factory image via d-link http web-gui, or via recovery interface:

How to recover/revert to OEM firmware:
1.) Push and hold the reset button and turn on the power. Wait until all
    LEDs start rapidly blinking (~10sec.)
2.) DHCP should give you an IP in the 192.168.123.0/24 subnet, or set
    one manually
3.) Upload original factory image via JBOOT http interface at IP
    192.168.123.254
4.) If http doesn't work, it can be done with curl command:
      curl -F FN=@XXXXX.bin http://192.168.123.254/upg
    where XXXXX.bin is name of firmware file.
5.) You can optionally telnet to 192.168.123.254 before or during the
    upload and it will report the flashing status, memory address etc.
6.) Once web UI and/or telnet says "Success", power cycle the router, or
    type "reboot" into the telnet session.

Signed-off-by: Simon Quigley <squigley@squigley.net>
[squashed commits, word wrap commit message, rename signal strenght led
name to match what is used for the DWR-921-C1 since they share the led
configuration, add label referenced in the aliases node]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-29 16:03:30 +01:00
Christian Lamparter
cb0f39c9cd kernel: fix f2fs on big endian machines
The WD MyBook Live SquashFS images didn't work anymore due to
a upstream regression in f2fs commit: 0cfe75c5b01199
("f2fs: enhance sanity_check_raw_super() to avoid potential overflows")
that got backported to 4.14.86 and landed in 4.18.

by Martin Blumenstingl:
|Treat "block_count" from struct f2fs_super_block as 64-bit little endian
|value in sanity_check_raw_super() because struct f2fs_super_block
|declares "block_count" as "__le64".
|
|This fixes a bug where the superblock validation fails on big endian
|devices with the following error:
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 1th superblock
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 2th superblock
|As result of this the partition cannot be mounted.
|
|With this patch applied the superblock validation works fine and the
|partition can be mounted again:
|  F2FS-fs (sda1): Mounted with checkpoint version = 7c84
|
|My little endian x86-64 hardware was able to mount the partition without
|this fix.
|To confirm that mounting f2fs filesystems works on big endian machines
|again I tested this on a 32-bit MIPS big endian (lantiq) device.

Hopefully, this will do until Martin's patch moved through upstream
to -stable.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-29 13:41:35 +01:00
Christian Lamparter
eb43efa997 apm821xx: fix MBL DUO SUPPORTED_DEVICES compat id
The MyBook Live DUO used "wd,mybooklive-duo" as the first
compatible string and not "wd_mybooklive-duo".

Fixes: 9b47aa93c7 ("apm821xx: unify My Book Live Single + Duo images")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-29 13:38:53 +01:00
Andreas Ziegler
d492da702a ramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526
This fixes the 5GHz WiFi LED which was previously not working.

Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
2018-12-29 12:35:47 +01:00
David Bauer
97dc323a4c ath79: fix Archer A7 v5 5GHz MAC adress
Currently all Archer A7 v5 have the same (incorrect) MAC address.
The address is currently derived from eth1 which is not present on the
QCA9563. Use eth0 to get the correct MAC address.

Signed-off-by: David Bauer <mail@david-bauer.net>
2018-12-29 12:35:47 +01:00
Weijie Gao
74af8a833a ramips: add support for CreativeBox v1
Hardware:
SoC: MT7621
DRAM: 512MB DDR3
Flash: 32MB SPI-NOR
WiFi 2.4GHz: MT7603 @ PCIe0
WiFi 5.8GHz: MT7612 @ PCIe1
SATA: ASM1061 @ PCIe2

Interfaces:
GBE RJ45 x5
USB3.0 x1
eSATA (with USB2.0) x1
SATA x1
UART x1
I2C x1
JTAG x1

Flash instructions:
Through factory bootloader or firmware web interface

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2018-12-28 12:45:23 +01:00
NOGUCHI Hiroshi
d020ae79ab ramips: add SPDX license identifier into some dts,dtsi
Acked-by: Mathias Kresin <dev@kresin.me>
Acked-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com>
2018-12-28 12:45:23 +01:00
Christian Lamparter
e59a6c8d4c apm821xx: switch MyBook Live's recovery images to multi-file
This patch converts the MyBook Live's recovery image to utilize the
multi-image method which integrates the device-tree binary directly
into the image.

The new initramfs can be loaded through the MyBook Live's U-boot
in the following way:

=> setenv ipaddr 192.168.1.1
=> setenv serverip 192.168.1.2
=> sata init; run addtty; tftp $kernel_addr_r wd_mybooklive-initramfs.bin; bootm
   Waiting for PHY auto negotiation to complete... done
   ENET Speed is 1000 Mbps - FULL duplex connection (EMAC0)
   Using ppc_4xx_eth0 device
   TFTP from server 192.168.1.2; our IP address is 192.168.1.1
   Filename 'wd_mybooklive-initramfs.bin'.
   Load address: 0x1000000
   Loading: ################################################ [...]
   done
   [...]
   Booting kernel from Legacy Image at 01000000 ...
      Image Name:    initramfs
      Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
   [...]

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-28 00:45:57 +01:00
Christian Lamparter
4cd533411e apm821xx: 4.14: switch to upstream dw-dma-hport patch
This patch fixes the build regression on 4.14 build
due to dt-bindings/dma/dw-dmac.h MIA.

apm82181.dtsi:24:10: fatal error: dt-bindings/dma/dw-dmac.h: No such file or directory

Fixes: 32141c183a ("apm821xx: add linux 4.19 apm821xx patches")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 23:08:01 +01:00
Rafał Miłecki
25d8aa7d02 brcm47xx: add support for the kernel 4.19
One patch that wasn't ported due to a lot of conflict is:
901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch

Hopefully a correct/real fix will get developed before we switch
brcm47xx to the 4.14.

This IS NOT ready for switching/trying/using 4.19 yet due to some DMA
regression affecting bgmac:
[    0.945472] bgmac_bcma bcma0:2: Found PHY addr: 25
[    0.954565] libphy: bcma_mdio mii bus: probed
[    0.959486] ------------[ cut here ]------------
[    0.964387] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 bgmac_enet_probe+0x1b4/0x5c4
[    0.973751] Modules linked in:
[    0.976913] CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.9 #0
[    0.982750] Stack : 804a0000 804597c4 00000000 00000000 80458fd8 8381bc2c 838282d4 80481a47
[    0.991367]         8042e3ec 00000001 804d38f0 00000204 83980000 00000065 8381bbe0 6f55b24f
[    0.999975]         00000000 00000000 80520000 00002018 00000000 00000075 00000007 00000000
[    1.008583]         00000000 80480000 000ee811 00000000 00000000 00000000 80432c00 80248db8
[    1.017196]         00000009 00000204 83980000 803ad7b0 00000000 801feeec 00000000 804d0000
[    1.025804]         ...
[    1.028325] Call Trace:
[    1.030875] [<8000aef8>] show_stack+0x58/0x100
[    1.035513] [<8001f8b4>] __warn+0xe4/0x118
[    1.039708] [<8001f9a4>] warn_slowpath_null+0x48/0x64
[    1.044935] [<80248db8>] bgmac_enet_probe+0x1b4/0x5c4
[    1.050101] [<802498e0>] bgmac_probe+0x558/0x590
[    1.054906] [<80252fd0>] bcma_device_probe+0x38/0x70
[    1.060017] [<8020e1e8>] really_probe+0x170/0x2e8
[    1.064891] [<8020e714>] __driver_attach+0xa4/0xec
[    1.069784] [<8020c1e0>] bus_for_each_dev+0x58/0xb0
[    1.074833] [<8020d590>] bus_add_driver+0xf8/0x218
[    1.079731] [<8020ef24>] driver_register+0xcc/0x11c
[    1.084804] [<804b54cc>] bgmac_init+0x1c/0x44
[    1.089258] [<8000121c>] do_one_initcall+0x7c/0x1a0
[    1.094343] [<804a1d34>] kernel_init_freeable+0x150/0x218
[    1.099886] [<803a082c>] kernel_init+0x10/0x104
[    1.104583] [<80005878>] ret_from_kernel_thread+0x14/0x1c
[    1.110107] ---[ end trace f441c0d873d1fb5b ]---
[    1.114914] bgmac_bcma bcma0:2: Allocation of TX ring 0x200 failed
[    1.121215] bgmac_bcma bcma0:2: Unable to alloc memory for DMA
[    1.127626] bgmac_bcma: probe of bcma0:2 failed with error -12
[    1.133838] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-27 22:12:15 +01:00
Petr Štetiar
6ab138fa84 ath79: ubnt-bullet-m-xw: Remove eth1 disabled node
It's redundant as eth1 is disabled by default in ath79.dtsi.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-27 16:02:25 +01:00
Petr Štetiar
74f46d90be ath79: ubnt-bullet-m-xw: Move eth0 mtd-mac-address to the common include
It's same for Bullet and Nanostation so far, so let's hope it's going to
be the same for other boards sharing the same platform.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-27 16:02:25 +01:00
Petr Štetiar
6935d73851 ath79: ubnt-bullet-m-xw: Remove pll-data property from eth0 node
It's not necessary as it's already defined in ar934x.dtsi to:

  pll-data = <0x16000000 0x00000101 0x00001616>;

And in ar71xx it's currently set to the same values:

 #define AR934X_PLL_VAL_1000	0x16000000
 #define AR934X_PLL_VAL_100	0x00000101
 #define AR934X_PLL_VAL_10	0x00001616

And dumping the value from the airOS v6.1.7 has the same value:

  AR934X_PLL_ETH_XMII_CONTROL_REG 0x1805002C 0x101

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-27 16:02:24 +01:00
Petr Štetiar
965ce07dbb ath79: ubnt-xw: Add LED aliases for diag and status LED support
Currently there is no LED signalization for various system states
implemented in diag.sh, so this patch adds support for it.

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-27 16:02:23 +01:00
Christian Lamparter
32141c183a apm821xx: add linux 4.19 apm821xx patches
This patch updates the apm821xx target to use the 4.19 kernel.

4.19 ships with all the crypto4xx driver patches. Furthermore,
the DW-DMA fix for the SATA controller has been backported from
4.20 and integrated.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
96d55f9fd9 kernel: 4.19: fix usbport led trigger regression
|In the patch "usb: simplify usbport trigger" together with
|"leds: triggers: add device attribute support" caused an
|regression for the usbport trigger. it will no longer
|enumerate any "ports" (i.e the sysfs directory stays empty)
|if the usb host drivers are fully initialized before the
|usbport trigger was loaded.

<https://marc.info/?l=linux-usb&m=154577101631079>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
ef5ff08662 ipq40xx: convert to device-tree based USB LED trigger
Thanks to the ledtrig-usb.c the USB LED trigger can be
setup in the device-tree definition for the Asus RT-AC58U
and ZyXEL NBG6617.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
ee5d3a6d7c ipq40xx: fix warning triggered by bad interrupt definition
This patch fixes a kernel warning that got triggered by 4.19
because of a bad/missing interrupt level definition in the DTS.

| WARNING: CPU: 2 PID: 1996 at drivers/irqchip/irq-gic.c:1016
| CPU: 2 PID: 1996 Comm: kmodloader Not tainted 4.19.9 #0
| Hardware name: Generic DT based system
| [<c0317884>] (warn_slowpath_null) from [<c04f9cd0>]
| [<c04f9cd0>] (gic_irq_domain_translate) from [<c035af30>]
| [<c035af30>] (irq_create_fwspec_mapping) from [<c035b1e0>]
| [<c035b1e0>] (irq_create_of_mapping) from [<c0614eec>]
| [<c0614eec>] (of_irq_get) from [<c0614f3c>]
| [<c0614f3c>] (of_irq_to_resource) from [<c0614ff0>]
| [<c0614ff0>] (of_irq_to_resource_table) from [<c0610e08>]
| [<c0610e08>] (of_device_alloc) from [<c0610ea0>]
| [<c0610ea0>] (of_platform_device_create_pdata)
| [<c061120c>] (of_platform_bus_create)
| [<c06113c4>] (of_platform_populate)
| [<bf4c06b4>] (dwc3_qcom_probe [dwc3_qcom])

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
6e58fb2c33 ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom
Robert Marko <robimarko@gmail.com> noted in
"ipq40xx: Use kmod-usb-dwc3-qcom by default":
| Since 4.18 we cant use DWC3 OF Simple anymore so we
| have to use kmod-usb-dwc3-qcom.

This patch adds a TODO right next to the KERNEL_PATCHVER so
it will be picked up when moving to 4.19.

I would also like to point out:

All users/devs that are compiling their own images from source
and have a existing 4.14 config and want to switch to 4.19:

Please drop kmod-usb-dwc3-of-simple and add kmod-usb-dwc3-qcom
module package. Otherwise, the USB port on your router will no
longer work.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
a5ac9030ed ipq40xx: MR33: device-tree update
- 4.19 no longer refuses to initialize the mdio bus if
   a phy is not connected.

 - fix partition unit-address

 - restrict partition offset and size to 32-bit integers.

 - add note to warn people not to mess with the ubi
   partition size.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:36:23 +01:00
Christian Lamparter
51ec6bddd3 ipq40xx/ipq806x: 4.19: fix qcom-nandc panic on boot
This patch fixes the crash that occures on rawnand device.
<https://patchwork.ozlabs.org/patch/1017933/>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:35:34 +01:00
Christian Lamparter
a2501ebfb0 ipq40xx: remove qcom,ipq4019 on all devices
Upstream commit:
80483c3abf8 ("ARM: qcom: Cleanup/Remove unnecessary board file")
removed all the platform device compatibles stating that:
"This patch removes the unnecessary board file. The generic machine
definition is sufficient for the Qualcomm platforms."

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:30:45 +01:00
Christian Lamparter
00dd84ca2e ipq40xx: rt-ac58u: fix device-tree snafu
- make the device userspace integration (WIFI,MAC,sysupgrade)
   work again by renaming the ubi to UBI_DEV as a temporary measure.
   In the future, once 4.14 support is dropped, this can all be
   refactored again. *sigh*

 - use the wifi0 and wifi1 labels

 - follow Device-Tree Release v0.2 2.2.2 Generic Names Recommendation

 - fix duplicated partition node-names

 - remove qcom,ipq4019 platform compatible. it's no longer needed
   (and wrong because the chip is a qcom,ipq4018).

Fixes: 4c67f3ad78d ("ipq40xx: Adapt 4.19 DTS for upstream SPI-NAND driver")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:30:45 +01:00
Robert Marko
077a63db1d ipq40xx: 4.19: Enable pseudo random number generator
IPQ40xx series has a HW pseudo random number generator built in.
It already has a node in the upstream ipq4019.dtsi so we just need to enable it.
Its driver has been rewritten to use crypto API so we dont have char interface like under 4.14 kernel.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-27 14:30:45 +01:00
Robert Marko
59485f7486 ipq40xx: files-4.19: Clear some DTC warnings
DTC was throwing warnings like this:
image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/m25p80@0: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/spi-nand@1: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

So lets fix this for our downstream boards.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-27 14:30:45 +01:00
Robert Marko
c29c8838a1 ipq40xx: Use upstream SPI-NAND driver instead of MT29F
Since 4.19 upstream kernel provides generic SPI-NAND
framework and vendor specific drivers.
Since only users of MT29F are 2 boards with Winbond
W25N01GV SPI-NAND for which support has been backported
from 4.20 we can drop the ever stuck in staging MT29F
driver and instead use the upstream driver.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [squashed]
2018-12-27 14:26:07 +01:00
Robert Marko
13321fa142 ipq40xx: Use kmod-usb-dwc3-qcom by default
Since 4.18 we cant use DWC3 OF Simple anymore so we have to use
kmod-usb-dwc3-qcom.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-27 14:06:38 +01:00
Robert Marko
30f2b22952 ipq40xx: Add 4.19 kernel config
This adds the neccessary 4.19 kernel config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-27 14:06:38 +01:00
Robert Marko
8b7abea2f6 ipq40xx: Add patches for 4.19
This adds the necessary patches for 4.19 kernel.
Upstreamed patches were dropped, backported upstreamed patches
from 4.20.
Drop Winbond ID patch since that NAND IC was upstreamed to use
SPI-NAND framework and support for it was backported from 4.20.
Rework ESSEDMA patches to compile under 4.19 due to timer changes,
Clément Péron did the hard work and his changes were taken from the
initial 4.19 PR.
MR33 changes had to be manually refreshed to apply.
Refresh other patches to apply.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Remove
2018-12-27 14:06:38 +01:00
Robert Marko
96b69c2e9a ipq40xx: Add files for 4.19
This copies over files from 4.14

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-27 14:06:38 +01:00
David Bauer
e67da34431 ath79: add support for devolo WiFi pro 1750c
Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 3T3R
WiFi5: QCA9880 3T3R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

There is also a Micro-B USB-port present but this only seems to be a
dummy as the circuit next to it is not present (at least in my unit).

It is also not mentioned in the devolo manual.

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
2018-12-27 14:06:38 +01:00
David Bauer
1724d4e9ed ath79: add support for devolo WiFi pro 1200e
Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
       1x Atheros AR8033
WiFi2: QCA9558 2T2R
WiFi5: QCA9880 2T2R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
2018-12-27 14:06:38 +01:00
TOCK Chiu
8471944325 ath79: add support for TP-Link Archer C7 v5
This commit adds support for TP-Link Archer C7 v5, leveraging most effort
from commit ea9baee and 1e4ee63. Archer C7 v5 is identical to Archer A7 v5
but with a different flash layout.

Specification:
-   QCA9563 SoC (750 MHz)
-   128 MiB of RAM (DDR2)
-   16 MiB of flash (SPI)
-   5x 1 Gbps Ethernet (1x WAN + 4x LAN)
-   2.4GHz (bgn) SoC internal + 5GHz (ac) QCA9880
-   10x LED, 2x button
-   UART header on PCB

Flash instructions:
1.  Upload openwrt-ath79-generic-tplink_archer-c7-v5-squashfs-factory.bin
    via web interface.

Flash instructions using TFTP recovery:
1.  Plug PC to one of the LAN ports
2.  Set PC to fixed IP address 192.168.0.66
3.  Rename the factory image to ArcherC7v5_tp_recovery.bin and place it in
    TFTP root directory
4.  Turn on the router with the reset button pressed for about 15 secs
5.  Release the button and wait about 150 secs to complete flashing

Signed-off-by: TOCK Chiu <tock.chiu@gmail.com>
2018-12-27 14:06:38 +01:00
Daniel F. Dickinson
3bb44f4299 brcm2708: Add feature flag rootfs-part
Even with squashfs brcm2708 requires ROOTFS_PART_SIZE because the overlay
exists as a loopback device on the space not used by squashfs in the root
partition. Also for ext4 (the other fs option) ROOTFS_PART_SIZE is required,
so use feature flag rootfs-part to enable it.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-12-27 14:06:38 +01:00
Christian Lamparter
1155793809 apm821xx: sata: set rootfs-part feature flag
The rootfs-part feature flag ensures that
CONFIG_ROOTFS_PART_SIZE symbol will be present
at all times.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-27 14:06:38 +01:00
Rafał Miłecki
f3006059eb bcm53xx: update 4.19 config
There were 3 new symbols possible to choose: ARCH_BCM_HR2, PCI_V3_SEMI
and PHY_BCM_SR_PCIE.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-27 08:15:08 +01:00
Rafał Miłecki
75b134c4c5 bcm53xx: add support for the kernel 4.19
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-27 07:59:03 +01:00
Rafał Miłecki
7a7d19abcf bcm53xx: backport DTS changes queued for the 4.21
It just replaces some downstream patches & adds relicensing work.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-27 07:33:24 +01:00
Rafał Miłecki
a5d6f2eb76 bcm53xx: rename dts backport patches changing their prefixes
Start 03x with 030 instead of 035. It's a trivial change that adds more
place for further backports in the 03x space.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-27 07:03:30 +01:00
Hauke Mehrtens
e790227553 kernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19
The configuration option was renamed with kernel 4.19 from
CONFIG_CC_STACKPROTECTOR to CONFIG_STACKPROTECTOR adapt the code to set
both options.

CONFIG_STACKPROTECTOR now sets the regular stack protector and
CONFIG_STACKPROTECTOR_STRONG activates the additional protection of more
functions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-26 17:32:48 +01:00
Hauke Mehrtens
b1daead066 kernel: Add compiler options to generic configuration
With kernel 4.19 new configuration options for the compiler were added.
These are automatically selected and set, instead of having them in each
target configuration, put them into the generic configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-26 17:32:48 +01:00
Hauke Mehrtens
89f8a8be7f kernel: Deactivate CONFIG_COMPAT_BRK
CONFIG_COMPAT_BRK disables the heap randomization which is only needed
for very old and ancient user space applications, I am not aware that we
run any of these, just deactivate this option for these targets to allow
heap randomization.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-26 17:32:48 +01:00
Rafał Miłecki
a28f6ab27f bcm53xx: update pinctrl driver & use its new DT binding
Driver has been updated upstream to support more precise DT binding and
avoid mapping conflicts between pinctrl and USB 2.0 PHY.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-25 15:52:37 +01:00
Kevin Darbyshire-Bryant
8f4841462c kernel: MIPS: math-emu Write-protect delay slot emulation pages
Backport https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=adcc81f148d733b7e8e641300c5590a2cdc13bf3

"Mapping the delay slot emulation page as both writeable & executable
presents a security risk, in that if an exploit can write to & jump into
the page then it can be used as an easy way to execute arbitrary code.

Prevent this by mapping the page read-only for userland, and using
access_process_vm() with the FOLL_FORCE flag to write to it from
mips_dsemul().

This will likely be less efficient due to copy_to_user_page() performing
cache maintenance on a whole page, rather than a single line as in the
previous use of flush_cache_sigtramp(). However this delay slot
emulation code ought not to be running in any performance critical paths
anyway so this isn't really a problem, and we can probably do better in
copy_to_user_page() anyway in future.

A major advantage of this approach is that the fix is small & simple to
backport to stable kernels.

Reported-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: 432c6bacbd0c ("MIPS: Use per-mm page to execute branch delay slot instructions")"

Without patch:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1823       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1823       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1823       /bin/busybox
77ec8000-77eed000 r-xp 00000000 1f:03 2296       /lib/libgcc_s.so.1
77eed000-77eee000 rwxp 00015000 1f:03 2296       /lib/libgcc_s.so.1
77eee000-77f81000 r-xp 00000000 1f:03 2470       /lib/libc.so
77f90000-77f92000 rwxp 00092000 1f:03 2470       /lib/libc.so
77f92000-77f94000 rwxp 00000000 00:00 0
7f946000-7f967000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 rwxp 00000000 00:00 0
7ffac000-7ffad000 r--p 00000000 00:00 0          [vvar]
7ffad000-7ffae000 r-xp 00000000 00:00 0          [vdso]

Patch applied:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1825       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1825       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1825       /bin/busybox
77ed0000-77ef5000 r-xp 00000000 1f:03 2298       /lib/libgcc_s.so.1
77ef5000-77ef6000 rwxp 00015000 1f:03 2298       /lib/libgcc_s.so.1
77ef6000-77f89000 r-xp 00000000 1f:03 2474       /lib/libc.so
77f98000-77f9a000 rwxp 00092000 1f:03 2474       /lib/libc.so
77f9a000-77f9c000 rwxp 00000000 00:00 0
7fbed000-7fc0e000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 r-xp 00000000 00:00 0
7fff6000-7fff7000 r--p 00000000 00:00 0          [vvar]
7fff7000-7fff8000 r-xp 00000000 00:00 0          [vdso]

Note lack of write permission to 7fefb000-7fefc000

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-12-24 21:52:08 +00:00
Christian Lamparter
87c5fd348d ath79: fix pinmux reg size for QCA955x
The range of pinmux reg property "<0x1804002c 0x40>" for QCA955x
SoC does not includes GPIO_FUNCTION register.

Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-24 19:18:07 +01:00
INAGAKI Hiroshi
c566439c9b ath79: add support for NEC Aterm WG800HP
NEC Aterm WG800HP is a 2.4/5 GHz band 11ac router, based on Qualcomm
Atheros QCA9563.

Specification:

- Qualcomm Atheros QCA9563
- 64 MB of RAM (DDR2)
- 8 MB of Flash (SPI-NOR)
- 2.4/5 GHz wifi
  - 2.4 GHz: 2T2R (SoC internal)
  - 5 GHz: 1T1R (QCA9887)
- 4x 10/100/1000 Mbps Ethernet
- 8x LEDs, 3x keys (2x buttons, 1x slide-switch)
- UART through-hole on PCB (J2)
  - Vcc, GND, NC, TX, RX from SoC side
  - 115200n8

Flash instruction using factory image:

1. Connect the computer to the LAN port on WG800HP
2. Connect power cable to WG800HP and turn on it
3. Access to "http://192.168.10.1/" and open firmware update page
("ファームウェア更新")
4. Select the OpenWrt factory image and click update ("更新") button
5. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-12-24 19:18:07 +01:00
INAGAKI Hiroshi
99df98442e build: move xor-image into image-commands
I moved xor-image into image-commands.mk to use it in ath79 target.

It required for NEC WG800HP.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-12-24 19:18:07 +01:00
INAGAKI Hiroshi
10a54e1442 ath79: fix pinmux reg value for QCA956x
The range of pinmux reg property "<0x1804002c 0x40>" for QCA956x SoC
does not includes GPIO_FUNCTION register.

If the device uses "&jtag_disable_pins", this causes the following
errors:

[    1.982937] pinctrl-single 1804002c.pinmux: mux offset out of range: 0x40 (0x40)
[    1.990622] pinctrl-single 1804002c.pinmux: could not add functions for pinmux_jtag_disable_pins 64x

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-12-24 19:18:07 +01:00
Christian Lamparter
212f2a63eb kernel: Add missing symbols to 4.19
Tested with apm82181 and ipq40xx minimal image versions.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-24 19:14:21 +01:00
Kevin Darbyshire-Bryant
5b3afca757 kernel: bump 4.14 to 4.14.90
Refresh all patches

Remove upstream patch:
backport-4.14/424-v4.20-net-dsa-fix-88e6060-roaming.patch

Minor tweak to generic/hack-4.14/902-debloat_proc.patch to cleanly apply
after upstream changes.

Tested-on: ath79

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-12-24 15:06:33 +00:00
Christian Lamparter
360efb1ead ipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGES
The ZyXEL NBG6617 USB LED was not working with the default images.
It turned out that kmod-usb-ledtrig-usbport was missing from the
default installation.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-22 15:08:24 +01:00
Christian Lamparter
36c19c9f0b apm821xx: switch MX60(W)'s recovery images to multi-image method
In the past, the MX60(W)'s recovery images always had problems
with the size restriction and never really worked without manual
intervention. But starting with 4.19, the MX60(W)'s kernel image
outgrew the allocated space for sysupgrade images as well. Hence
This patch reworks the initramfs, which allows the device to ease
up on the impossible tight kernel size requirements for the
sysupgrade creation and packaging. And as a result, the now
orphaned special ramdisk setup is removed in the process.

This new initramfs can be loaded through the MX60(W) U-boot
in the following way:

=> setenv bootargs console=ttyS0,$baudrate
=> tftpboot $meraki_loadaddr meraki_mx60-initramfs-kernel.bin
   [...]
   Load address: 0x800000
    Loading: ################################################ [...]
    done
   [...]

=> bootm $fileaddr
   \## Booting kernel from Legacy Image at 00800000 ...
    ...

Updated Flashing instructions for new installations which integrates
the new recovery method. Users of existing installations that only
want to sysupgrade don't need to update their existing u-boot env.

=> setenv owrt_load1 ubi read \${meraki_loadaddr} kernel
=> setenv owrt_load2 ubi read \${meraki_loadaddr} recovery
=> setenv lede_bootkernel bootm \${meraki_loadaddr_kernel} - \${meraki_loadaddr_fdt}
=> setenv owrt_bootkernel bootm \${meraki_loadaddr}
=> setenv owrt_bootargs setenv bootargs console=ttyS0,\${baudrate} rootfstype=squashfs mtdoops.mtddev=oops
=> setenv owrt_boot run meraki_ubi owrt_bootargs\; run owrt_load1 meraki_checkpart lede_bootkernel\; run owrt_load2 owrt_bootkernel
=> setenv bootcmd run owrt_boot
=> saveenv

For more information and the latest flashing guide:
please visit the OpenWrt Wiki Page for the MR60:
<https://openwrt.org/toh/meraki/mx60#flashing>

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-22 15:08:24 +01:00
David Bauer
b53111ad42 ipq40xx: disable kernel-padding for DNI image
This commit removes the fixed kernel size-padding for the Netgear
DNI image creation as it is not necessary for a working image.

The fake rootfs still needs to be padded to the blocksize.

Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
2018-12-20 23:54:24 +01:00
Christian Lamparter
6dff341106 ipq40xx: fix pcie wifi unit-address of the MR33 and A62
The unit address should be wifi@1,0 since the device is located
at 0000:01:00.0.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-20 19:21:42 +01:00
Daniel F. Dickinson
99c81eab78 ar71xx: Fix PowerCloud CR5000 5GHz wifi mac
Without this patch PowerCloud CR5000 AR9382 PCIe 5GHz Wifi uses
the mac address from eeprom instead the one specified when
initializing the PCIe chip.  There were two issues:

1) ap94_pci_init on the second PCIe wmac is wrong as there is only one
PCIe wmac on this device (the other wmac is the AR1022/AR9342 SoC wmac).
2) Without specifying pdata->use_eeprom there is a failure to load
firmware and caldata.

Thanks to Christian Lamparter (@chunkeey) for the heavy lifting and
help. [0]

[0] <https://github.com/openwrt/openwrt/pull/1613>

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-12-20 18:28:59 +01:00
Kevin Darbyshire-Bryant
8ff0dd57bf kernel: drop MIPS fix cache flushing for highmem pages
This patch, in a variety of forms, has been around since beginning 2016
as e756c2bb07, ending up in present form 0aa6c7df60 (kernel 4.4.13 bump)
and carried forward ever since.

There have been a number of MIPS kernel memory handling changes since,
including VDSO fixes that meant openwrt patches have been dropped with
no apparent fallout.

Simple tests (ntfs-3g) on a HIGHMEM 512MB mt7621 device have not turned
up data corruption issues which would otherwise be expected.  Similarly
running on other MIPS based devices for the past 2 months hasn't turned
up anything obvious to retain this out of tree patch.

With thanks to Rosen Penev for testing on the known 'highmem' device and
Felix Fietkau for testing advice.  Not putting acked-by as it's my fault
if it breaks :-)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-12-20 09:45:19 +00:00
Stijn Tintel
8c6662a1ac brcm2708: switch to kernel 4.14
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:22 +02:00
Stijn Tintel
f5919b65d4 brcm2708: add kernel 4.14 support
Patch generation process:
- rebase rpi/rpi-4.14.y on v4.14.89 from linux-stable
- git format-patch v4.14.89

Patches skipped during rebase:
- lan78xx: Read MAC address from DT if present
- lan78xx: Enable LEDs and auto-negotiation
- Revert "softirq: Let ksoftirqd do its job"
- sc16is7xx: Fix for multi-channel stall
- lan78xx: Ignore DT MAC address if already valid
- lan78xx: Simple patch to prevent some crashes
- tcp_write_queue_purge clears all the SKBs in the write queue
- Revert "lan78xx: Simple patch to prevent some crashes"
- lan78xx: Connect phy early
- Arm: mm: ftrace: Only set text back to ro after kernel has been marked ro
- Revert "Revert "softirq: Let ksoftirqd do its job""
- ASoC: cs4265: SOC_SINGLE register value error fix
- Revert "ASoC: cs4265: SOC_SINGLE register value error fix"
- Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"
- Revert "Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends""

Patches dropped after rebase:
- net: Add non-mainline source for rtl8192cu wlan
- net: Fix rtl8192cu build errors on other platforms
- brcm: adds support for BCM43341 wifi
- brcmfmac: Mute expected startup 'errors'
- ARM64: Fix build break for RTL8187/RTL8192CU wifi
- ARM64: Enable RTL8187/RTL8192CU wifi in build config
- This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator
- brcmfmac: add CLM download support
- brcmfmac: request_firmware_direct is quieter
- Sets the BCDC priority to constant 0
- brcmfmac: Disable ARP offloading when promiscuous
- brcmfmac: Avoid possible out-of-bounds read
- brcmfmac: Delete redundant length check
- net: rtl8192cu: Normalize indentation
- net: rtl8192cu: Fix implicit fallthrough warnings
- Revert "Sets the BCDC priority to constant 0"
- media: cxd2880: Bump to match 4.18.y version
- media: cxd2880-spi: Bump to match 4.18.y version
- Revert "mm: alloc_contig: re-allow CMA to compact FS pages"
- Revert "Revert "mm: alloc_contig: re-allow CMA to compact FS pages""
- cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
  MEDIA_SUBDRV_AUTOSELECT
- 950-0421-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch
- 950-0453-Add-hid-bigbenff-to-list-of-have_special_driver-for-.patch

Make I2C built-in instead of modular as in upstream defconfig; also the
easiest way to get MFD_ARIZONA enabled, which is required by
kmod-sound-soc-rpi-cirrus.
Add missing compatible strings from
4.9/960-add-rasbperrypi-compatible.patch, using upstream names for
compute modules.
Add extra patch to enable the LEDs on lan78xx.

Compile-tested: bcm2708, bcm2709, bcm2710 (with CONFIG_ALL_KMODS=y)
Runtime-tested: bcm2708, bcm2710

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
822b4c3b25 brcm2708: add kmod-sound-soc-3dlab-nano-player
Add kernel module for 3Dlab Nano Player support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
6971af4ff8 brcm2708: add kmod-sound-soc-rpi-cirrus
Add kernel module for Cirrus Logic Audio Card support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
8848694114 brcm2708: add kmod-sound-soc-googlevoicehat
Add kernel module for Google Voice HAT support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
6fc4d3350a brcm2708: add kmod-sound-soc-audioinjector-octo-soundcard
Add kernel module for AudioInjector Octo surround sound card support in
kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
7143bab519 brcm2708: add kmod-sound-soc-allo-katana-codec
Add kernel module for Allo Katana DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
9fd92c1bc2 brcm2708: add kmod-sound-soc-allo-piano-dac-plus
Add kernel module for the Allo Piano DAC Plus in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
88397f614a brcm2708: add kmod-sound-soc-allo-digione
Add kernel module for Allo DigiOne support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
51ea0f508d brcm2708: add kmod-sound-soc-allo-boss-dac
Add kernel module for Allo Boss DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
a51db53792 brcm2708: add kmod-hwmon-rpi-poe-fan
Add kernel module for the fan on the PoE HAT for the 3B+ model in kernel
4.14. Without this, the fan will not turn on.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
8e52243c77 brcm2708: prepare kmod-drm-vc4 for 4.14
It requires sound card support in the new kernel. HDMI CEC support is
disabled for now; enabling it turned out to be non-trivial.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
2c324e15f8 brcm2708: prepare kmod-video-bcm2835 for 4.14
Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
1d6b080dc3 brcm2708: prepare kmod-sound-raspidac3 for 4.14
Support for RaspiDac3 has been removed from the rpi-4.14.y kernel tree.
Make the kmod package depend on kernel 4.9.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:21 +02:00
Stijn Tintel
757fa0b7d3 brcm2708: prepare kmod-sound-arm-bcm2835 for 4.14
Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 23:19:20 +02:00
Yangbo Lu
583af20b8b layerscape: use MKUBIFS_OPTS for per-device ubi parameters
UBIFS_OPTS couldn't be used for per-device ubi parameters.
Let's use MKUBIFS_OPTS instead.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2018-12-18 20:17:23 +01:00
Biwen Li
68904cb8fd layerscape: drop kernel 4.9 support
This patch is to drop kernel 4.9 support.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2018-12-18 20:17:23 +01:00
Biwen Li
328530c6e7 layerscape: add LS1021AIOT board support
The LS1021A-IoT gateway reference design based on the
QorIQ LS1021A processor is a purpose-built, small
footprint hardware platform with a wide array of
high-speed connectivity and low-speed serial interfaces
to support secure delivery of IoT services for home,
business or other commercial location.

- Combines standards-based, open source software with a
  feature-rich IoT gateway design to establish a common,
  open framework for secured IoT service delivery and
  management.

- Provides a wide assortment of high-speed and serial-based
  connectivity in a compact, highly secure design.

- High efficiency through the use of the Arm-based QorIQ
  LS1021A embedded processor.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2018-12-18 20:17:23 +01:00
Biwen Li
0a827ebd2f layerscape: upgrade kernel to 4.14
This patch is to upgrade kernel to 4.14 for layerscape.
patches-4.14 for layerscape included two categories.

- NXP Layerscape SDK kernel-4.14 patches

  All patches on tag LSDK-18.09-V4.14 were ported to OpenWrt
  kernel. Since there were hundreds patches, we had to make
  an all-in-one patch for each IP/feature.
  See below links for LSDK kernel.
  https://lsdk.github.io/components.html
  https://source.codeaurora.org/external/qoriq/qoriq-components/linux

- Non-LSDK kernel patches

  Other patches which were not in LSDK were just put in patches-4.14.
  Kept below patches from patches-4.9.
  303-dts-layerscape-add-traverse-ls1043.patch
  821-add-esdhc-vsel-to-ls1043.patch
  822-rgmii-fixed-link.patch

  Renamed and rebase them as below in patches-4.14,
  303-add-DTS-for-Traverse-LS1043-Boards.patch
  712-sdk-dpaa-rgmii-fixed-link.patch
  824-mmc-sdhci-of-esdhc-add-voltage-switch-support-for-ls.patch

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2018-12-18 20:17:23 +01:00
Petr Štetiar
7bd6969acc kernel: Add missing symbols to 4.19
While building 4.19 for ath79 with CONFIG_ALL_KMODS=y with verbose mode
enabled I was asked by kernel config about few symbols/modules so I'm
adding those missing symbols to the generic config.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-18 20:17:22 +01:00
Koen Vandeputte
6835c13e5a cns3xxx: fix writing to wrong PCI registers
Originally, cns3xxx used it's own functions for mapping, reading and writing registers.

Upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
removed the internal PCI config write function in favor of the generic one:

cns3xxx_pci_write_config() --> pci_generic_config_write()

cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
while the generic one pci_generic_config_write() actually expects the real address
as both the function and hardware are capable of byte-aligned writes.

This currently leads to pci_generic_config_write() writing
to the wrong registers on some ocasions.

First issue seen due to this:

- driver ath9k gets loaded
- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
- cns3xxx_pci_map_bus() aligns the address to 0x0C
- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)

This seems to cause some slight instability when certain PCI devices are used.

Another issue example caused by this this is the PCI bus numbering,
where the primary bus is higher than the secondary, which is impossible.

Before:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0

After fix:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0

And very likely some more ..

Fix all by omitting the alignment being done in the mapping function.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-12-18 14:24:57 +01:00
Koen Vandeputte
9f2739e924 kernel: bump 4.14 to 4.14.89
Refreshed all patches.

Remove upstreamed patches:
- 096-v4.20-netfilter-ipv6-Preserve-link-scope-traffic-original-.patch

Compile-tested on: ar71xx, cns3xxx, imx6
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-12-18 14:24:57 +01:00
Koen Vandeputte
dd0a213bed kernel: bump 4.9 to 4.9.146
Refreshed all patches.

Compile-tested on: brcm2708
Runtime-tested on: brcm2708

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-18 14:24:57 +01:00
Koen Vandeputte
902a9f23d6 kernel: bump 3.18 to 3.18.130
Refreshed all patches.

Compile-tested on: adm5120
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-12-18 14:24:57 +01:00
Mathias Kresin
38cae44e51 ath79: replace cameo-factory with existing build commands
Use pad-offset and append-string to create the cameo factory images for
the D-LINK DIR-825 C1/DIR-835 A1 factory images.

Tested-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-17 23:21:40 +01:00
Mathias Kresin
ffdce856e0 build: move append-string to image-commands.mk
Move it to image-commands.mk so that it can used by other targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-17 23:21:26 +01:00
Hans Dedecker
b0414d7188 kernel: preserve oif of IPv6 link scope packets
Backort upstream patch which preserves oif of IPv6 link scoped packets.
The outgoing interface of IPv6 link scope packets can be changed by the
function ip6_route_me_harder. This is unwanted behavior for link local
packets and multicast packets as the outgoing interface is fixed and must
not be altered as it can break neighbor discovery and multicast listener
discovery.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-12-17 21:42:23 +01:00
Christian Lamparter
5ae45dc7b3 ipq40xx: GL-B1300: convert to new partitions layout
Alberto Bursi reported:
>The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300"
>prevents boot on my B1300. I compiled from latest sources.

The GL-B1300 was using the discouraged direct subnodes method to declare
the partitions on the flash.

|The partition table should be a subnode of the flash node and should be named
|'partitions'. This node should have the following property:
|- compatible : (required) must be "fixed-partitions"
|Partitions are then defined in subnodes of the partitions node.
|
|For backwards compatibility partitions as direct subnodes of the flash device are
|supported. This use is discouraged.
|NOTE: also for backwards compatibility, direct subnodes that have a compatible
|string are not considered partitions, as they may be used for other bindings.
<https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt>

Hence, this patch converts the device to the "partitions" layout.

Fixes: 1cbe457cf9 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300")
Reported-by: Alberto Bursi <bobafetthotmail@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-17 14:22:28 +01:00
Christian Lamparter
b9501cecde ath79: dts: Remove newly added default-state=off property
I'm afraid that this will be "one of many" patches to come.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-17 14:22:28 +01:00
Christian Lamparter
f54ac91ef5 ar71xx/ath79: switch devices to the -ct driver and firmware
Since commit 61b5b4971e ("mac80211: make ath10k-ct the default ath10k")
select ath10k-ct and the -ct firmwares by default.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-12-17 14:22:28 +01:00
Rafał Miłecki
4472df23da bcm53xx: include WiFi firmware for devices with 4366C0
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-12-17 12:51:06 +01:00
Kevin Darbyshire-Bryant
2574c86ce6 kernel: backport ifconfig ioctl support for class e addresses
Backport net: Allow class-e address assignment via ifconfig ioctl
While most distributions long ago switched to the iproute2 suite
of utilities, which allow class-e (240.0.0.0/4) address assignment,
distributions relying on busybox, toybox and other forms of
ifconfig cannot assign class-e addresses without this kernel patch.

While CIDR has been obsolete for 2 decades, and a survey of all the
open source code in the world shows the IN_whatever macros are also
obsolete... rather than obsolete CIDR from this ioctl entirely, this
patch merely enables class-e assignment, sanely.

https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=65cab850f0eeaa9180bd2e10a231964f33743edf

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-12-17 10:40:20 +00:00
Petr Štetiar
0d23fd2ab2 treewide: dts: Remove default-state=off property from all gpio LED nodes
>From the Documentation/devicetree/bindings/leds/common.txt:

- default-state : The initial state of the LED. Valid values are "on", "off",
  and "keep". If the LED is already on or off and the default-state property is
  set the to same value, then no glitch should be produced where the LED
  momentarily turns off (or on). The "keep" setting will keep the LED at
  whatever its current state is, without producing a glitch.  The default is
  off if this property is not present.

So setting the default-state of the LEDs to `off` is redundant as `off`
is default LED state anyway. We should remove it as almost every new
PR/patch submission contains this property by default which seems to be
just copy&paste from some DTS file already present in the tree.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-17 08:16:28 +01:00
Karl-Felix Glatzer
1e4ee63cc8 ath79: add support for TP-Link Archer A7
This patch adds support for TP-Link Archer A7

Specification:
- SOC: QCA9563
- Flash: 16 MiB (SPI)
- RAM: 128 MiB (DDR2)
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless:
  - 2.4GHz (bgn) SoC internal
  - 5GHz (ac) QCA988x
- USB: 1x USB 2.0 port
- Button: 1x power, 1x reset, 1x wps
- LED: 10x LEDs
- UART: holes in PCB
  - Vcc, GND, RX, TX from ethernet port side
  - 115200n8

Flash instructions:

Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin
via the Webinterface.

Flash instruction using tftp recovery:

1. Connect the computer to one of the LAN ports of the Archer A7
2. Set the computer IP to 192.168.0.66
3. Start a tftp server with the OpenWrt factory image in the tftp
   root directory renamed to ArcherC7v5_tp_recovery.bin
2. Connect power cable to Archer A7, press and hold the reset button
   and turn the router on
3. Keep the reset button pressed for ~5 seconds
4. Wait ~150 seconds to complete flashing

Changes since first revision:

  - Flash instructions using stock image webinterface
  - Changed "Version 5" in model string to "v5"
  - Split DTS file in qca9563_tplink_archer-x7-v5.dtsi
    and qca9563_tplink_archer-a7-v5.dts
  - Firmware image is now build with dynamic partitioning
  - Default to ath10k-ct

Changes since second revision:
  - Changed uboot@0 to uboot@20000 in DTS file
  - Fixed ordering issue in board led script
  - Specify firmware partition format in DTS file
  - Rebased Makefile device definition on common
    Device/tplink-safeloader-uimage definition
  - Merged switch section in network script
    (same configuration as tplink,tl-wdr3600
    and tplink,tl-wdr4300)

Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
2018-12-17 08:09:13 +01:00
Petr Štetiar
d9753f0ec5 ath79, brcm63xx: Fix debounce-interval properties in gpio-keys-polled nodes
This patch fixes wrong usage of debounce-interval subnode property of
gpio-keys-polled nodes, which was used inproperly in parent node, but it
belongs to the subnodes, excerpt from the docs:

 Optional subnode-properties:
     - debounce-interval: Debouncing interval time in milliseconds.
       If not specified defaults to 5.

And the docs are up to date as the source code matches that description
as well:

 if (fwnode_property_read_u32(child, "debounce-interval",
                              &button->debounce_interval))
         button->debounce_interval = 5;

While at it, I've also re-formatted gpio-keys-polled nodes, usually just
adding new lines after every key subnode.

Cc: Tomasz Maciej Nowak <tomek_n@o2.pl>
Cc: Matt Merhar <mattmerhar@protonmail.com>
Cc: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2018-12-17 08:05:03 +01:00