* rockchip: Add NanoPi M5 board support to edge kernel
* rockchip64: enable Rockchip ASoC drivers and codecs in kernel config
* config: Fix audio Kconfig tristate hierarchy
Set CONFIG_SOUND, CONFIG_SND, and CONFIG_SND_SOC to built-in (y)
to allow Rockchip audio drivers to be built-in instead of being
silently downgraded to modules by olddefconfig.
* nanopi-m5: Add asound.state for audio configuration
* nanopi-m5: Fix SAI2 clock output
* import new layout for libreelec patches (no more mbox)
* refactor existing patches to kernel 6.17
* fix uboot issue causing VOP IOMMU page fault and no screen
* Khadas VIM4: U-Boot: Mod bootargs/defconfig and add bootscr support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Pull U-Boot from CoreELEC instead of Khadas
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Remove setexpr bootargs sub rootfstype= from boot.cmd
This is no longer required
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson S4T7: family.conf: Add missing `mkdir -p "${tbasedir}"`
The toolchains fail to download because the dir isn't created
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson T7: Add rootfstype= to command line
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Add extra boot arguments
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Remove `viraniac` as maintainer and add `rw` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Add `fsck.repair=yes` and `rootwait` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Move `${bootargs}` placement
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---------
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Co-authored-by: Igor <igor@armbian.com>
When patches outside the series are in the target folder
KERNELPATCHDIR = "archive/sunxi- $ {KERNEL _ MAJOR _ MINOR}"
they create problems for all other patches in the series
and are difficult to move to the new kernel version because
they are not properly designed.
Move the patches to a separate development folder until
the design is fixed so that we can add them to the series.
Add board configuration for FriendlyELEC NanoPi R76S, including:
- nanopi-r76s.conf with board parameters and boot settings
- initial kernel / U-Boot patch for device tree and board bring-up
XpressReal(https://xpressreal.io/) is a family of Single Board Computers
developed in collaboration between Fyde Innovations, Radxa and Realtek.
XpressReal T3 is the first product in the family - a small form factor
high performance single board computer powered by the Realtek RTD1619B,
which runs FydeOS/openFyde and Linux!
Now we are adding the awesome Armbian Linux support for XpressReal T3!
This commit introduces some binary files that XpressReal T3 needed:
- firmware/realtek/rtd1619b
These binaries are the firmware for rtd1619b peripherals
(including the audio decoder, video decoder, etc.).
- u-boot-fw.tar.gz
This contains some co-processor firmware,
which needs to be loaded by u-boot in the early stage of boot.
- u-boot-prebuilt.tar.gz
These are hwsettings related files, used for tasks such as DDR initialization.
These files come from the rtd1619b SDK, which has already been open-sourced on our github:
- [firmware](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-kernel/linux-firmware/files/rtd1619b)
- [u-boot prebuilts](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-bsp/u-boot/files/prebuilt/rtd1619b)
Switch to newer U-Boot since it works reliably and provides upstream
improvements.
Add patch/u-boot/v2025.10 and the generic patch, as BOOTPATCHDIR cannot
be unset (fallback to legacy fails).
BOOT_SCENARIO="binman-atf-mainline" cannot be set here since it applies
globally to the CSC file and would break branch=vendor. Users who want
it can enable it manually.
Affected kernels:
- odroidxu4-6.6
- spacemit-6.6
the following script gets it mostly (!) right
for patch in patch-6.6.*; do
# Extract the numbers using parameter expansion
num1=${patch:10:2} # Get the first number (2 digits)
num2=${patch:13:2} # Get the second number (2 digits)
# Pad the numbers with leading zeros
padded_num1=$(printf "%03d" "$num1")
padded_num2=$(printf "%03d" "$num2")
# Construct the new patch name
new_patch="patch-6.6.${padded_num1}-${padded_num2}.patch"
# Rename the file using git mv
git mv -v "$patch" "$new_patch"
done
The change isn't consistent and only works in 2 out of 3 units.
When it fails, it does so hard, breaking SDIO.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* orangepi5pro: dts: Fix incorrect GRF node name
The GRF node was misspelled as 'sysgrf' instead
of the correct 'sys_grf'.
This commit corrects the phandle to the proper value.
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* Add initial support for Orangepi 5 Pro
Tested and Working:
Wireless & Bluetooth
USB 2.0 + USB 3.1
HDMI 2.1
Gigabit Ethernet (PCIe to RJ45 - Need drivers YT6801)
NVMe PCIe 2.0
MicroSD
Audio Controller es8388 - Audio Out
FAN PWM
LEDs PWM
Not Working:
Onboard Microphone
HDMI 2.0 (DP-HDMI - rockchip,rk3588-dp No Driver)
Not Tested:
Camera 1,2
eMMC
* OPi 5 Pro: Ethernet Driver Installation on First Boot
Implemented a simple script to install the driver
during first boot using the installation headers
included in the image. Takes just a few seconds
on first boot.
Disclaimer: Attempted installation in a chroot env but failed.
* fix: Make first-boot Ethernet driver install more robust
The `eth-driver-firstboot.service` would sometimes fail on first boot with a "Resource temporarily unavailable" error. This happened when another process had a lock on `dpkg`.
To fix this, the installation script now waits for any `dpkg` locks to be released before attempting to install the driver package. It also includes a retry mechanism (3 attempts) in case of a transient failure.
This ensures the network driver is successfully installed, providing a better out-of-box experience.
* set clocks to the old default rate if the codec never calls set_sysclk
After mainline kernel commit 21cfbeae7d7c54a6cdea4b00096150f438f4fbde
rockchip i2s requires that soc codecs call set_sysclk to explicity select a rate.
This patch simply reverts to the old behavior if the codec does call set_sysclk.
(rather that failing in that case with a bogus rate of 0hz)
Also adds rk3308 vendor ASoC support to 6.16 kernel
* Require use of device tree overlay to enable pcm5102a CODEC
Firstly, the upstream patch for sun4i-drm ensures the HDMI output is initialized successfully.
Secondly, patching drm_atomic_helper_connector_hdmi_check() avoids a null pointer dereference at shutdown or reboot
Although my initial testing appeared to be a success, subsequent
testing finds it to fail more often than it works.
Back to square one.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
The old method carried along with board-pbp-add-dp-alt-mode.patch only
makes typec work in one(normal) orientation. This patch introduces a
proper extcon driver and makes the workaround cleaner, so orientation
switch is working.
Improvements:
- type-c DP on rk3399 works with both orientations
- type-c USB 3.0 on rk3399 works with both orientations, with minor
issues, see below
Caveats:
- Powered USB-C hubs may be not recognized, and can be worked around by
loading a gadget driver, or manually toggling the mode once for each
connection.
- Some dual-role devices(phone, tablet) may be not recognized.
Affected boards:
- TinkerBoard 2/2S
- Pinebook Pro
- NanoPC T4
- Orange Pi 4
- Orange Pi 4 LTS
Tested on tinkerboard 2s. This patch contains other minor fixes for
tinker2's device tree, including adding a missing fan node, adding color
labels to leds.
The 2 patches adding dp support for nanopc t4 and pinebook pro are also
updated accordingly.
The device trees of Orange Pi 4 / 4 LTS are also updated to match the
new implementation.
* remove the patches that are shredding upstream device tree
* consolidation into single patch that apply over upstream dt
* add pcm5102a device tree overlay for handy usage
* correct system patch used for aliasing on Allwinner A10, A13 and A20 to ensure consistent allocation of device IDs
* Re-introduce spi overlays for each bus so that when used in conjuction with a device driver overlay, the pins are correctly muxed into SPI mode
* Ensure SPI overlay patches are applied
* Fix typo in patch name
* Move alias patches further down series.conf to ensure they are only called after the intial overlay creation
* Rephrase subject heading to improve clarity
* Fix interface aliases on Allwinner A10 for I2C, SPI and UART
* Fix interface aliases on Allwinner A13 for I2C and UART
* Fix interface aliases on Allwinner A20 for I2C, SPI and UART
* Fix SPI 2 pin names in line with latest revision of the Allwinner A10 device tree
* Fix SPI 2 pin names in line with latest revision of the Allwinner A20 device tree
* Create overlays for each bus on the Allwinner A20 so that the corresponding pins can be set into spi mode
* Create overlays for each bus on the Allwinner A10 so that the corresponding pins can be set into spi mode
* Condense alias path corrections into the intial overlay creation patch instead of applying a further patch on topof it to enact these corrections
* Remove references to our no longer needed addtional overlays
* rename to include 'arm-dts..' for consistency with other dts related patches
* Fix mistake in SPI overlay patches naming which leads to build failure
* Fix typo in application of spi2 overlay that was leading to compilation failure
* Amend the assigned aliases in overlay creation so that the kernel correctly maps the bus/port number to match the physical hardware numbering
* Update pin labels for SPI 2 to use current names as defined in sun4i-a10.dtsi and sun7i-a20.dtsi. fixed typo in sun5i-a13-spi-spidev as compatibility field should be sun5i-a13
* Re-introduce compilation of spi bus overlays on Allwinner A10 and A20 SOCs which are necessary to ensure that the pins are correctly muxed into spi mode
- fixes: unrecognized option '-Wl,--no-warn-rwx-segment'
- add a patch to atf that removes the unrecognized linker options
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
This was introduced in 6.2 but was removed from the kernel code
in 6.15.
We are currently building cores for sunxi starting from 6.6.
Therefore, a simple replacement without conditions.
This is tested on a tinkerboard 2s.
The u-boot dts for tb2 contains other fixes, and the major ones are:
- add missing basic gpio-fan node
- usb-c altmode fix, dts part
- aimed at nanopi-r2s and nanopineo3
- impacts:
- boards (re)using 'nanopi-r2s-rk3328_defconfig' (rk3328)
and:
- boards using U-Boot v2022.04 or
- boards using U-Boot v2022.07
- added explicit dependency on python3-setuptools as (at least) U-Boot
v2022.04 and v2022.07 fail building due to missing 'distutils' for
boards that use U-Boot v2022.04 or v2022.07