- works: PCIe/NVMe, GMAC, Realtek DSA switch, SD, SPI-NOR
- does not work: USB (I didn't manage to pick correctly; lets wait for Kwiboo on this)
- untested: everything else
- the gmac works, but is connected to switch chip that is not supported by u-boot
- here I disable gmac1 for the u-boot DT
- that allows for easier booting from USB ethernet adapters
* sunxi-6.18: make the mess even worse
* fixing one of megis patches and add sunxi 32bit to the mess
* rewrite against 6.18
* fix media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch
* fix media-sun6i-csi-implement-vidioc_enum_framesizes.patch
* fix misc-modem-power-Power-manager-for-modems.patch
* Fix usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch, include rewrite
* fix mmc-sunxi-mmc-Remove-runtime-PM.patch, two hunks no longer apply
* re-extract all of megis patches
* remove unneeded branch
* add note to disabled patch
* auto-generated, out of date
* drop megous drm patches in favor of Jernej's work. disable broken patches
* disable patch which breaks compilation for armhf
* disable breaking patch, rewrite everything
* remove patches unrelated to sunxi family
* fix spi dev compatible patch
* fix tsc2007 patch
* drop mainlined patch, adjust x96 mate T95 eth sd card hack
* remove upstreamed patch
* re-enable no longer broken
* another rewrite to align stuff properly
* adjust various comments in series.conf
* recover lost overlays
* uew5622: fix compilation against Linux 6.18
* fix Add-sunxi-addr-driver-Used-to-fix-uwe5622-bluetooth-MAC-address.patch
* adjust patch subject to make sense
* restore fixup creation
restore overlay prefix on opiz2
this needs to be properly sorted at some point
* bump to 6.18.1
sunxi and sunxi64 build just fine
* fix and re-enable drv-mfd-axp20x-add-sysfs-interface.patch
* rewrite patches
6.6-stable commit 4e83377 is not easily mergeable with hardkernel 0cd454a
and it is not clear whether the memleak it fixes occurs with the
hardkernel code at all. As such, drop it entirely.
- Created patch/misc/rtw88/6.18/ directory with upstream driver patches
- Removed obsolete kernel 6.16 reference from patch conditions
- Updated comment to clarify that RF path detection fix is only needed
for kernel 6.1.x (upstreamed in 6.18+)
This fixes RTL8822CS WiFi initialization failures on kernel 6.18 where
the driver was not being properly patched due to missing version directory.
Fixes SDIO timeout errors during chip initialization.
- Add mainline U-Boot support for edge branch (v2026.01-rc2)
- Add U-Boot defconfig patch for nanopi-r76s
- Fix USB3.0 Type-A host port configuration in DTS
- Enable USB OTG0 controller in host mode with power GPIO control
- Set KERNEL_TEST_TARGET to edge
- from linux-t2 project: https://github.com/t2linux/linux-t2-patches
- https://t2linux.org/
- x86: add .config hook `custom_kernel_config__applet2()`
- original patches from t2linux for 6.18 and 6.12
- rewrite patches against v6.18-rc4 and v6.12.57
- `7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h.patch`
needed special attention for correct patch attribution (missing From)
- `1002-Put-apple-bce-in-drivers-staging` needs reordering to the
top to avoid conflicts with EXTRAWIFI sed-based "patching"
- Change debug console from ttyS2 to ttyS0
- Remove SERIALCON from board configs
- Set console based on BOOT_SOC
- Enable UART0 in device tree for nanopi-r76s
Initial support for ODROID M1S
Tested with Debian Bookworm and Noble Cinnamon and Noble GNOME desktop
environment.
See: https://forum.armbian.com/topic/33242-odroid-m1s-image-planned/
- few fixes, rebase
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
> The kernel upstream fixed the missing PWM pinctrl C code for g12b and
> sm1, but did not add these PWM pinctrl nodes in the device tree.
> Therefore, only need to delete the
> meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch from the repository
> and add a meson-g12b-dt-Add-missing-pinmux-node-for-pwm.patch.
> This patch does not include all PWM pinctrl nodes, only adding some
> g12b PWM pinctrl nodes as in the old patch. Notably, pwm_b_z_pins was
> renamed to pwm_b_z0_pins, but this is not used in the build repository.
- thus:
- added `meson-g12b-dt-Add-missing-pinmux-node-for-pwm.patch`
- dropped `meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch`
- kept `dt/meson-g12b-a311d-cainiao-cniot-core.dts`
Co-authored-by: retro98boy <retro98boy@qq.com>
- using the same DT as the rockchip64-6.16
- defconfig based on Rock5b, so we can eventually use the same fusb302 when time comes
- -u-boot.dtsi enables `ums` / `rockusb` et al using the middle usb-c port (orientation sensitive)
- enables booting from NVMe
- TODO: sd/usb/nvme/mmc boot order
- this maps copying files from dirs in the patch directory directly to the u-boot tree, without any .patch required:
- `defconfig` -> `configs` (useful for all)
- `dt_uboot` -> `arch/arm/dts` (useful for most; use for xx-u-boot.dtsi or stuff without CONFIG_OF_UPSTREAM)
- `dt_upstream_rockchip` -> `dts/upstream/src/arm64/rockchip` (useful for Rockchip boards)
- other mappings (eg `dt_upstream_xxx`) might be added later
Some FriendlyElec NanoPC-T6 boards use a A3A444 eMMC chip. Under heavy I/O load when running in HS400 mode, this will often result in I/O errors.
Reducing the eMMC frequency from the default 200000000 Hz to 150000000 Hz improves stability and eliminates the I/O errors.
* 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