Files
kernel-agent/fleet/ampere.yaml
T
claude-noether f8d56d8635 ampere: wire internal microphone (MIC1) routing
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.
2026-05-17 21:29:06 +00:00

113 lines
5.7 KiB
YAML

# kernel-agent manifest for ampere (CoolPi GenBook / Rockchip RK3588)
#
# Status: bootstrap. ka-promote / ka-build / ka-install CLI not yet
# implemented; the canonical patch set + baseline below is the input
# for the manual flow that produces linux-ampere-fourier (same shape
# as fresnel's bootstrap reference build).
#
# Asks #2 (VP9 enablement on RK3588 rkvdec) and #3 (AV1 dec integration)
# from kernel-agent issue #6 are NOT addressed in this manifest —
# tracked separately for a follow-up sprint.
host: ampere
arch: arm64
soc: rockchip/rk3588
module: coolpi-cm5
board: coolpi-cm5-genbook
distro: archlinux-arm
baseline:
tree: torvalds/linux
url: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
ref: v7.0-rc3
upstream_compat: linux-7.0-rc3
# 2026-05-16 bisect note: the linux-rk3588-marfrit branch tip @ f8f3ad9
# (18 commits ahead of v7.0-rc3) BLACK-SCREENS ampere — connector
# reports connected/enabled/dpms On + SDDM starts + backlight on, but
# panel shows no pixels. Decomposing the suspend/resume patch (0010
# family) into 5 atomic sub-commits and reverting all 5 did NOT recover
# display (test-arch-plus-pcie3 branch). The 6 patches listed below
# applied on top of v7.0-rc3 directly DO boot with working display
# (ampere-minimal-devices branch @ 7c241f2). Regression source is in
# one of the remaining 12 commits in f8f3ad9 — top suspect:
# 55d1b3dcc05e "clk: rockchip: rk3588: Drop CLK_SET_RATE_PARENT from
# DCLK_VOP2_SRC" (touches display controller clock parent rate). Other
# excluded commits: Shawn Lin pcie3 phy series, Cristian Ciocaltea
# clk/dts/dw-dp fixes, Sebastian Reichel hdmirx Rock 5 ITX, Pedro Alves
# btrtl, and the suspend/resume patch 0010 family. Bisect campaign
# separately.
#
# Branch ampere-minimal-devices on git.reauktion.de/marfrit/linux-rk3588-marfrit
# is the verified-working tip if you want a ready-to-fetch ref instead
# of patches-on-mainline.
# Scope-tagged patch includes. Resolve to patches/<scope>/<file>.patch.
# Apply order matters: pwm15 pinctrl (soc) must precede the genbook
# pwm-fan node consumer.
includes:
- soc/rockchip/rk3588/0001-arm64-dts-rockchip-rk3588-Add-pwm15-pinctrl-entries.patch
- board/coolpi-cm5-genbook/0002-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Add-pwm-fan.patch
- module/coolpi-cm5/0003-arm64-dts-rockchip-rk3588-coolpi-cm5-Fix-power-off-by-enabling-RK806-as-system-power-controller.patch
- board/coolpi-cm5-genbook/0004-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Enable-speaker-output-via-audio-graph-card.patch
- board/coolpi-cm5-genbook/0005-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Enable-USB-C-PD-charging-via-FUSB302.patch
- board/coolpi-cm5-genbook/0008-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Add-lid-switch-and-USB3-PHY-lane-config.patch
- board/coolpi-cm5-genbook/0011-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-wire-internal-microphone.patch
# Explicitly NOT included this round (tracked for later sprints):
# - VP9 enablement for RK3588 rkvdec (issue #6 ask 2). /dev/video0 only
# advertises S265 + S264 today; vainfo lists 9 profiles, target is
# 10. Requires identifying the VDPU381/383 patch chain + possible
# DTS additions. RFC-stage work, scope unclear until research lands.
# - AV1 decoder integration (issue #6 ask 3). Kernel side is fine
# (/dev/video4 advertises AV1F). Backend libva-v4l2-request-fourier
# needs iter39 for a third fd. Backend work, not kernel.
# - misc_patches/genbook/kernel/0006 (arm64 Kconfig: do not select
# HAVE_GCC_PLUGINS). Local-only build-config; not for upstream and
# possibly redundant with the linux-rk3588-marfrit branch already.
# - misc_patches/genbook/kernel/0009 (Bluetooth btrtl RTL_SEC_PROJ
# non-fatal). Different subsystem; promote under driver/bluetooth/
# when a campaign demands.
# - misc_patches/genbook/kernel/0010 (multi-driver suspend/wakeup fix).
# Promote under soc/rockchip/rk3588/ or split per affected driver
# once the RockHard campaign decides the upstream-targeting shape.
config:
source: /proc/config.gz on running ampere kernel (7.0.0-rc3-ARCH+, hand-managed before this bootstrap)
strategy: snapshot, fold to baseline, accept-new with rationale on diff
package:
name: linux-ampere-fourier
versioning: "${baseline_ref}.kafr${pkgrel}" # 7.0.rc3.kafr1 etc.
install_mode: alongside
conflicts: []
provides: []
kernel_suffix: -ampere-fourier # /boot/firmware/Image-7.0.0-rc3-ampere-fourier
bootloader: extlinux
bootloader_path: /boot/firmware/extlinux/extlinux.conf # vfat partition on mmcblk0p1
boot_path: /boot/firmware/ # vfat, 1.5G, ~1G free
# ampere boots from a separate FAT partition (mmcblk0p1), unlike fresnel which
# uses the root partition's /boot/. The extlinux-add hook needs to write to
# /boot/firmware/extlinux/extlinux.conf, not /boot/extlinux/.
verify:
bar1_ssh_heartbeat: required
bar2_pkg_version: required
bar3_dtb_match:
- power-off via 'shutdown -h' actually powers down (RK806 system-power-controller wired)
- pwm15 pinctrl exposes group3-pwm15-m0..m3 entries
- audio: speakers driven via ES8316 graph (not just headphone)
bar4_per_patch_probe: opt-in
bar5_burn_in: skip # laptop, runtime not constant
build_host:
primary: ampere # self-host, 8 cores RK3588, 32 GB RAM, native arch
secondary: boltzmann # also RK3588 32 GB, kbuild-aarch64 container surrogate
fallback: fermi # hertz LXD, ALARM aarch64
# No distcc for kernel-agent builds — native make on the assigned host only.
# ampere is self-hosting today because boltzmann was busy with userspace
# builds when the bootstrap ran; either host can take the work.
backup:
pre_install: hertz:/sparfuxdata/kernel-agent-backups/ampere/${replaced_version}/