Commit Graph

54 Commits

Author SHA1 Message Date
David Bauer
1705b28f0a
rockchip: enable Realtek PHY support
The NanoPi R2S features a Realtek Gigabit Ethernet PHY. Enable the
Realtek specific PHY driver to correctly configure internal delays.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-10-03 20:01:58 +08:00
David Bauer
0feb88d719
rockchip: fix NanoPi R2S PHY ID
Fix the PHY ID for the NanoPi R2S PHY compatible to match the used PHY.
The ID was wrong as I've accidentally picked the wrong upstream patch.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-10-01 23:03:04 +08:00
CN_SZTL
f78dd0c781
rockchip: refresh target patches
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-09-30 19:46:43 +08:00
CN_SZTL
26368d3355
Merge Officail Source 2020-09-30 19:25:04 +08:00
David Bauer
18acf62be1 rockchip: rk3328: add compatible to NanoPi R2S ethernet PHY
This adds the compatible property to the NanoPi R2S ethernet PHY node.
Otherwise, the PHY might not be probed, as the PHY ID reads all 0xff
when it is still in reset.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-09-30 00:06:59 +02:00
CN_SZTL
e34524f9d4
rockchip: refresh patches
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-09-29 13:07:07 +08:00
CN_SZTL
4880565939
Merge Official Source 2020-09-29 13:02:45 +08:00
David Bauer
8b4233188d rockchip: refresh NanoPi R2S patches
Update the patches for the NanoPi R2S to the v3 sent (and accepted)
upstream.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-09-28 17:32:14 +02:00
CN_SZTL
6198520aa9
rockchip: disable hw RNG by default
The feature brings the low quality of random numbers
with a high usage, so disable it here by default.
2020-09-24 13:28:23 +08:00
David Bauer
6b4b54a9a8
rockchip: refresh NanoPi R2S patches with upstream feedback 2020-09-13 16:44:47 +08:00
AmadeusGhost
a3fabf5850
rockchip: move the dependency of config to config 2020-08-30 04:29:24 +08:00
wevsty
972133e8c2
rockchip: support hardware random number generator for RK3328 and RK3399
Signed-off-by: wevsty <ty@wevs.org>
2020-08-28 02:54:32 +08:00
CN_SZTL
430706840e
rockchip: add cpu idle state for rk3328
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-08-25 13:29:38 +08:00
CN_SZTL
b1c95fe987
rockchip: add missing description in patch 2020-08-24 03:18:16 +08:00
CN_SZTL
51efff1f29
rockchip: format patches 2020-08-24 03:11:51 +08:00
David Bauer
0f57324f48
rockchip: use LZMA compressed FIT image for NanoPi R2S
This uses a LZMA compressed U-Boot FIT image for the NanoPi R2S. This
way, the resulting sysupgrade image uses ~1M les space compared to using
an uncompressed kernel.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-08-20 05:07:21 +08:00
David Bauer
6039577c0b
rockchip: make sysupgrade image generation reusable
This refactors the sysupgrade image generation code to make it reusable
for all devices generating an SD card image.

While at it, move the bootscripts to their own subdirectory.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-08-20 05:07:11 +08:00
David Bauer
b3264298e3
rockchip: refresh NanoPi R2S patch with upstream feedback
Signed-off-by: David Bauer <mail@david-bauer.net>
2020-08-20 05:06:45 +08:00
CN_SZTL
7c60e8e9a4
Merge Official Source 2020-08-19 01:04:25 +08:00
John Audia
da98603597 kernel: bump 5.4 to 5.4.58
This PR is a blend of several kernel bumps authored by ldir taken from his
staging tree w/ some further adjustments made by me and update_kernel.sh

Summary:
Deleted upstreamed patches:
  generic:
    742-v5.5-net-sfp-add-support-for-module-quirks.patch
    743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
  bcm63xx:
    022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch
    024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch
  mediatek:
    0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch

Deleted patches applied differently upstream:
  generic:
    641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch

Manually merged patches:
  generic:
    395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
  bcm27xx:
    950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
  layerscape:
    701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch

Build system: x86_64
Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711,
  imx6, mvebu/cortexa9, sunxi/a53
Run-tested: Netgear R7800 (ipq806x)

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu]
Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64]
[do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch,
adjust and refresh patches, adjust commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
2020-08-18 18:14:54 +02:00
AmadeusGhost
b9f03dc290 Merge Official Source 2020-08-18 11:30:10 +08:00
Adrian Schmutzler
84fc80dd66 rockchip: remove useless echo in 40-net-smp-affinity
The command in the $() brackets will already provide the same output.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-17 23:13:57 +02:00
CN_SZTL
fe3fc4a9f8
rockchip: format nanopi r2s i2c0 patch
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-08-15 19:12:18 +08:00
CN_SZTL
7ab83ce95d
Merge Official Source 2020-08-11 18:11:53 +08:00
Hauke Mehrtens
b35c54227b kernel: Move CONFIG_IONIC to generic kernel config
It is deactivated everywhere, just set this in the generic config.

Acked-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-08-10 23:58:58 +02:00
Adrian Schmutzler
d4ac0ad543 treewide: make dependency on kmod-usb-net selective
A bunch of kernel modules depends on kmod-usb-net, but does not
select it. Make AddDepends/usb-net selective, so we can drop
some redundant +kmod-usb-net definitions for DEVICE_PACKAGES.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-10 12:54:30 +02:00
David Bauer
c5360894dc rockchip: enable rockchip-thermal
Enable the rockchip-thermal driver to allow reading the temperature of
the SoC.

Tested on NanoPi R2S

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-29 01:40:20 +02:00
David Bauer
7a4fc8906c rockchip: distribute net interrupts
This adds a hotplug script for distributing interrupts of eth0 and eth1
across different cores. Otherwise the forwarding performance between
eth0 and eth1 is severely affected.

The existing SMP distribution mechanic in OpenWrt can't be used here, as
the actual device IRQ has to be moved to dedicated cores. In case of
eth1, this is in fact the USB3 controller.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:52:44 +02:00
David Bauer
5a57a1ac1f arm64: dts: rockchip: Add txpbl node for RK3399/RK3328
Some rockchip SoCs like the RK3399 and RK3328 exhibit an issue
where tx checksumming does not work with packets larger than 1498.

The default Programmable Buffer Length for TX in these GMAC's is
not suitable for MTUs higher than 1498. The workaround is to disable
TX offloading with 'ethtool -K eth0 tx off rx off' causing performance
impacts as it disables hardware checksumming.

This patch sets snps,txpbl to 0x4 which is a safe number tested ok for
the most popular MTU value of 1500.

For reference, see https://lkml.org/lkml/2019/4/1/1382.

Signed-off-by: Carlos de Paula <me@carlosedp.com>
Link: https://lore.kernel.org/r/20200218221040.10955-1-me@carlosedp.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:52:44 +02:00
David Bauer
6242ac4735 rockchip: enable LAN LED configuration
This enables the LEDs on the LAN interfaces.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:52:44 +02:00
David Bauer
b7a9a183fb rockchip: add NanoPi R2S support
Hardware
--------
RockChip RK3328 ARM64 (4 cores)
1GB DDR4 RAM
2x 1000 Base-T
3 LEDs (LAN / WAN / SYS)
1 Button (Reset)
Micro-SD slot
USB 2.0 Port

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card using
dd.

MAC-address
-----------
The vendor code supports reading a MAC address from an EEPROM connected
via i2c0 of the SoC. The EEPROM (address 0x51) should contain the MAC
address in binary at offset 0xfa. However, my two units didn't come with
such an EEPROM soldered on. The EEPROM should be placed between the SoC
and the GPIO pins on the board. (U10)

Generating rendom MAC addresses works around this issue. Otherwise, all
boards running the same image have identical MAC addresses.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:52:44 +02:00
David Bauer
b72f7c64a4 rockchip: allow for multiple boot-scripts
Add support for select a bootscript depending on the device built. This
is necessary, as the FriendlyARM NanoPi R2S needs a different bootcmd in
order to produce output on the debug UART.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:52:44 +02:00
CN_SZTL
2a78eed885
rockchip: distribute net interrupts
This adds a hotplug script for distributing interrupts of eth0 and eth1
across different cores. Otherwise the forwarding performance between
eth0 and eth1 is severely affected.

The existing SMP distribution mechanic in OpenWrt can't be used here, as
the actual device IRQ has to be moved to dedicated cores. In case of
eth1, this is in fact the USB3 controller.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 15:13:30 +08:00
David Bauer
420f72aa21
arm64: dts: rockchip: Add txpbl node for RK3399/RK3328
Some rockchip SoCs like the RK3399 and RK3328 exhibit an issue
where tx checksumming does not work with packets larger than 1498.

The default Programmable Buffer Length for TX in these GMAC's is
not suitable for MTUs higher than 1498. The workaround is to disable
TX offloading with 'ethtool -K eth0 tx off rx off' causing performance
impacts as it disables hardware checksumming.

This patch sets snps,txpbl to 0x4 which is a safe number tested ok for
the most popular MTU value of 1500.

For reference, see https://lkml.org/lkml/2019/4/1/1382.

Signed-off-by: Carlos de Paula <me@carlosedp.com>
Link: https://lore.kernel.org/r/20200218221040.10955-1-me@carlosedp.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-28 03:47:03 +08:00
David Bauer
06442bfbf4
fixup! rockchip: add NanoPi R2S support 2020-07-28 03:16:27 +08:00
CN_SZTL
b7cbb07989
target/rockchip: refresh kernel configs 2020-07-27 21:48:14 +08:00
David Bauer
2db75c07fc
target/rockchip: sync with recently changes from upstream 2020-07-27 20:08:45 +08:00
CN_SZTL
7b00dea492
target/rockchip: fix define of usb 3.0 2020-07-25 18:37:25 +08:00
CN_SZTL
339a1f7837
target/rockchip: backport more patches
Reference: jayanta525/openwrt-nanopi-r2s.
2020-07-25 18:37:19 +08:00
CN_SZTL
1bd6886d8d
target/rockchip: fix dependency 2020-07-24 03:51:54 +08:00
CN_SZTL
55fe4a0c83
target/rockchip: add missing dependency 2020-07-24 03:24:17 +08:00
CN_SZTL
dbacf55cfa
target/rockchip: rework nanopi-r2s rtl8152 LEDs
Reference: jayanta525/openwrt-nanopi-r2s@d1679edd38.
2020-07-22 03:19:34 +08:00
CN_SZTL
f6c9c32574
target/rockchip: drop iqrbanlance 2020-07-21 13:20:58 +08:00
CN_SZTL
fef63043bc
target/rockchip: enable thermal module 2020-07-20 21:29:16 +08:00
CN_SZTL
27dd0b7813
target/rockchip: add default packages 2020-07-19 21:05:42 +08:00
CN_SZTL
3e0bc7d3ad
target/rockchip: allow higher frequency 2020-07-19 11:51:16 +08:00
CN_SZTL
1b1b4177a1
target/rockchip: enable thermal module 2020-07-19 11:51:10 +08:00
CN_SZTL
ced8e6dbe6
target/rockchip: improve r2s support 2020-07-18 14:24:19 +08:00
David Bauer
886f2043e4 rockchip: add NanoPi R2S support
Hardware
--------
RockChip RK3328 ARM64 (4 cores)
1GB DDR4 RAM
2x 1000 Base-T
3 LEDs (LAN / WAN / SYS)
1 Button (Reset)
Micro-SD slot
USB 2.0 Port

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card using
dd.

MAC-address
-----------
The vendor code supports reading a MAC address from an EEPROM connected
via i2c0 of the SoC. The EEPROM (address 0x51) should contain the MAC
address in binary at offset 0xfa. However, my two units didn't come with
such an EEPROM soldered on. The EEPROM should be placed between the SoC
and the GPIO pins on the board. (U10)

Generating rendom MAC addresses works around this issue. Otherwise, all
boards running the same image have identical MAC addresses.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-17 09:57:36 +02:00
David Bauer
7ff03eb0f2 rockchip: allow for multiple boot-scripts
Add support for select a bootscript depending on the device built. This
is necessary, as the FriendlyARM NanoPi R2S needs a different bootcmd in
order to produce output on the debug UART.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-17 09:41:20 +02:00