Add coolpi-cm5-genbook DTS patch that mirrors vendor coolpi-kernel
audio routing for the internal microphone:
routing = "MIC1", "Main Mic",
"MIC2", "Headset Mic";
Necessary-but-not-sufficient: the ES8316 RX aif_out widget power-up
chain is still broken on mainline (separate issue, not addressed
here); a future codec/audio-graph-card driver fix can complete the
capture path once the topology is correct.
Include in ampere fleet manifest.
Closes the migration started in #8. The 6 active ampere patches (pwm15,
pwm-fan, RK806 power-controller, speaker, USB-C PD, lid switch) landed
in #8 under soc/rockchip/rk3588/, module/coolpi-cm5/, and
board/coolpi-cm5-genbook/. This commit migrates the remaining 3:
* `0006 arm64 Kconfig: do not select HAVE_GCC_PLUGINS`
→ patches/arch/arm64/. NOT for upstream — local build workaround;
README explains the proper fix is gcc-plugin-devel install.
* `0009 Bluetooth: btrtl: make RTL_SEC_PROJ read non-fatal`
→ patches/driver/bluetooth/btrtl/. Benefits ampere (RTL8852BE) and
boltzmann (same M.2 family). Cross-host driver/ scope.
* `0010 gpio/drm/mfd/input/dts: fix suspend/resume and wakeup on RK3588`
→ SPLIT into 5 scope-tagged sub-patches as the issue required
("0010 split into ≥2 patches by scope"):
- patches/driver/gpio/rockchip/0010a-gpio-rockchip-propagate-irq_set_wake-to-parent-GIC.patch
- patches/driver/gpu/drm/bridge/analogix/0010b-drm-bridge-analogix-dp-disable-IRQ-before-clock-gating-in-suspend.patch
- patches/driver/mfd/rk8xx/0010c-mfd-rk8xx-spi-add-PM-ops-and-shutdown-callback.patch
- patches/driver/input/misc/0010d-input-rk805-pwrkey-register-wake-IRQ-via-dev_pm_set_wake_irq.patch
- patches/board/coolpi-cm5-genbook/0010e-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-add-NPU-power-domain-and-touchpad-wakeup.patch
The split is byte-identical to the original 0010 (verified on
decompose-0010 branch in marfrit/linux-rk3588-marfrit — sha256 of
the combined diff matches the monolithic 0010 commit).
All 0010 sub-patches marked WIP in their README and explicitly NOT
added to fleet/ampere.yaml includes — suspend/resume thread is still
open and Markus hasn't decided the upstream-targeting shape.
READMEs added at each new directory documenting per-patch context.
Acceptance criteria from #1:
[x] Each patch lives at narrowest correct scope
[x] 0010 split into ≥2 patches by scope (5 sub-patches)
[x] Per-host manifest for ampere references the right scopes + explicit includes (already #8)
[ ] github.com/marfrit/misc_patches retained as historical mirror — Markus to decide
[x] working-tree dirty state on boltzmann reconciled (decompose-0010 + ampere-minimal-devices branches captured)
Generated-by: Claude Opus 4.7 <claude@reauktion.de>
Brings the second customized fleet host into kernel-agent's
scope-tagged tree. Sibling PR coming in marfrit-packages with the
arch/linux-ampere-fourier/ PKGBUILD + flat patch + config + extlinux
hook (build-tree-ready form).
Issue #6 ask #1 only — VP9 enablement (ask #2) and AV1 dec integration
(ask #3) are explicitly deferred to a separate session per the user's
direction. The ampere.yaml manifest documents what's excluded and why.
## Patches promoted
Six patches from boltzmann:~/src/misc_patches/genbook/kernel/ get
scope-tagged into kernel-agent's tree:
soc/rockchip/rk3588/
0001-...Add-pwm15-pinctrl-entries.patch (prereq for 0002)
module/coolpi-cm5/
0003-...Fix-power-off-by-enabling-RK806-as-system-power-controller.patch
board/coolpi-cm5-genbook/
0002-...Add-pwm-fan.patch
0004-...Enable-speaker-output-via-audio-graph-card.patch
0005-...Enable-USB-C-PD-charging-via-FUSB302.patch
0008-...Add-lid-switch-and-USB3-PHY-lane-config.patch
Each new scope dir gets a README.md documenting what it carries and
why the scope-level granularity makes sense (pwm15 is SoC-wide,
RK806 power-off is SoM-level not board-level, the rest are
board-specific GenBook quirks).
Note on uncommitted-modifications flag in issue body: patches 0001-0004
have working-tree-only changes in misc_patches that fix malformed
'From: PATCH 000X/000Y' headers (placeholder text instead of an
RFC-2822 author identity). The working-tree versions with proper
'From: Markus Fritsche <mfritsche@localhost>' headers are what we ship
here — the unfixed-on-disk variants would fail patch -i header parsing
on stricter implementations and are user-side cleanup that hasn't been
committed back to misc_patches yet. Markus can commit the cleanup
to that personal repo separately; this PR's ingestion does not depend
on it.
Patches 0006 (HAVE_GCC_PLUGINS Kconfig), 0009 (Bluetooth btrtl),
0010 (multi-driver suspend/wakeup) from the misc_patches series are
intentionally NOT promoted here — they need different scope tags
(arch/arm64/, driver/bluetooth/, soc/rockchip/rk3588/ + driver/ split)
and will follow when their respective campaigns demand them. The
ampere.yaml manifest documents the explicit-defer for each.
## fleet/ampere.yaml manifest
Same shape as fleet/fresnel.yaml. Baseline pinned at marfrit/linux-rockchip
branch linux-rk3588-marfrit @ f8f3ad934433 (the working tree on
boltzmann; 18 commits ahead of v7.0-rc3, current 2026-05-15 tip).
Six scope-tagged patch includes per the apply-order in the package
(pwm15 pinctrl must precede the pwm-fan node consumer).
## ampere-specific bootloader path
Documented in manifest. ampere boots from /boot/firmware/ (vfat
partition on mmcblk0p1), not /boot/ (root partition) like fresnel.
The marfrit-packages PKGBUILD's extlinux-add hook needs to write to
/boot/firmware/extlinux/extlinux.conf, not /boot/extlinux/.
## ampere as 2nd aarch64 build host
Per the README update in PR #7, ampere is now a secondary aarch64
build host. The manifest's build_host: section pins ampere as
self-hosting primary for its own kernel, with boltzmann as secondary
and fermi as fallback. This is the first manifest that has its own
host listed as the primary build target — not ideologically pretty,
but pragmatic: native arch, same uarch, full RAM, no cross-compile
step, no need to wake another host.