19249 Commits
Author SHA1 Message Date
EvilOlaf 3997d0b5b9 drivers_network.sh: disable broken out-of-tree wifi drivers
uwe5622 hasn't been tested yet but I assume it also broke
2026-09-01 15:59:21 +02:00
EvilOlaf 978a64cd89 orangepi-5-es8388-route-mclk-to-io.patch: fix patch to match upstream changes
upstream moved this section into a general 5-5b dtsi file so the patch had to move as well
2026-09-01 15:59:21 +02:00
EvilOlaf 5506aed25b meson64-7.3: rewrite patches against 7.3-rc1 2026-09-01 15:59:21 +02:00
EvilOlaf 9ae01e60f5 meson64-7.3: fix context due to upstream changes 2026-09-01 15:59:21 +02:00
EvilOlaf 48510d1ab9 rockchip64-7.3: drop upstreamed patches 2026-09-01 15:59:21 +02:00
EvilOlaf 385c6bfc25 remove stray .bak file 2026-09-01 15:59:21 +02:00
EvilOlaf 92f0e77007 7.3: copy rockchip64, meson64 and both uefi variants patches to 7.3 archive folders 2026-09-01 15:59:21 +02:00
Viacheslav Bocharov 88e5c9b2f6 rtl88x2cs: bump driver to f4263fc6 (2026-09-01)
Picks up the two fixes merged in jethome-iot/rtl88x2cs since a2066739:
ae2cc93 makes the rx_ampdu sz_limit init handle an unexpected nss index
instead of indexing past the table, and a2e3fed makes remain_on_channel
and mgmt_tx report the cookie cfg80211 hands them, gated at
KERNEL_VERSION(7, 3, 0) so the 6.12/6.18/7.1/7.2 builds are unchanged.
2026-09-01 15:42:26 +03:00
Igor Pecovnik 7673577cbf info: strip bash trailing comments before parsing board vars
ARMBIAN_BOARD_CONFIG_REGEX_GENERIC closes its value on either quote
character, greedily. A trailing comment containing an apostrophe or a
quote therefore swallows the rest of the line:

  BOARD_NAME="Khadas VIM1S" # don't confuse with VIM1 (S905X)

parses as 'Khadas VIM1S" # don' -- the match runs past the real closing
quote and ends on the apostrophe in "don't". That value rides into
image-info.json and out to every consumer; armbian/autotests names its
NetBox device from BOARD_NAME, so the lab holds a board literally called
'Khadas VIM1S" # don 01'.

Across config/boards this corrupts 14 values on 12 boards, not just the
one name: BOOTPATCHDIR on khadas-vim3/vim3l/odroidn2l, BOOTCONFIG on
radxa-e24c and radxa-nio-12l, BOOT_FDT_FILE on nanopct6-lts, BOOT_SOC and
BOOT_SCENARIO on mixtile-blade3, and more. Builds themselves are fine --
bash sources these files properly -- but the Python info tooling is not.

Fix by cutting the trailing comment before the regex runs: the first '#'
that starts a word and is not inside quotes. Tightening the regex instead
looks tempting but is wrong both ways -- a lazy match with a
backreferenced quote truncates UBOOT_HASH_EXTRA, whose value legitimately
nests quotes inside a command substitution, and staying greedy keeps
nanopct6-lts broken because its comment quotes another .dtb path.
Stripping the comment first leaves both cases alone.

Diffed the real parser against origin/main over every board file: 14
values change, all of them a strict prefix of the old value (trailing
junk removed), and no board gains or loses a variable.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-09-01 14:38:42 +02:00
Viacheslav Bocharov 4f813f1edb fix(bsp): do not block basic.target while resizing the rootfs
armbian-resize-filesystem runs with DefaultDependencies=no and
Before=basic.target, so the entire boot waits for it. The script calls
partprobe, which waits for the udev queue to drain. A udev worker that
never finishes its event stalls that queue for the full 180s worker
timeout, and basic.target - together with dbus.service - is delayed by
the same amount.

That delay breaks DNS on the first boot. systemd-resolved is ordered
before sysinit.target, so it starts while dbus is still not up and
never acquires org.freedesktop.resolve1. NetworkManager hands DNS
servers to resolved over D-Bus only, so the DHCP-provided servers never
reach it and name resolution stays dead for the whole session, which is
exactly when armbian-firstrun and apt need it.

Resizing need not run that early: resize2fs operates online on the
mounted rootfs, and the only unit ordered against it is lowmem-mkswap.
Move both units to multi-user.target so a stalled udev queue can no
longer hold up the boot. armbian-firstlogin already waits for queued
jobs through systemctl is-system-running --wait, and the script
disables itself with systemctl disable, which follows the new [Install]
section on its own.

Claude-Session: https://claude.ai/code/session_01SWvjHEYMimjZVj1qy3aR2k
2026-09-01 09:46:41 +02:00
Igor Pecovnik fe0ad5fdf8 show-extensions: fix hook-doc rendering (heading marker + btrfs docs)
Two rendering bugs on the generated Extension Hooks docs page:

1. The docs formatter emitted the one-line summary as `> <first-comment-line>`.
   When a hook's inline doc opened with a `#`-prefixed line (e.g.
   btrfs_root_add_subvolumes), that became `> #text` — a level-1 heading inside a
   blockquote, which rendered huge and broke the page's table of contents for
   every hook after it. Strip a leading `#` from the summary so it can never
   become a heading; also guard the body so summary-only hooks emit no trailing
   blank.

2. The two btrfs_root_add_subvolumes[_fstab] hook docs were raw shell (comment
   lines + example commands), not markdown, so they rendered as run-together
   text. Rewrite them as a prose summary + description + a fenced example.

Generated docs are prose (with inline code) as intended; hook doc comments are
markdown and should be written as such.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-09-01 07:25:14 +02:00
Igor Pecovnik 33dbb7d217 kernel: enable the IP tunnel drivers for every kernel
Armbian boards are routinely used as routers and VPN endpoints, and the tunnel
drivers are what that needs. They were never decided fleet-wide, so the shipped
configs drifted apart. Across the 122 of them:

  NET_IPIP            85 on   7 unset  30 absent
  NET_IPGRE           78 on   1 unset  43 absent
  NET_IPGRE_DEMUX     79 on   7 unset  36 absent
  IPV6_VTI            66 on  10 unset  46 absent
  IPV6_SIT_6RD        64 on  10 unset  48 absent
  IPV6_GRE            62 on   4 unset  56 absent
  IPV6_SIT            54 on   4 unset  64 absent
  IPV6_TUNNEL         24 on   8 unset  90 absent

The IPv4 half is nearly universal, the IPv6 half is patchy, and whether a board
can terminate a tunnel came down to which family config it happened to be built
from. Filogic shows the shape of it: edge has IPV6_TUNNEL, current and legacy do
not, while the tree all three build from enables it in the board defconfig.

The IPv6 side is the one that bites. DS-Lite (RFC 6333) terminates an
IPv4-in-IPv6 tunnel on the customer router and needs ip6_tnl. It is the standard
deployment on a large share of European fibre and cable lines, where the carrier
hands out CGNAT-only IPv4 that is not routed, so a board used as a router there
has working IPv6 and no IPv4 at all.

Set from the armbian_kernel_config hook rather than per family, which covers all
three shapes the configs come in -- absent, "is not set", and already enabled --
because scripts/config rewrites the line either way. Verified with the kernel's
own scripts/config against one config of each shape (full .config, minimal
savedefconfig, and one that disables the option outright): all ten apply.

Everything is a module except NET_IPGRE_BROADCAST and IPV6_SIT_6RD, which are
bool options extending a driver rather than separate modules -- they only ever
appear as =y in the shipped configs. Nothing is paid for until a tunnel is
created. Kernels whose dependencies are unmet drop them at olddefconfig, so
families without IPv6 are unaffected. The handful of configs that built one of
these in (=y) are normalised down to a module.

Left out: NET_FOU (foo-over-UDP) is genuinely niche, and WIREGUARD is a VPN
rather than a tunnel driver, already present in 101 of 122.

Supersedes #10568, which enables IPV6_TUNNEL for filogic-current only.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-09-01 07:24:06 +02:00
Igor Pecovnik 3b67290d6e mt7623: bananapi-r2: fix cold-boot switch data path (use RGMII CPU port)
The onboard MT7530 switch data path was dead on the majority of cold
boots: the ports link at 1G but forward no traffic, so wan/lan get no
DHCP. Root cause is gmac0's TRGMII RX clock failing to lock - a marginal
timing race that hits ~60% of cold boots and that no software reset
recovers deterministically (even a full mtk_soc_eth unbind/rebind only
helps ~40% of the time).

The board's MT7530 declares two CPU ports - port6 (gmac0, TRGMII) and
port5 (gmac1, RGMII). gmac1's plain RGMII path is reliable. Drop port6
and disable the now-unused gmac0 so gmac1/RGMII is the sole CPU port /
DSA conduit. Verified over 20+ cold power cycles: wan/lan come up and
forward (DHCP + gateway + internet, 0% loss) on every cold boot with no
intervention.

Also drop the earlier mtk_eth_soc-pse-reset-single-ppe.patch: it was
based on a wrong hypothesis (re-adding a PSE reset that frank-w had
deliberately removed upstream), did not fix cold boot, and is obsolete
now that the real cause is addressed in the device tree.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-09-01 07:21:26 +02:00
Mkirin ceb05d7033 bootscripts: seeed-rk35xx: pass boot disk tokens on kernel cmdline
Add armbian.bootdev/armbian.bootdevnum so initramfs hooks can anchor
root/userdata resolution to the disk U-Boot actually loaded the OS from
when several disks carry identical cloned images (duplicate
PARTLABEL/UUID); without the token the first-match scan may assemble
the root from the wrong disk.
2026-09-01 07:20:54 +02:00
Christoph König 8cd5fc0ceb fix: select correct SPI controller to let spidev registration not fail
Confirmed via dmesg output
2026-09-01 07:20:25 +02:00
Rosen Penev d63a39548a mvebu: helios4: remove bad patch
The settings are bad and as a result, the fans do not spin up under
load. Remove it for now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2026-09-01 07:20:14 +02:00
Periqles ec664634e3 sun60iw2: fix RTC on Orange Pi Zero 3W (use SoC RTC, drop phantom hym8563)
The Zero 3W device tree disables the SoC's working on-die RTC and
enables an external hym8563 (on s_twi2) that is not populated on the
board, so every boot starts in 1970 with a probe error and a wrong
clock until NTP syncs (breaking apt on fresh boots, among other things).

- 0009: enable the SoC RTC (allwinner,rtc-v201, driver already =y),
  disable the phantom hym8563 node.
- kernel config: point RTC_HCTOSYS_DEVICE and RTC_SYSTOHC_DEVICE at
  rtc0 - with the phantom gone the SoC RTC registers as rtc0, so the
  kernel both restores the system clock from it at boot and keeps it
  updated via the periodic NTP sync.

Verified on hardware: /dev/rtc0 registers, time survives reboots, probe
error gone.
2026-09-01 07:20:02 +02:00
dependabot[bot] cdbfdec38e build(deps): bump gitpython from 3.1.60 to 3.1.61
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.60 to 3.1.61.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.60...3.1.61)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.61
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 05:13:32 +02:00
enthropy7 a591b180a1 firstlogin: let the console with a user take the setup
Every autologin console starts the setup at once and flock -n hands it to
whichever ran first. On an image with both HDMI and a serial console that is
usually the one nobody is sitting at: the setup waits for input on an empty
screen, while the session the user is on prints "already running in another
session" and drops to a shell.

Hand it to the session that arrived last instead. The holder names itself in
the lock file and is asked to step aside with SIGTERM, which its trap already
turns into the same clean exit as a power loss: FIRSTLOGIN_SUCCESS stays 0, so
the marker survives and the setup simply runs again in the new session. The
newcomer retries rather than reading the lock file once, so a holder that has
taken the lock but not yet published its pid is displaced on the next pass. A
single console is unaffected, it takes the lock on the first try.
2026-08-31 17:25:51 +02:00
igorpecovnik ee00ac7c8a Automatic board configs status synchronise v26.11.0-trunk.30 2026-08-31 11:24:26 +02:00
Igor Pecovnik e6a7ec104f uefi-x86-7.2: fix T2 magicmouse raw_event split against Linux 7.2
With patching fixed, kernel-x86-edge (7.2.2) reaches the compiler and fails:

    drivers/hid/hid-magicmouse.c: In function 'magicmouse_raw_event_usb':
    drivers/hid/hid-magicmouse.c:742:21: error: 'nested' undeclared

Linux 7.2 hardened the DOUBLE_REPORT_ID path against unbounded recursion: the
report parser became __magicmouse_raw_event() carrying a 'nested' flag, wrapped
by a thin magicmouse_raw_event(), and the wrapped-report branch refuses to
recurse a second time.

Sub-patch 09/18 of the T2 series splits that very parser into a per-bus handler
plus an input_ops dispatcher. Applied unchanged onto 7.2 it matches the new
__magicmouse_raw_event() and cuts it in the wrong place, with two consequences:

  - the "if (nested) return 0;" guard stays behind in the split-out body, which
    is now magicmouse_raw_event_usb() and has no such parameter, hence the
    build error;
  - __magicmouse_raw_event() keeps 'nested' in its signature but its body is
    replaced by the ops dispatch, so the flag is silently discarded. Even if it
    compiled, the recursion guard would be defeated: the recursive calls pass
    true, and nothing reads it.

Rebase 09/18 so the guard moves into the dispatcher. That is the single choke
point every report passes through -- entry via magicmouse_raw_event() with
false, recursion from the DOUBLE_REPORT_ID branch with true -- so checking
"nested && data[0] == DOUBLE_REPORT_ID" there is equivalent to upstream's
check one frame deeper, with a size guard before the data[0] read. Keeping it
out of the handlers means input_ops keeps its 4-argument raw_event signature,
which sub-patches 10, 11, 13 and 4004 all build on; none of them need changes.

Verified by replaying the series over upstream hid-magicmouse.c at 52c36105f76e:
sub-patches 07-14 plus 4004 and 4005 apply with no rejects, 'nested' survives
only inside the dispatcher, all four raw_event handlers still match the ops
signature, and the file has no undefined or duplicated magicmouse_* symbols.
Not compile-tested here -- that needs a full kernel tree.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:50:53 +02:00
Igor Pecovnik fdf6fb13d2 uefi-x86-7.2: fix T2 magicmouse .reset_resume patch against Linux 7.2
kernel-x86-edge (7.2.2) fails patching on sub-patch 12/18 of the T2 series,
"HID: magicmouse: Add .reset_resume for SPI trackpads":

    Hunk #1 succeeded at 1429 (offset 74 lines).
    Hunk #2 FAILED at 1375.

Linux 7.2 gained its own magicmouse_reset_resume() — a different one, handling
USB Magic Mouse 2 resume via deferred work — along with the matching
.reset_resume entry in magicmouse_driver. So the t2linux patch collides with
upstream on both counts:

  - hunk #2 fails because .reset_resume is already in the driver struct, so the
    expected ".input_configured," -> "};" context is gone;
  - hunk #1 still applies, and that is the more dangerous half: it inserts a
    *second* static magicmouse_reset_resume() into the same file. Simply
    dropping the failing hunk would trade the patch error for a redefinition
    error at compile time.

Fold the SPI branch into the upstream handler instead and drop the
driver-struct hunk as already-upstream. Both behaviours are kept: SPI trackpads
re-request multitouch reports inline on resume, USB Magic Mouse 2 keeps
upstream's deferred schedule_delayed_work(). magicmouse_enable_multitouch() is
forward-declared at the top of the file and BUS_SPI is already used in five
other places there, so no new includes or declarations are needed.

Verified by reconstructing the build state (upstream hid-magicmouse.c at
52c36105f76e with sub-patches 07-11 applied): the original failure reproduces
byte-identically, and with this change sub-patches 07-14 all apply with no
rejects, 12 at zero fuzz and no offset. The result has exactly one
magicmouse_reset_resume() definition and one struct entry.

Note: config/sources/families/uefi-x86.conf re-downloads this series from
t2linux/linux-t2-patches when the patch directory is missing, so the same fix
should go upstream to t2linux to survive a refresh.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:50:53 +02:00
Igor Pecovnik bc8984c245 mt7623: drop dead 7.1 patch dir, normalize edge (7.2) kernel config
The mt7623 family now targets current 6.18 + edge 7.2, so the
archive/mt7623-7.1 patch directory is no longer selected by any
build - remove it (its two patches, power-key + PSE-reset, already
live in mt7623-6.18 and mt7623-7.2).

Re-ran rewrite-kernel-config against the bumped kernels (KERNEL_BTF=yes
to keep BTF and skip the host-RAM pre-flight): current is unchanged,
edge drops CONFIG_ATALK and CONFIG_DMABUF_SELFTESTS, which are not
offered by the 7.2 kernel.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:07:37 +02:00
Igor Pecovnik 72710c8905 mt7623: fix stale target list in the 7.2 power-key patch header
Reflect that the DTS patch applies to current 6.18 and edge 7.1/7.2, not
"both ... 6.18, edge 7.1" (addresses a review note). Cosmetic header only.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:07:37 +02:00
Igor Pecovnik b1c48e7c9e bananapir2: promote to supported (.csc -> .conf)
With mainline u-boot 2026.07 on SD, current 6.18 / edge 7.2 kernels, and the
onboard MT7530 switch data path fixed (PSE reset for single-PPE mt7623), the
Banana Pi R2 boots and networks end to end. Promote it from community-
supported (.csc) to supported (.conf). Maintainer already set to igorpecovnik.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:07:37 +02:00
Igor Pecovnik 1546fe4842 mt7623: bananapi-r2: fix onboard switch data path + bump edge to 7.2
The MT7530 DSA switch links up but forwards no data on 6.18/7.1/7.2: user
ports lease nothing and drop all traffic, though management frames reach the
CPU. A driver re-probe of mtk_soc_eth fixes it, isolating the fault to the
frame-engine bring-up. Root cause is upstream e8716b5b0e2e removing the PSE
reset from mtk_open() for multi-PPE SoCs; single-PPE MT7623 needs it.

- add mtk_eth_soc-pse-reset-single-ppe.patch to the mt7623-6.18, -7.1 and
  -7.2 kernel dirs: re-add the PSE reset in mtk_open(), gated on ppe_num < 2
  so multi-PPE SoCs are unaffected. Verified on hardware: DSA ports now DHCP
  and route from boot.
- bump edge target 7.1 -> 7.2.
- carry the shorted-power-key DTS patch into the new mt7623-7.2 dir.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-08-31 10:07:37 +02:00
dependabot[bot] b32a100a81 build(deps): bump github/codeql-action/upload-sarif
Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.37.8 to 4.37.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28...cdf488f595d80d6e07e03d4674febd5ab45fa938)

---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-31 09:21:29 +02:00
dependabot[bot] e36ee9f0f8 build(deps): bump gitpython from 3.1.59 to 3.1.60
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.59 to 3.1.60.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.59...3.1.60)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.60
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-31 09:10:04 +02:00
schwar3kat 8ed9bcfc40 Restore the the E52C-specific reopen-disabled-nodes-for-rk3582 patch against v2026.01 2026-08-31 16:57:58 +12:00
schwar3kat e16df4246e Revert "radxa-e52c: bump uboot to v2026.07"
This reverts commit e0732862cc.
2026-08-31 16:57:58 +12:00
schwar3kat 3bb274cc78 Revert "radxa-e52c: reopen disabled nodes for mainline u-boot"
This reverts commit d8d51465db.
2026-08-31 16:57:58 +12:00
tuxandAlin Ciciu bc397d0feb sun60iw2: fix SoC hard-freeze on CSI capture and dead camera rail (Orange Pi Zero 3W) (#10567)
Two vendor-kernel patches enabling reliable CSI camera capture on the
Orange Pi Zero 3W (tested with IMX219 on CAM1):

- 0007: guard NULL csi_fmt in the VIN CSI stream path. Streaming a
  half-negotiated pipeline (sequential v4l2-ctl invocations) previously
  dereferenced NULL inside STREAMON and hard-froze the entire SoC.
- 0008: keep BLDO2 (VCC_3V3_CSI, the camera connector rail) always on;
  the unused-regulator sweep otherwise kills capture ~30s after boot
  while sensor detection keeps working.

Co-authored-by: Alin Ciciu <periqlesfpv@gmail.com>
2026-08-31 00:25:11 +02:00
Ricardo Pardini 1090bfe171 genio-7.2: recover NVME/ISCSI-tcp + NFSD/DM stuff
- those leaked out back before v7.1
2026-08-30 23:35:03 +02:00
Ricardo Pardini 844fd4138d genio-7.2: drop CONFIG_STATIC_USERMODEHELPER from .config
- this sneaked in back before v7.1 (from Collabora's .config) and breaks module loading
2026-08-30 23:35:03 +02:00
Ricardo Pardini daeae3577e genio-7.2: fix from rabbit for MT ASoC patch 2026-08-30 23:35:03 +02:00
Ricardo Pardini 62cd8c2470 recomputer-rk3588-devkit: edge: u-boot: full mainline u-boot with DT/defconfig +fancy
- `.dts` is copy from rockchip64-7.2
- `recomputer-rk3588_defconfig` is similar to other rk3588 boards, except:
  - enable all/most SPI Flash drivers
  - enable FUSB302 driver
- `-u-boot.dtsi` just pulls in the generic dtsi + sfc/flash0 bootph
- stores environment in SPI at offset 0xc00000 size 0x20000
  - fw_printenv/fw_setenv userspace vs SPI environment
- preboot flashes R/G/B LED (tri-color user LED)
- use mainline AT-F for mainline builds (so HDMI-RX works with mainline kernel)
  - keep rkbin blob for vendor builds (although vendor is using rk u-boot for now)
2026-08-30 22:32:12 +02:00
Ricardo Pardini 638b8546dc recomputer-rk3588-devkit: add BRANCH=edge and mainline kernel DT
- DeviceTree will be submitted to LKML separately
  - identical across v7.1 and v7.2
- board file:
  - make way for `edge` by sprinkling "only for vendor" shortcircuits in strategic places
  - use a case/esac to gate `aic8800` extension, extra packages, and `recomputer-rk35xx-common.inc` sourcing
- series:
  - `dt-bindings: arm: rockchip: Add Seeed Studio reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add USB host to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add USB Type-C to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add DisplayPort to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add PCIe Ethernet to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add M.2 slots to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add HDMI to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add HDMI input to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add analog audio to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add mini PCIe slot to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add 40-pin header to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add cooling fan to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add NPU to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on reComputer RK3588`
  - `arm64: dts: rockchip: Name the GPIO lines on Seeed reComputer RK3588`
2026-08-30 22:32:12 +02:00
SuperKali 0232a0df9e boards/ayn-odin3: shellfmt the board config
Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 317f567f1a kernel/sm8750: drive the Odin 3 fan from the thermal zones
The fan ships with cooling levels but no thermal trips wired to them,
so the PWM sits at the boot default and the CPU throttles with the fan
barely spinning. Map active trips on the four cpuss and eight gpuss
zones, 40 to 80 degrees with 5 degrees of hysteresis, each stepping the
fan one level up the table, as the 7.0 ROCKNIX tree used to do.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 2d20a72664 kernel/sm8750: rewrite the patch series via the framework tool
Round-trip the whole sm8750-7.1 series through git so every patch
carries a proper format-patch header and true post-rebase context,
instead of the mixed mbox fragments and stale offsets imported from
the ROCKNIX tree, and restore the original authors and subjects the
round trip had collapsed into the importing commits.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali e8ab9f7c43 boards/ayn-odin3: fix headphone distortion and vendor the UCM
The upstream AYN UCM brings the wcd9395 headphone amp up in CLS_H_ULP
with the compander on, which distorts badly and collapses at high
volume, and its HiFi carries a second Headphones section bound to the
speaker PCM that wins over the real one. Vendor a cleaned-up UCM in
the bsp tree instead of curling the fork zip at build time: a single
Headphones section on PCM 1, a Class-AB HiFi bring-up with HD2
compensation and no compander (the same operating point radxa ships
for the wcd938x Q8B, radxa-pkg/alsa-ucm-conf#18), an entrypoint for
the UEFI card name and slightly higher analog volume.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 5afd319f5f kernel/sm8750: point the codec at the USBSS switch
The integrated jack routing patch resolves the WCD9395 USBSS analog
switch through a qcom,usbss phandle on the codec node, but no dts
ever carried the property so the lookup always came back empty and
the switch never entered audio mode. Add the phandle to the AYN
common dtsi so mechanical jack inserts actually switch the mux.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 87abfd6331 boards/ayn-odin3: enable GPU acceleration via trixie-backports Mesa
Trixie still ships a Mesa that predates the Adreno 830, so the desktop
image would run on llvmpipe with no usable GL. Install the GL and
Vulkan stack from trixie-backports in a dedicated hook, and export
FD_MESA_DEBUG=sysmem to dodge the A830 GMEM defect that shows up as
glitches under accelerated browsers.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 6bf9873439 boards/ayn-odin3: add a UCM entry for the UEFI card name
The ASoC machine driver composes a different card long name when the
kernel is started from GRUB than from the Android boot image, and alsa
ucm only autoloads a conf.d file matching that name. Link the existing
SM8750-AYN entrypoint under the UEFI name as well, mirroring what
ROCKNIX carries downstream.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali edc5c8de71 kernel/sm8750: sync the remaining ROCKNIX patches
Bring over the patches ROCKNIX still carries on top of the set imported
in the bringup: the integrated-jack USBSS routing with the HPH PCM HiFi
path, USB-C redriver and probe-defer fixes, the hv-haptics driver with
the rsinput force feedback bridge, UFS support for the SM8750
controller and the thermal, capacity and RTC DT bits. Patches aimed at
other devices (KONKR, Ayaneo) are left out; the collided 0052 rpmhpd
patch is renumbered to 0053.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali af4532c80a boards/ayn-odin3: boot via stock ABL UEFI + GRUB by default
The stock ABL already exposes UEFI and boots a GRUB image straight off
removable media, so flashing the ROCKNIX ABL is not required and it is
the only part of the bringup that is destructive to the Android side.
Make the GRUB path the default and keep the Android bootimg layout as
an opt-in via WITH_GRUB=no, marked with an -abl image suffix. Bootimg
hooks, qbootctl and the ROCKNIX ABL flasher now ship only on that
variant.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
SuperKali 03964a656a kernel/sm8750: knock down the display block resets at probe
Bootloaders that leave the display block live at ExitBootServices, like
the stock AYN UEFI, make the DPU command-mode panel hang with kickoff
timeouts once the kernel reprograms dispcc on top of that state. Assert
the MDSS core, INT2 and RSCC block resets at probe, hold one frame and
release, so the clocks get programmed like on a cold boot. Needed for
the stock ABL UEFI boot path, harmless where the block is already down.

Signed-off-by: SuperKali <hello@superkali.me>
2026-08-30 21:54:45 +02:00
enthropy7 861946a092 firstlogin: replace session kill with flock
A fresh image logs root in on tty1, on the serial console and over ssh at
once, and every session runs the setup. Each one killed the other root
shells to get the prompts to itself, so a session could be killed while
sitting at a password prompt and the setup was left unfinished. Take a
lock instead and let the other sessions step aside.
2026-08-30 19:27:51 +02:00
EvilOlaf fef269063a uefi-(x86/arm64): drop 7.1 patchsets 2026-08-30 19:20:12 +02:00
EvilOlaf d5eb2bf202 bump kernel configs to 7.2 on various families 2026-08-30 19:20:12 +02:00