aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/rockchip/armv8
Commit message (Collapse)AuthorAgeFilesLines
* rockchip: ensure NanoPi R4S has unique MAC addressDavid Bauer2022-09-101-5/+28
| | | | | | | | | | | | | | | | | | Ensure the MAC address for all NanoPi R4S boards is assigned unique for each board. FriendlyElec ship two versions of the R4S: The standard as well as the enterprise edition with only the enterprise edition including the EEPROM chip that stores the unique MAC address. In order to assign both board types unique MAC addresses, fall back on the same method used for the NanoPi R2S in case the EEPROM chip is not present by generating the board MAC from the SD card CID. [0] https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R4S#Differences_Between_R4S_Standard_Version_.26_R4S_Enterprise_Version Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit b5675f500daff3ef3f904e53a5566aa7dc09b786)
* rockchip: reliably distribute net interruptsRonny Kotzschmar2022-07-151-2/+9
| | | | | | | | | | On the NanoPI R4S it takes an average of 3..5 seconds for the network devices to appear in '/proc/interrupts'. Wait up to 10 seconds to ensure that the distribution of the interrupts really happens. Signed-off-by: Ronny Kotzschmar <ro.ok@me.com> (cherry picked from commit 9b00e9795660f53caf1f4f5fd932bbbebd2eeeb1)
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-271-0/+2
| | | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit 539e60539a2fde6531bd179c94bb9c7f8f490f2b)
* rockchip/armv8: enable armv8-CE crypto algorithmsEneas U de Queiroz2022-06-111-0/+9
| | | | | | | | This enables armv8 crypto extensions version of AES, GHASH, and CRC T10 algorithms in the kernel. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> (cherry picked from commit b1346d35e470662c98912efc49108733ee7c101c)
* kernel: include CONFIG_KEXEC_SIG in configsPhilip Prindeville2022-03-151-1/+0
| | | | | | | | | | | | | | Seeing failure to build because of missing symbols related to provisioning CONFIG_KEXEC and signed images. Without this, if you set CONFIG_KERNEL_KEXEC=y and try to build, target/linux will hang at: scripts/kconfig/conf --syncconfig Kconfig ... kexec system call (KEXEC) [Y/n/?] y kexec file based system call (KEXEC_FILE) [Y/n/?] y Verify kernel signature during kexec_file_load() syscall (KEXEC_SIG) [N/y/?] (NEW) Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* kernel: 5.10: remove CONFIG_DEVTMPFS{,_MOUNT} from kconfigsRui Salvaterra2022-03-011-2/+0
| | | | | | They are required for container support, but are handled in Config-kernel.in. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* rockchip: remove Kernel 5.4David Bauer2021-12-271-628/+0
| | | | | | | As v5.10 is the default kernel version now, the files for v5.4 can be dropped. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: Deactivate some ARM64 errata workaroundsHauke Mehrtens2021-10-032-10/+0
| | | | | | | | | | | This deactivates the following workarounds for erratas in ARM64 CPUS: CONFIG_ARM64_ERRATUM_1165522: Cortex-A76 cores (r0p0, r1p0, r2p0) CONFIG_ARM64_ERRATUM_1286807: Cortex-A76 cores (r0p0 to r3p0) CONFIG_ARM64_ERRATUM_1418040: Cortex-A76/Neoverse-N1 cores (r0p0 to r3p1) CONFIG_CAVIUM_TX2_ERRATUM_219: Cavium ThunderX2 CONFIG_FUJITSU_ERRATUM_010001: Fujitsu-A64FX Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Set CONFIG_RCU_CPU_STALL_TIMEOUT=21Hauke Mehrtens2021-09-092-2/+0
| | | | | | | | | | | | The default value for CONFIG_RCU_CPU_STALL_TIMEOUT was changed from 60 seconds to 21 seconds in 2012 in the upstream kernel. Some targets already use 21 seconds. This patch changes the default value in the generic configuration to 21 seconds and removes the target specific configuration options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-292-4/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: disable CONFIG_RCU_EXPERT and friendsRui Salvaterra2021-08-292-2/+0
| | | | | | | | | | | | | | Based on the existing documentation [1][2], I dare anyone to demonstrate that we need to fine-tune these RCU parameters. The (performance) breakage potential for doing so is immense, so let's just please put down this loaded footgun. Disable CONFIG_RCU_EXPERT and its dependent symbols. Additionally, remove the CONFIG_RCU_EXPERT symbol from the target kconfigs which contain it. [1] https://www.kernel.org/doc/Documentation/RCU/Design/Data-Structures/Data-Structures.html [2] https://lwn.net/Articles/777214/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: Do not deactivate staging driversHauke Mehrtens2021-08-212-2/+0
| | | | | | | | | Do not deactivate the kernel configuration symbol CONFIG_STAGING in the target configurations any more. This prevented the build of the exfat.ko for example. Fixes: FS#3979 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: add missing Kconfig symbolsDavid Bauer2021-08-131-0/+4
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: add various missing config symbolsDavid Bauer2021-08-101-0/+1
| | | | | | Fixes commit 91a52f22a13d ("treewide: backport support for nvmem on non platform devices") Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: add NanoPi R4S supportTianling Shen2021-06-105-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- RockChip RK3399 ARM64 (6 cores) 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. ===================================== NOTICE FOR USERS WHO USE 1GB VERSION: BY NOW IT IS NOT SUPPORTED ==================================== [initialed target] Co-developed-by: Marty Jones <mj8263788@gmail.com> Signed-off-by: Marty Jones <mj8263788@gmail.com> [fixed bootscript] Co-developed-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com> Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* treewide: remove "+" sign for increment with macaddr_addAdrian Schmutzler2021-06-051-1/+1
| | | | | | | | | | | | Many people appear to use an unneeded "+" prefix for the increment when calculating a MAC address with macaddr_add. Since this is not required and used inconsistently [*], just remove it. [*] As a funny side-fact, copy-pasting has led to almost all hotplug.d files using the "+", while nearly all of the 02_network files are not using it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-212-4/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* rockchip: use alternative CID pathDavid Bauer2021-04-181-1/+1
| | | | | | | | | | Use an alternative path to access the CID of the SD card in MMC0, used for the generation of MAC addresses. With Kernel 5.10, the device name of the MMC controller changed, breaking MAC address generation. The new path is compatible with Kernel 5.4 as well as Kernel 5.10. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: add missing config symbolsDavid Bauer2021-04-181-0/+5
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: Disable CONFIG_DMA_PERNUMA_CMA by defaultLinus Walleij2021-04-171-1/+0
| | | | | | | | | | | This CMA memory allocation option only applies to NUMA (Non-Uniform Memory Access) systems which are seldom the kind of systems that OpenWRT address. It is safe to assume that any system that need this option would turn it on locally. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* kernel: Move CONFIG_USERIO to generic configHauke Mehrtens2021-03-272-2/+0
| | | | | | | | The CONFIG_USERIO option is unset in multiple target configurations. On the sunxi target it is activated. Move the kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate CONFIG_VFIO in generic kernel configHauke Mehrtens2021-03-272-2/+0
| | | | | | | | | Instead of deactivating this in every target config, deactivate it once in the generic kernel config. I was asked for this config option in a x86 64 build in OpenWrt 21.02. Fixes: 87046e87e229 ("kernel: add missing kernel config symbol") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2021-03-192-8/+0
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-062-2/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* apm821xx, mt7621, oxnas, rockchip, zynq: remove PLUGIN_HOSTCCIlya Lipnitskiy2021-03-061-1/+0
| | | | | | This config symbol should not be defined in target configs. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* kernel: move some new symbols available on 5.10 to genericAleksander Jan Bajkowski2021-02-271-5/+0
| | | | | | Move some disabled config options found in sunxi target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* rockchip: add Kernel 5.10 supportDavid Bauer2021-02-202-21/+817
| | | | | | | | | | | | | | Remove all upstreamed patches and add the kernel configuration for version 5.10. The Rock Pi 4 was split in multiple versions. Add a DTS with the old name in order to keep compatibility while having kernel 5.4 and 5.10 in parallel. Switch to the Rock Pi 4A DTS once Kernel 5.4 support is removed. Tested-on: Nanoi R2S Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: use stable MAC-address for NanoPi R2SDavid Bauer2021-01-181-1/+8
| | | | | | | | | | | | | | | | 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>
* kernel: enable CONFIG_LEDS_TRIGGER_HEARTBEATSungbo Eo2021-01-151-1/+0
| | | | | | | | | | 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>
* rockchip: add missing Kconfig symbolsDavid Bauer2021-01-111-0/+5
| | | | | | | | 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>
* kernel: add disabled PROC_STRIPPEDSungbo Eo2020-12-271-1/+0
| | | | | | | | | | 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: 4943bc5cff47 ("kernel: only strip proc for small flash devices") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* rockchip: remove unused config symbolsDavid Bauer2020-11-041-2/+0
| | | | | | | | 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>
* kernel: clean up XATTR config symbolsPaul Spooren2020-10-091-1/+0
| | | | | | | | | | | | | 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>
* rockchip: enable Realtek PHY supportDavid Bauer2020-10-031-0/+1
| | | | | | | 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>
* rockchip: remove useless echo in 40-net-smp-affinityAdrian Schmutzler2020-08-171-1/+1
| | | | | | The command in the $() brackets will already provide the same output. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Move CONFIG_IONIC to generic kernel configHauke Mehrtens2020-08-101-1/+0
| | | | | | | 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>
* rockchip: enable rockchip-thermalDavid Bauer2020-07-291-1/+1
| | | | | | | | | 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>
* rockchip: distribute net interruptsDavid Bauer2020-07-281-0/+30
| | | | | | | | | | | | 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>
* rockchip: add NanoPi R2S supportDavid Bauer2020-07-283-6/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* rockchip: don't disable timer LED triggerDavid Bauer2020-07-131-1/+0
| | | | | | | | 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>
* rockchip: use downstream GPIO button implementationDavid Bauer2020-07-131-1/+0
| | | | | | | | 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>
* rockchip: add support for Pine64 RockPro64Tobias Mädel2020-04-205-0/+643
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>