aboutsummaryrefslogtreecommitdiff
path: root/target/linux/rockchip
Commit message (Collapse)AuthorAge
* rockchip: enable drivers for rk356xTianling Shen2023-11-26
| | | | | | | Enable all necessary drivers for the rk356x SoCs, including PHY, SCMI, SPI etc. Also backport 2 upstream patches for sdhci fixes. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: remove kernel 5.15 patches and configTianling Shen2023-11-26
| | | | | | As we switched to kernel 6.1, these files can go. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: switch to kernel 6.1Tianling Shen2023-11-26
| | | | | | Required by the following rk3568 support. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: move image generation command to defaultTianling Shen2023-11-26
| | | | | | | | It's applicable for all devices so move it to default to reduce redudant code. Addtionally introduce a new variable `BOOT_SCRIPT` to allow custom boot script (if necessary). Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* treewide: disable CONFIG_SLUB_DEBUG in target configsRafał Miłecki2023-11-09
| | | | | | | | | | | From the symbol help message: > SLUB has extensive debug support features. Disabling these can result > in significant savings in code size. There seems to be no need to enable those debugging features for standard use. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* rockchip: refresh kernel configRafał Miłecki2023-11-07
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* rockchip: add support for Radxa ROCK Pi EJayantajit Gogoi2023-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for Radxa ROCK Pi E, rockchip rk3328 board. Specification: - CPU: Rockchip RK3328 64-bit Quad-core - RAM: DDR3 256MB ~ 2GB - Network: 1 x 10/100/1000M Ethernet 1 x 10/100M Ethernet - Storage: 1 x MicroSD Slot 1 x eMMC Module Slot - USB Host/OTG: 1 x USB3.0 Type A HOST 1 x USB2.0 HOST (40-pin pin-header) - Wireless RTL8723DU/RTL8821CU - Debug Serial: 1500000 baud at UART2 ( 40-pin pin-header) - Power Supply: Type-C 5V Optionally PoE Installation: - Write image to SD Card or EMMC with dd - Boot ROCK Pi E from the SD Card Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
* rockchip: add support for PINE64 ROCK64Antonio Flores2023-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for PINE64 ROCK64, rockchip rk3328 board. Specifications: 4 x ARM Cortex A53 cores @ 1.5 GHz ARM Mali 450 MP2 GPU LPDDR3 RAM (up to 4GB) Gigabit Ethernet Micro SD Slot eMMC module slot SPI Flash 128Mbit 4K digital video out 2x USB 2.0 Host 1x USB 3.0 Host PI-2 bus PI-P5+ bus IR R/X port Real Time Clock (RTC) port Power Over Ethernet (POE) (when using optional HAT module) A/V jack Power, Reset and Recovery buttons 3.5mm barrel power (5V 3A) port To install write image to the sd using dd (dd if=*.img of=/*) Signed-off-by: Antonio Flores <antflores627@gmail.com>
* rockchip: enable wifi support for NanoPC T4Lu jicong2023-07-26
| | | | | | wifi module: AP6356S (BCM4356) SDIO Signed-off-by: Lu jicong <jiconglu58@gmail.com>
* rockchip: add FriendlyARM NanoPC T4 supportLu jicong2023-07-26
| | | | | | | | | | | | | | | | | | | | | | Hardware -------- RockChip RK3399 ARM64 (6 cores) 4GB LPDDR3 RAM 1x 1000 Base-T 1 GPIO LED (status) HDMI 2.0 3.5mm TRRS AV jack Micro-SD slot 16GB eMMC 1x USB 3.0 Port 2x USB 2.0 Port 1x USB Type-C Port 1x M.2 PCI-E Port AP6356S (BCM4356) SDIO WiFi & Bluetooth adapter -------- Note: AP6356S is not supported yet due to the lack of firmware and NVRAM Signed-off-by: Lu jicong <jiconglu58@gmail.com>
* kernel: migrate FORCE_MAX_ZONEORDER to ARCH_FORCE_MAX_ORDER for 6.1Stefan Kalscheuer2023-06-25
| | | | | | | | | | The flag FORCE_MAX_ZONEORDER was renamed to ARCH_FORCE_MAX_ORDER in Kernel 6.1 [1]. Rename the flag in generic Kconfig and remove it from target configs. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0192445cb2f7ed1cd7a95a0fc8c7645480baba25 Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
* rockchip: fix setup network config for nanopi r2cTianling Shen2023-06-17
| | | | | | | | Without it the WAN port won't be initialized properly. Fixes: 8f578c15b314 ("rockchip: add NanoPi R2C support") Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* kernel: Set CONFIG_FRAME_WARN depending on targetHauke Mehrtens2023-06-02
| | | | | | | | This set the CONFIG_FRAME_WARN option depending on some target settings. It will use the default from the upstream kernel and not the hard coded value of 1024 now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: add Orange Pi R1 Plus LTS supportTianling Shen2023-05-31
| | | | | | | | | The OrangePi R1 Plus LTS is a minor variant of OrangePi R1 Plus with the on-board NIC chip changed from rtl8211e to yt8531c, and otherwise identical to OrangePi R1 Plus. Tested-by: Volkan Yetik <no3iverson@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: add Orange Pi R1 Plus supportTianling Shen2023-05-31
| | | | | | | | | | | | | | Orange Pi R1 Plus is a Rockchip RK3328 based SBC by Xunlong. This device is similar to the NanoPi R2S, and has a 16MB SPI NOR (mx25l12805d). The reset button is changed to directly reset the power supply, another detail is that both network ports have independent MAC addresses. Note: booting from SPI is currently unsupported, you have to install the image on a SD card. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: enable testing kernel version with 6.1 versionTianling Shen2023-05-29
| | | | | | Enable testing kernel version with 6.1 kernel version. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: 6.1: refresh config and add missing symbolsTianling Shen2023-05-29
| | | | | | Refresh config for kernel 6.1 and add missing symbols Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: 6.1: refresh kernel patchesTianling Shen2023-05-29
| | | | | | Refresh kernel patches for version 6.1. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: 6.1: copy patches, config from 5.15Tianling Shen2023-05-29
| | | | | | Copy patches and config from 5.15 kernel version. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* kernel: enable (ARM|ARM64)_MODULE_PLTS in generic configTony Ambardar2023-05-23
| | | | | | | | | | | | | | | | | | | This allows loading modules with large memory requirements, recently needed while testing on armvirt/32. Past forum discussions [1] and bug reports [2] also raised this and the ipq806x target already set it in response [3]. Given this increases kernel image size by only ~1KB, is generally useful on multi-platform kernels, and enabled by default on upstream arm32 Linux, add it to the generic config. The setting has similar utility on arm64, is a requirement for KASLR, and already enabled on most OpenWrt aarch64 targets, so pull this into the top-level generic config. [1]: https://forum.openwrt.org/t/vmap-allocation-for-size-442368-failed-use-vmalloc-size-to-increase-size/34545/7 [2]: https://github.com/openwrt/openwrt/issues/8282 [3]: f81e148eb6 ("ipq806x: update 4.19 kernel config"). Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* rockchip: add NanoPi R2C supportTianling Shen2023-05-18
| | | | | | | The NanoPi R2C is a minor variant of NanoPi R2S with the on-board NIC chip changed from rtl8211e to yt8521s, and otherwise identical to R2S. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* kernel: backport Motorcomm YT8521/YT8531 supportTianling Shen2023-05-18
| | | | | | It will be used on NanoPi R2C and OrangePi R1 Plus LTS board. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: move UBOOT_DEVICE_NAME to defaultTianling Shen2023-05-18
| | | | | | Simplify variable usage. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: merge bootscriptTianling Shen2023-05-18
| | | | | | | | The bootscript for nanopi r2s/r4s only changes the serial address, so make it auto detected in mmc bootscript rather than creating more (redudant) files. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-12
| | | | | | | | | | | All targets are bumped to 5.15. Remove the old 5.10 patches, configs and files using: find target/linux -iname '*-5.10' -exec rm -r {} \; Further, remove the 5.10 include. Signed-off-by: Nick Hainke <vincent@systemli.org>
* rockchip: disable UHS speed for ROC-RK3328-CCTianling Shen2023-05-09
| | | | | | | | | | | The previously stated speed of sdr-104 in is too high for the hardware to reliably communicate with some fast SD cards. Rockchip boards have a common bug when operating uhs speed, which will hang the system during a soft reboot. To be on the safe side, lower the speed to workaround. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: enable rk805 pinctrl driverTianling Shen2023-05-09
| | | | | | | This is required for ROC-RK3328-CC to light up the LED-s which are connected to rk805's gpio. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: add Firefly ROC-RK3328-CC supportTianling Shen2023-05-09
| | | | | | | | | | | | | | | | | | | | | | Hardware -------- RockChip RK3328 ARM64 (4 cores) 4GB DDR4 RAM 1x 1000 Base-T 2 LEDs (POWER / USER) HDMI 2.0 3.5mm TRRS AV jack Micro-SD slot eMMC slot 1x USB 3.0 Port 2x USB 2.0 Port Installation ------------ Uncompress the OpenWrt sysupgrade and write it to a micro SD card using dd. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* kernel: improve handling of CONFIG_IO_URINGTony Ambardar2023-05-03
| | | | | | | | | | | | | | | | | | | | | | Kernel setting CONFIG_IO_URING supports high-performance I/O for file access and servers, generally for more performant platforms, and adds ~45 KB to kernel sizes. The need for this on less "beefy" devices is questionable, as is the size cost considering many platforms have kernel size limits which require tricky repartitioning if outgrown. The size cost is also large relative to the ~180 KB bump expected between major OpenWRT kernel releases. No OpenWrt packages have hard dependencies on this; samba4 and mariadb can take advantage if available (+KERNEL_IO_URING:liburing) but otherwise build and work fine. Since CONFIG_IO_URING is already managed via the KERNEL_IO_URING setting in Config-kernel.in (default Y), remove it from those target configs which unconditionally enable it, and update the defaults to enable it conditionally only on more powerful 64-bit x86 and arm devices. It may still be manually enabled as needed for high-performance custom builds. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: Deactivate CONFIG_COMPATHauke Mehrtens2023-04-29
| | | | | | | | | | | | | | This deactivates the CONFIG_COMPAT kernel option. With CONFIG_COMPAT the kernel will provide syscall interfaces for arm32 binaries in addition to the interfaces needed for arm64 binaries. In OpenWrt the complete userspace is compiled for this specific architecture and support for 32 bit ARM applications is not needed. This reduces the size and the attack surface for the systems. On all other targets CONFIG_COMPAT is already deactivated. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate CONFIG_LEGACY_PTYSHauke Mehrtens2023-04-29
| | | | | | | | | The legacy (BSD) PTY support could open security problems in a system, We do not need them in OpenWrt, deactivate this option in all targets. Debian also deactivates this option. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_ARM64_SW_TTBR0_PANHauke Mehrtens2023-04-29
| | | | | | | | | | | | | This activates the CONFIG_ARM64_SW_TTBR0_PAN option for all arm64 kernels by default. The CONFIG_ARM64_SW_TTBR0_PAN option prevents the kernel form accessing user space memory directly. This makes it harder to exploit the kernel. This is activated by default and was already activate on all other arm64 targets before. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_HARDENED_USERCOPY for all targetsHauke Mehrtens2023-04-29
| | | | | | | | | | | | | | This activates CONFIG_HARDENED_USERCOPY for the remaining targets. This adds additional checks in the copy_from_user() and copy_to_user() functions. This was not activated for ARCHS38 before because of a bug in the Linux kernel 5.4 till 5.14, which as fixed and is described here: https://github.com/foss-for-synopsys-dwc-arc-processors/linux/issues/15 I do not know why this was deactivated for mt7629 and rockchip. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: update NVMEM symbolsRafał Miłecki2023-01-07
| | | | | Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* sunxi: ensure NanoPi R1 has unique MAC addressJan-Niklas Burfeind2022-12-25
| | | | | | | | | | | | | | | | | | | | Ensure the MAC address for all NanoPi R1 boards is assigned uniquely for each board. The vendor ships the device in two variants; one with and one without eMMC; but both without static mac-addresses. In order to assign both board types unique MAC addresses, fall back on the same method used for the NanoPi R2S and R4S 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_R1#Hardware_Spec Similar too and based on: commit b5675f500daf ("rockchip: ensure NanoPi R4S has unique MAC address") Co-authored-by: David Bauer <mail@david-bauer.net> Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* kernel: bump 5.10 to 5.10.159John Audia2022-12-14
| | | | | | | | | | | | | | | Removed upstreamed: backport-5.10/888-v6.1-ca8210-Fix-crash-by-zero-initializing-data.patch[1] All patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.159&id=0a8e66e375736ea12c11f0ef238ba2a8efec460b Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* rockchip: enable watchdog driverKien Truong2022-12-04
| | | | | | | | Enable Synopsys DesignWare watchdog driver for rockchip device Tested on NanoPi R2S Signed-off-by: Kien Truong <duckientruong@gmail.com>
* rockchip: use LZMA FIT for kernel imageChuanhong Guo2022-11-14
| | | | | | | | Use LZMA compressed kernel to save some space in boot partition. Fixes: #11197 Tested-by: Tianling Shen <cnsztl@immortalwrt.org> [NanoPi R2S] Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* rockchip: armv8: add CONFIG_ARM64_ERRATUM_1742098John Audia2022-10-30
| | | | | | | | 5.15.76 introduces a new symbol that applies Cortex-A72 SoCs so enable it[1]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.76&id2=v5.15.75 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic configAleksander Jan Bajkowski2022-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | Endianness depends on CPU architecture. CONFIG_CPU_(BIG/LITTLE)_ENDIAN should be enabled on target or subtarget based on SoC architecture. Fixes warning: $ make kernel_oldconfig CONFIG_TARGET=subtarget ... .config:1008:warning: override: CPU_LITTLE_ENDIAN changes choice state .... Summary: - ARC - only the CONFIG_CPU_BIG_ENDIAN symbol is defined for this architeture. If it is disabled then the processor operates in LITTLE_ENDIAN mode (default), - ARM32 - CONFIG_CPU_LITTLE_ENDIAN symbol available since kernel 5.19. This option should be enabled after OpenWRT moves to kernel 6.x. After refreshing the kernel, the symbol disappears, - ARM64 - enabled CONFIG_CPU_LITTLE_ENDIAN, - MIPS - enabled relevant symbols, - POWERPC - enabled CONFIG_CPU_BIG_ENDIAN, - UML - Symbols are not defined for this architecture, - X86 - always little endian. Symbols are not defined for this architecture. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* rockchip: switch to 5.15 kernelTomas Lara2022-10-02
| | | | | | Run tested: NanoPI R4S Signed-off-by: Tomas Lara <tl849670@gmail.com>
* rockchip: refresh kernel 5.15 configTomas Lara2022-10-02
| | | | | | Refreshed using make kernel oldconfig CONFIG TARGET=rockchip . Signed-off-by: Tomas Lara <tl849670@gmail.com>
* kernel: Move some IOMMU options to genericHauke Mehrtens2022-09-24
| | | | | | | | | | | | This adds some missing IOMMU related options for x86/64 and moves some of them to generic for all targets. On x86 IOMMU_DEFAULT_DMA_LAZY is used by default, on all other platforms IOMMU_DEFAULT_DMA_STRICT is the default. we just follow the default kernel configuration here. Fixes: 8fea4a102ccd ("x86/64: enable IOMMU support") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: add system-LED aliases specific to OpenWrtDavid Bauer2022-09-10
| | | | | | | Add the aliases sections required to detect LEDs specific to OpenWrt boot / update indication for the NanoPi R4S. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: ensure NanoPi R4S has unique MAC addressDavid Bauer2022-09-10
| | | | | | | | | | | | | | | | | 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>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-10
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_INPUT_MISC on all targetsHauke Mehrtens2022-08-10
| | | | | | | | | CONFIG_INPUT_MISC does not do any changes to the kernel image, it only shows some extra kernel configuration options. Activate it on all targets. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: reliably distribute net interruptsRonny Kotzschmar2022-07-07
| | | | | | | | | 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>
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-24
| | | | | | | | | | | | 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>
* rockchip: add kernel 5.15 as testingJuergen Wurzer2022-06-18
| | | | | | | | Add kernel 5.15 as testing kernel for the rockchip-armv8 target. Signed-off-by: Juergen Wurzer <wurzer.juergen@gmail.com> [squash commits, update commit message] Signed-off-by: David Bauer <mail@david-bauer.net>