Commit Graph

44 Commits

Author SHA1 Message Date
Tianling Shen
e26c0c7b31
Revert "rockchip: rk3328: refresh usb3 nodes"
This reverts commit 4126a5f695.

We found some issues with the usb3 inno driver, however it's good enough
to use generic usb3 driver for R2S, so revert it here and wait for fixes.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(backported from 44cbe50f17)
2021-03-10 00:56:13 +08:00
Tianling Shen
08dc06016f
rockchip: introduce vendor USB3 inno driver
Reference: faa767a9d0

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-03-09 01:05:16 +08:00
AmadeusGhost
d11eeb84ae
rorkchip: rk3328: introduce dmc driver from vendor
Referred to:
- a0e009a73e
- fcd9629c05

Signed-off-by: AmadeusGhost <amadeus@immortalwrt.org>
[separated new files from patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-03-07 17:15:26 +08:00
Tianling Shen
b584916501
rockchip: use native mac address for NanoPi R4S
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-03-07 15:43:59 +08:00
CN_SZTL
aee038e773
rockchip: refresh Kconfig
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2021-02-21 16:00:34 +08:00
AmadeusGhost
5c80512024 Merge Official Source 2021-01-20 12:20:05 +08:00
David Bauer
a8a17fd223 rockchip: use stable MAC-address for NanoPi R2S
The NanoPi R2S does not have a board specific MAC address written inside
e.g. an EEPROM, hence why it is randomly generated on first boot.

The issue with that however is the lack of a driver for the PRNG.
It often results to the same MAC address used on multiple boards by
default, as urngd is not active at this early stage resulting in low
available entropy.

There is however a semi-unique identifier available to us, which is the
CID of the used SD card. It is unique to each SD card, hence we can use
it to generate the MAC address used for LAN and WAN.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-01-18 17:32:52 +01:00
CN_SZTL
b65bd6d007
Merge Official Source 2021-01-16 17:29:29 +08:00
Sungbo Eo
22061b2880 kernel: enable CONFIG_LEDS_TRIGGER_HEARTBEAT
The heartbeat trigger is used by luci-mod-system, which is installed
as a part of the standard luci package set. It seems the LED trigger
will be required quite often, so let's enable it by default.

This increases uncompressed kernel size by about 100 bytes on ath79/generic.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2021-01-15 18:20:55 +01:00
CN_SZTL
a5d575bef9
Merge Official Source
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2021-01-11 21:00:20 +08:00
David Bauer
b1150de9e4 rockchip: add missing Kconfig symbols
When compiling with CONFIG_ALL_KMODS enabled, compilation might stall
due to unset rockchip-specific config symbols. Disable these to avoid
stalling this step.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-01-11 06:00:49 +01:00
CN_SZTL
b47dd0e4a3
rockchip: fix typo 2021-01-02 18:20:43 +08:00
CN_SZTL
fb31778a1f
Merge Official Source 2020-12-31 17:37:34 +08:00
Sungbo Eo
ccf65613da kernel: add disabled PROC_STRIPPED
Otherwise the missing symbol is added to target config for every kernel
config refresh.

While at it, remove the disabled symbol from target configs.

Fixes: 4943bc5cff ("kernel: only strip proc for small flash devices")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-12-27 19:07:42 +01:00
Tianling Shen
259cf3b7e3 rockchip: add NanoPi R4S support
Hardware
--------
RockChip RK3399 ARM64 (6 cores)
1GB DDR3 or 4GB LPDDR4 RAM
2x 1000 Base-T
3 LEDs (LAN / WAN / SYS)
1 Button (Reset)
Micro-SD slot
2x USB 3.0 Port

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

Signed-off-by: Tianling Shen <cnsztl@gmail.com>
Co-authored-by: Jensen Huang <jensenhuang@friendlyarm.com>
Signed-off-by: Jensen Huang <jensenhuang@friendlyarm.com>
Co-authored-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Marty Jones <mj8263788@gmail.com>
2020-12-27 14:00:31 +08:00
AmadeusGhost
d025b8515c
rockchip: add definition of hwRNG crypto engine 2020-11-29 11:35:31 +08:00
CN_SZTL
553860644a
Merge Mainline 2020-11-06 00:13:37 +08:00
David Bauer
6f1b8c652f rockchip: remove unused config symbols
Remove MDIO and I2C bitbangig support from the kernel.

These functionalities are currently not used by any board in the target.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-11-04 23:58:27 +01:00
CN_SZTL
8d4bb53f83
Merge Official Source 2020-10-09 18:14:59 +08:00
Paul Spooren
0f5b5cf730 kernel: clean up XATTR config symbols
Extended attributes are required for overlayfs and have hence been long
ago enabled for jffs2, but should be enabled unconditionally for all
other filesystems which may potentially serve as overlayfs' upper
directory. Previously it was inconsistently added in multiple targets.
Add symbols to generic kernel config and remove all *_XATTR symbols
from target configs.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[keep things as they are for squashfs, improve commit message]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-10-09 01:49:22 +01:00
David Bauer
4b4bff5070 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 19:00:49 +02:00
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
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
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
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
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
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
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
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
CN_SZTL
b7cbb07989
target/rockchip: refresh kernel configs 2020-07-27 21:48:14 +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
fef63043bc
target/rockchip: enable thermal module 2020-07-20 21:29: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
0485fb3925 rockchip: don't disable timer LED trigger
The timer LED trigger is enabled in all targets (except for lantiq
xway-legacy). It's necessary for the OpenWrt preinit LED pattern to
work.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-13 17:50:53 +02:00
David Bauer
875a04478c rockchip: use downstream GPIO button implementation
Use the OpenWrt netlink GPIO button implementation to forward button
presses to procd. This is necessary to make failsafe-mode access
using a button possible.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-07-13 17:50:35 +02:00
Tobias Mädel
6a05a85dcb rockchip: add support for Pine64 RockPro64
This adds the new rockchip target and support for RockPro64 RK3399

Flash:    16 MiB SPI NOR
RAM:      2 GiB/4 GiB LPDDR4
SoC:      RK3399
USB:      2x USB 2.0, 1x USB 3.0, 1x USB-C
Ethernet: 1x GbE
PCIe:     PCIe 2.0, 4 lanes
Storage:  eMMC or SD card
Optional SDIO wifi/bt module

The Pine64 RockPro64 is a single-board-computer with a 4x PCIe connector,
6 ARM64 cores (4 little, 2 big), plenty of RAM and storage.

By default the single Gigabit-Ethernet port is configured as the
LAN port.

Installation of the firware is possible by dd'ing the image
to an SD card or the eMMC flash.

Serial: 3v3 1500000 8n1

U-boot is build from the mainline tree and
integrated into the images. Required ATF to build u-boot
is downloaded from a CI build bot.

Signed-off-by: Tobias Mädel <t.maedel@alfeld.de>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
2020-04-20 16:37:56 +02:00