Commit Graph

1187 Commits

Author SHA1 Message Date
Sungbo Eo
a6cddd708c ramips: simplify palmbus/{i2c,spi} in device DTS files
As the node is already defined and labeled in SoC DTSI file, we can refer to it
outside of root node and reduce redundancy.

While at it, remove unused pcf8563 label.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-05-09 11:55:59 +08:00
Sungbo Eo
6bf11e5699 ramips: use hex notation for *-mtd-eeprom property
Change "0" to "0x0" for consistency. This is an extension of commit 34abfb6e91
("ramips: convert mediatek,mtd-eeprom from decimal to hex notation").

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-05-09 11:54:01 +08:00
Koen Vandeputte
cda29241c3 generic: fix patching error on kernel 5.4
Fixes a build error seen when applying the kernel patches.

Applying patch generic/435-mtd-add-routerbootpart-parser-config.patch
patching file drivers/mtd/parsers/Kconfig
Hunk #1 FAILED at 160.
1 out of 1 hunk FAILED -- rejects in file drivers/mtd/parsers/Kconfig
patching file drivers/mtd/parsers/Makefile
Hunk #1 FAILED at 10.
1 out of 1 hunk FAILED -- rejects in file drivers/mtd/parsers/Makefile

This was missed as 5.4 is currently set as testing kernel
while the main kernel being used is 4.19

Fixes: 2976e423dc ("generic: routerboot partition build bits")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2020-05-09 11:50:13 +08:00
Thibaut VARÈNE
0057441fee ramips/mt7621: mikrotik: don't use mtd-mac-address in DTS
As evidenced here[1] the device MAC address can be stored at a random
offset in the hard_config partition. Rely on sysfs to update the MAC
address correctly.

Adjust config so that WAN is base MAC and LAN is base MAC +1 to better
match label and vendor OS.

[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:49:43 +08:00
Thibaut VARÈNE
f806044adb ath79/mikrotik: don't use mtd-mac-address in DTS
As evidenced here[1] the device MAC address can be stored at a random
offset in the hard_config partition. Rely on sysfs to update the MAC
address correctly.

To match sticker and vendor OS behavior, WAN MAC is set to the device
base MAC and LAN MAC is incremented from that.

Note: this will trigger a harmless kernel message during boot:
ag71xx 19000000.eth: invalid MAC address, using random address

There is no clean workaround to prevent this message from being emitted.

[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:47:40 +08:00
Thibaut VARÈNE
1323b98e14 generic: platform/mikrotik: support LZOR encoding
Some newer MikroTik RouterBOARD devices use a new encoding scheme
for their WLAN calibration data. This patch provides support for
decoding this new scheme.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:45:44 +08:00
Thibaut VARÈNE
fa006defcc ramips/mt7621: enable mikrotik platform driver
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:45:05 +08:00
Thibaut VARÈNE
9d4406bd46 ath79/mikrotik: enable mikrotik platform driver
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:43:05 +08:00
Thibaut VARÈNE
669cdc689d generic: mikrotik platform build bits
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:42:25 +08:00
Thibaut VARÈNE
157bf3fb0c generic: routerboot sysfs platform driver
This driver exposes the data encoded in the "hard_config" flash segment
of MikroTik RouterBOARDs devices. It presents the data in a sysfs folder
named "hard_config". The WLAN calibration data is available on demand via
the 'wlan_data' sysfs file in that folder.

This driver permanently allocates a chunk of RAM as large as the
"hard_config" MTD partition (typically 4KB), although it is technically
possible to operate entirely from the MTD device without using a local
buffer (except when requesting WLAN calibration data), at the cost of a
performance penalty.

This driver does not reuse any of the existing code previously found in
routerboot.c.

This driver has been successfully tested on BE (ath79) and LE (ipq40xx
and ramips) hardware.

Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Tested-by: Baptiste Jonglez <git@bitsofnetworks.org>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Tested-by: Christopher Hill <ch6574@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:41:15 +08:00
Thibaut VARÈNE
898d82daa0 ramips: mikrotik: use routerbootpart partitions
Enable routerbootpart partitions on MikroTik devices.

Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:38:41 +08:00
Thibaut VARÈNE
1f67898c56 ramips/mt7621: enable CONFIG_MTD_ROUTERBOOT_PARTS
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:38:05 +08:00
Thibaut VARÈNE
c94a125d58 ath79/mikrotik: use routerbootpart partitions
Enable routerbootpart partitions on MikroTik devices.

Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:36:44 +08:00
Thibaut VARÈNE
84dd1ca83d ath79/mikrotik: enable CONFIG_MTD_ROUTERBOOT_PARTS
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:36:07 +08:00
Thibaut VARÈNE
2421583542 generic: routerboot partition build bits
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:35:20 +08:00
Thibaut VARÈNE
f6f0843828 generic: routerbootpart MTD parser for RouterBoot
This driver provides an OF MTD parser to properly assign the RouterBoot
partitions on the flash. This parser builds from the "fixed-partitions"
one (see ofpart.c), but it can handle dynamic partitions as found on
routerboot devices.

The parent node must contain the following:
	compatible = "mikrotik,routerboot-partitions";
	#address-cells = <1>;
	#size-cells = <1>;

Children routerbootpart DTS nodes are defined as follows:
For fixed partitions
	node-name@unit-address {
		reg = <prop-encoded-array>;
		label = <string>;
		read-only;
		lock;
	};

All properties but reg are optional.

For dynamic partitions:
	node-name {
		size = <prop-encoded-array>;
		label = <string>;
		read-only;
		lock;
	};

size property is mandatory unless the next partition is a fixed one or
a "well-known" one (matched from the strings defined below) in which case
it can be omitted or set to 0; other properties are optional.

By default dynamic partitions are appended after the preceding one, except
for "well-known" ones which are automatically located on flash.

Well-known partitions (matched via label or node-name):
 - "hard_config"
 - "soft_config"
 - "dtb_config"

This parser requires the DTS to list partitions in ascending order as
expected on the MTD device.

This parser has been successfully tested on BE (ath79) and LE (ipq40xx
and ramips) hardware.

Tested-by: Baptiste Jonglez <git@bitsofnetworks.org>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Tested-by: Christopher Hill <ch6574@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2020-05-09 11:32:34 +08:00
Stijn Tintel
f8d88d39a0 kernel: add missing symbol to 5.4 config
This symbol is exposed if KERNEL_PROVE_LOCKING is enabled.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2020-05-09 11:20:06 +08:00
AmadeusGhost
b3e8a12c65 layerscape: add kernel 5.4 support from official commit 2020-05-08 08:25:49 +08:00
Petr Štetiar
0503cdbc89 kernel: bump 5.4 to 5.4.39
Refreshed patches.

Run tested: qemu-x86-64
Build tested: x86/64, imx6, sunxi/a53, layerscape/armv7+armv8_64b

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-05-08 08:18:53 +08:00
Chuanhong Guo
fcc5b35ffc generic: ar8216: fix unknown packet flooding for ar8229/ar8236
ar8229 and ar8236 don't allow unknown unicast/multicast frames and
broadcast frames to be flooded to cpu port. This isn't desired behavior
for swconfig as we treat it as a standalone switch.
Current code doesn't enable unicast frame flooding for ar8229 and uses
wrong setup for ar8236. This commit fixes both of them by enabling port
0 flooding for all unknown frames.

Fixes: FS#2848
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2020-05-06 12:09:15 +08:00
Adrian Schmutzler
4c3e74b6c3 sunxi: remove unneeded shebang for preinit files
preinit files are sourced and they have no execute bit set, so remove
their shebang.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-05-06 12:08:40 +08:00
Adrian Schmutzler
de51cfed9a sunxi: tidy up cases in base-files
This removes unnecessary quotes in cases and applies alphabetic
order to members.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-05-06 12:08:11 +08:00
John Crispin
ddeaed80d5 mediatek: fix image building
Signed-off-by: John Crispin <john@phrozen.org>
2020-05-05 11:53:18 +08:00
John Crispin
08781baf5b mediatek: update patches
Signed-off-by: John Crispin <john@phrozen.org>
2020-05-05 11:51:42 +08:00
Stijn Tintel
dea63928af bcm27xx: backup /boot/cmdline.txt and restore early
If you want to use the Raspberry Pi UART, "console=serial0,115200" needs
to be removed from the kernel cmdline. This is done by editing
/boot/cmdline.txt. However, this file is not currently backed up during
sysupgrade, so this effectively breaks HATs that require the use of the
UART every sysupgrade.

Backup this file during sysupgrade, and restore it before rebooting.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2020-05-05 11:50:21 +08:00
AmadeusGhost
53a25bebe3 octeontx: refresh 5.4 patches 2020-05-05 11:50:15 +08:00
CN_SZTL
f5e3bd13ef
Merge Mainline 2020-05-04 16:11:02 +08:00
CN_SZTL
622381da92
Merge Lean's source 2020-05-04 16:01:50 +08:00
AmadeusGhost
9f90d1abd4
Redmi AC2100: adjust switch configuration (#4528) 2020-05-04 00:43:17 +08:00
CN_SZTL
b11dcd594c kernel: bump 4.14 to 4.14.178
Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-03 19:33:01 +08:00
CN_SZTL
95aa0a3995 kernel: bump 4.14 to 4.14.177
Fixes:
 - CVE-2020-11669

Remove upstreamed:
 - 001-irqchip-versatile-fpga-Handle-chained-IRQs-properly.patch
 - 002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch
 - 003-ARM-dts-oxnas-Fix-clear-mask-property.patch

Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-03 19:32:54 +08:00
CN_SZTL
ebd3dfdac7
kernel: bump 4.19 to 4.19.120
Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-03 17:49:03 +08:00
CN_SZTL
c5c9118ebe kernel: bump 4.9 to 4.9.221
Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-03 16:52:59 +08:00
CN_SZTL
ea2b278e9e
kernel 4.9: revert changes for some patches 2020-05-03 16:37:24 +08:00
AmadeusGhost
b6388e8b7f ipq40xx: 5.4: add c526a support 2020-05-03 12:05:54 +08:00
AmadeusGhost
9a97380321 ipq40xx: add support for hiwifi c526a
cherry-pick commit from LGA1150/openwrt

SOC:	Qualcomm QCA4019 717MHz
RAM:    512M DDR3
FLASH1: 2M en25qh16
FLASH2: 128M NAND
LED:    wan LED
USB:    USB3.0 x 1
POWER:  12V 2.5A
WLAN1:  MT7615 2.4GHz 802.11 b/g/n
WLAN2:  QCA4019 5.2GHz 802.11 n/ac
WLAN3:  QCA4019 5.8GHz 802.11 n/ac
Ethernet: 4 x 1000Mbps (1wan, 3lan)

Installation:
Flash into pbboot and pandorabox, and then:
  mtd erase ubi
  mtd write /tmp/openwrt.ubi ubi
2020-05-03 11:09:27 +08:00
Richard Huynh
ecc72b7a5f ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100)
Specification:
- CPU: MediaTek MT7621A
- RAM: 128 MB DDR3
- FLASH: 128 MB ESMT NAND
- WIFI: 2x2 802.11bgn (MT7603)
- WIFI: 4x4 802.11ac (MT7615)
- ETH: 3xLAN+1xWAN 1000base-T
- LED: Power, WAN, in Amber and White

Signed-off-by: Richard Huynh <voxlympha@gmail.com>
2020-05-02 19:25:28 +08:00
CN_SZTL
e56373ae93
Merge Lean's source 2020-05-02 16:48:51 +08:00
CN_SZTL
4170e91d1e kernel: bump 5.4 to 5.4.37
Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-02 16:28:55 +08:00
AmadeusGhost
1a44b8d74f
ramips: fix build error (#4508) 2020-05-02 07:30:25 +08:00
AmadeusGhost
3c510baf47
ramips: fix support for Redmi AC2100 (#4500)
This commit fix switch and image config for Redmi AC2100.

Signed-off-by: AmadeusGhost <amadeus@jmu.edu.cn>
2020-05-01 22:37:45 +08:00
AmadeusGhost
7d17073c14 treewide: adjust sysupgrade script 2020-05-01 16:29:04 +08:00
coolsnowwolf
01aeb5df0e ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100) 2020-05-01 12:23:28 +08:00
CN_SZTL
920cf867f4
Merge Mainline 2020-05-01 10:38:39 +08:00
CN_SZTL
91c55c934c
kernel: bump 4.19 to 4.19.119
Remove upstreamed:
 - 551-loop-Better-discard-support-for-block-devices.patch

Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-05-01 00:33:53 +08:00
AmadeusGhost
e19377e68b Merge Lean's source 2020-04-30 18:09:47 +08:00
Petr Štetiar
2197351ec6 kernel: bump 5.4 to 5.4.36
Refreshed patches, removed upstreamed patch:

 generic/hack: 551-loop-Better-discard-support-for-block-devices.patch

Added generic config symbol `ARM64_ERRATUM_1542419` due to Fixes:
f2791551cedb ("arm64: errata: Hide CTR_EL0.DIC on systems affected by
Neoverse-N1 #1542419").

Run tested: qemu-x86-64, apalis, nbg6617
Build tested: x86/64, imx6, ipq40xx, sunxi/a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-04-30 08:26:17 +08:00
Daniel Golle
2ef3fba9e6 ath79: fix dts of Teltonika RUT9xx devices
The previous commits were missing a semicolon.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-04-30 08:26:12 +08:00
Daniel Golle
6386cb9c27 ath79: add support for Teltonika RUT955 H7V3C0
This board was previously supported in ar71xx as 'RUT9XX'. The
difference between that and the other RUT955 board already supported in
ath79 is that instead of the SPI shift registers driving the LEDs and
digital outputs that model got an I2C GPIO expander instead.

To support LEDs during early boot and interrupt-driven digital inputs,
I2C support as well as support for PCA953x has to be built-in and
cannot be kernel modules, hence select those symbols for ath79/generic.

Specification:

- 550/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- 2T2R 2,4 GHz (AR9344)
- built-in 4G/3G module (example: Quectel EC-25EU)
- internal microSD slot (spi-mmc, buggy and disabled for now)
- RS232 on D-Sub9 port (Cypress ACM via USB, /dev/ttyACM0)
- RS422/RS485 (AR934x high speed UART, /dev/ttyATH1)
- analog 0-24V input (MCP3221)
- various digital inputs and outputs incl. a relay
- 11x LED (4 are driven by AR9344, 7 by PCA9539)
- 2x miniSIM slot (can be swapped via GPIO)
- 2x RP-SMA/F (Wi-Fi), 3x SMA/F (2x WWAN, GPS)
- 1x button (reset)
- DC jack for main power input (9-30 V)
- debugging UART available on PCB edge connector

Serial console (/dev/ttyS0) pinout:

- RX: pin1 (square) on top side of the main PCB (AR9344 is on top)
- TX: pin1 (square) on bottom side

Flash instruction:

Vendor firmware is based on OpenWrt CC release. Use the "factory" image
directly in GUI (make sure to uncheck "keep settings") or in U-Boot web
based recovery. To avoid any problems, make sure to first update vendor
firmware to latest version - "factory" image was successfully tested on
device running "RUT9XX_R_00.06.051" firmware and U-Boot "3.0.1".

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-04-30 08:19:51 +08:00
Daniel Golle
6ea96fec81 ath79: split Teltonika RUT955 to support other RUT9xx models
Split device-tree of Teltonika RUT955 into a generic RUT9xx part and
a part specific to that version of RUT955 already supported.
Also harmonize GPIO and LED names with what is used by the vendor
firmware and assign RS485 DTR signal.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-04-30 08:18:16 +08:00