fleet+patches: add ampere (CoolPi GenBook) minimal baseline #9
@@ -0,0 +1,83 @@
|
|||||||
|
# kernel-agent manifest for ampere (CoolPi GenBook / Rockchip RK3588)
|
||||||
|
#
|
||||||
|
# Status: minimal baseline established 2026-05-16 after the
|
||||||
|
# linux-rk3588-marfrit tip @ f8f3ad9 baseline produced a black-screen
|
||||||
|
# regression on ampere (display blank, software-state OK). Bisect
|
||||||
|
# narrowed the working baseline to mainline v7.0-rc3 + 3 settled
|
||||||
|
# patches: pwm15 pinctrl + pwm-fan thermal + RK806 system-power-controller.
|
||||||
|
#
|
||||||
|
# The suspend/resume + wakeup series (sleep fixes / patch 0010 family in
|
||||||
|
# misc_patches) is WORK-IN-PROGRESS and intentionally NOT included here
|
||||||
|
# until upstream-ready.
|
||||||
|
#
|
||||||
|
# Other linux-rk3588-marfrit commits (lid switch, USB-C PD, speaker,
|
||||||
|
# 8 cherry-picks from Shawn Lin / Cristian Ciocaltea / Sebastian Reichel
|
||||||
|
# / Pedro Alves) are also DEFERRED — one or more of them caused the
|
||||||
|
# black-screen regression and the offender hasn't been identified yet.
|
||||||
|
|
||||||
|
host: ampere
|
||||||
|
arch: arm64
|
||||||
|
soc: rockchip/rk3588
|
||||||
|
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
|
||||||
|
|
||||||
|
# Scope-tagged patch includes. Each entry resolves to
|
||||||
|
# patches/<scope>/.../<file>.patch in marfrit/kernel-agent.
|
||||||
|
#
|
||||||
|
# pwm15 patch is technically SoC-level (rk3588-extra-pinctrl.dtsi) but
|
||||||
|
# kept under board/coolpi-genbook/ for now because the only consumer in
|
||||||
|
# the fleet is ampere (boltzmann is rk3588 too but UEFI/edk2 boot, no
|
||||||
|
# pwm15 user). Move to patches/soc/rockchip/rk3588/ once a second
|
||||||
|
# consumer shows up.
|
||||||
|
includes:
|
||||||
|
- board/coolpi-genbook/0001-arm64-dts-rockchip-rk3588-Add-pwm15-pinctrl-entries.patch
|
||||||
|
- board/coolpi-genbook/0002-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Add-pwm.patch
|
||||||
|
- board/coolpi-genbook/0003-arm64-dts-rockchip-rk3588-coolpi-cm5-fix-power-off-b.patch
|
||||||
|
|
||||||
|
# Explicitly NOT included (decision logged):
|
||||||
|
# - misc_patches/genbook/kernel/0010 (sleep fixes / WIP — re-evaluate
|
||||||
|
# once Markus closes the suspend/resume thread)
|
||||||
|
# - lid switch / USB-C PD / speaker / Shawn Lin pcie3 phy series /
|
||||||
|
# Collabora clk/dts/dw-dp fixes / Sebastian Reichel hdmirx
|
||||||
|
# (all currently suspect for black-screen regression; re-bisect
|
||||||
|
# individually before re-adding)
|
||||||
|
|
||||||
|
config:
|
||||||
|
source: /proc/config.gz on running ampere kernel (7.0.0-rc3-ARCH+)
|
||||||
|
strategy: snapshot, fold to baseline, accept-new with rationale on diff
|
||||||
|
|
||||||
|
package:
|
||||||
|
name: linux-ampere-fourier
|
||||||
|
versioning: "${baseline_ref}.kafr${pkgrel}" # e.g. 7.0rc3.kafr1
|
||||||
|
install_mode: alongside # coexists with arch_mainline label in /boot/firmware
|
||||||
|
conflicts: []
|
||||||
|
provides: []
|
||||||
|
kernel_suffix: -ampere-fourier # /boot/firmware/Image-7.0.0-rc3-ampere-fourier
|
||||||
|
bootloader: extlinux # /boot/firmware/extlinux/extlinux.conf
|
||||||
|
|
||||||
|
verify:
|
||||||
|
bar1_ssh_heartbeat: required
|
||||||
|
bar2_pkg_version: required
|
||||||
|
bar3_dtb_match:
|
||||||
|
- pwm15 pinctrl entries present in rk3588-extra-pinctrl.dtsi
|
||||||
|
- pwm-fan node bound to pwm15 with cooling-cells in coolpi-cm5-genbook.dts
|
||||||
|
- rockchip,system-power-controller property on rk806 in coolpi-cm5.dtsi
|
||||||
|
bar4_per_patch_probe:
|
||||||
|
- display: SDDM greeter visible on eDP panel (visual, manual)
|
||||||
|
- power-off: `shutdown -h now` actually cuts RK806 rails (visual: backlight off + fan stops)
|
||||||
|
- pwm-fan: thermal_zone trip_points reachable, fan spins at high load
|
||||||
|
bar5_burn_in: skip # laptop, runtime not constant
|
||||||
|
|
||||||
|
build_host:
|
||||||
|
primary: ampere # native build; native verifies toolchain identity with ARCH+
|
||||||
|
fallback: boltzmann # rk3588 LXD host, larger CPU pool
|
||||||
|
# No distcc per feedback_kernel_agent_no_distcc.md (2026-05-09).
|
||||||
|
|
||||||
|
backup:
|
||||||
|
pre_install: hertz:/sparfuxdata/kernel-agent-backups/ampere/${replaced_version}/
|
||||||
+59
@@ -0,0 +1,59 @@
|
|||||||
|
From 49b8b79c8359b5f49461eea0b51dc82fea1e816b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Markus Fritsche <mfritsche@localhost>
|
||||||
|
Date: Thu, 16 Apr 2026 23:52:53 +0200
|
||||||
|
Subject: [PATCH 1/3] arm64: dts: rockchip: rk3588: Add pwm15 pinctrl entries
|
||||||
|
|
||||||
|
Add pinctrl entries for all four mux options of the RK3588 pwm15
|
||||||
|
controller (m0-m3) to rk3588-extra-pinctrl.dtsi, marked with
|
||||||
|
/omit-if-no-ref/ so they are only compiled in when referenced.
|
||||||
|
|
||||||
|
Generated-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||||||
|
Signed-off-by: Markus Fritsche <mfritsche@reauktion.de>
|
||||||
|
---
|
||||||
|
.../dts/rockchip/rk3588-extra-pinctrl.dtsi | 30 +++++++++++++++++++
|
||||||
|
1 file changed, 30 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-extra-pinctrl.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra-pinctrl.dtsi
|
||||||
|
index fb48ddc04bcb..a4fec1538858 100644
|
||||||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-extra-pinctrl.dtsi
|
||||||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra-pinctrl.dtsi
|
||||||
|
@@ -342,6 +342,36 @@ pwm7m3_pins: pwm7m3-pins {
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
+ pwm15 {
|
||||||
|
+ /omit-if-no-ref/
|
||||||
|
+ pwm15m0_pins: pwm15m0-pins {
|
||||||
|
+ rockchip,pins =
|
||||||
|
+ /* pwm15_ir_m0 */
|
||||||
|
+ <3 RK_PC3 11 &pcfg_pull_none>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /omit-if-no-ref/
|
||||||
|
+ pwm15m1_pins: pwm15m1-pins {
|
||||||
|
+ rockchip,pins =
|
||||||
|
+ /* pwm15_ir_m1 */
|
||||||
|
+ <4 RK_PB3 11 &pcfg_pull_none>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /omit-if-no-ref/
|
||||||
|
+ pwm15m2_pins: pwm15m2-pins {
|
||||||
|
+ rockchip,pins =
|
||||||
|
+ /* pwm15_ir_m2 */
|
||||||
|
+ <1 RK_PC6 11 &pcfg_pull_none>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /omit-if-no-ref/
|
||||||
|
+ pwm15m3_pins: pwm15m3-pins {
|
||||||
|
+ rockchip,pins =
|
||||||
|
+ /* pwm15_ir_m3 */
|
||||||
|
+ <1 RK_PD7 11 &pcfg_pull_none>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
sdio {
|
||||||
|
/omit-if-no-ref/
|
||||||
|
sdiom0_pins: sdiom0-pins {
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
From ed8fd7da66575a255c34d70b1ded0eb917ae0a80 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Markus Fritsche <mfritsche@localhost>
|
||||||
|
Date: Thu, 16 Apr 2026 23:52:53 +0200
|
||||||
|
Subject: [PATCH 2/3] arm64: dts: rockchip: rk3588-coolpi-cm5-genbook: Add
|
||||||
|
pwm-fan with thermal cooling
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The CoolPi CM5 GenBook has a PWM-controlled fan connected to pwm15
|
||||||
|
(mux m3, GPIO1_D7). Add a pwm-fan node driven at 20 kHz (50000 ns
|
||||||
|
period) with six cooling levels, and wire it into the package thermal
|
||||||
|
zone with two trip points at 55 °C and 65 °C.
|
||||||
|
|
||||||
|
Generated-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||||||
|
Signed-off-by: Markus Fritsche <mfritsche@reauktion.de>
|
||||||
|
---
|
||||||
|
.../rockchip/rk3588-coolpi-cm5-genbook.dts | 43 +++++++++++++++++++
|
||||||
|
1 file changed, 43 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5-genbook.dts b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5-genbook.dts
|
||||||
|
index 738637ecaf55..9819ac482855 100644
|
||||||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5-genbook.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5-genbook.dts
|
||||||
|
@@ -23,6 +23,13 @@ backlight: backlight {
|
||||||
|
pwms = <&pwm6 0 25000 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
+ fan: pwm-fan {
|
||||||
|
+ compatible = "pwm-fan";
|
||||||
|
+ #cooling-cells = <2>;
|
||||||
|
+ pwms = <&pwm15 0 50000 0>;
|
||||||
|
+ cooling-levels = <1 50 100 150 200 254>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
battery: battery {
|
||||||
|
compatible = "simple-battery";
|
||||||
|
charge-full-design-microamp-hours = <9800000>;
|
||||||
|
@@ -443,3 +450,39 @@ vp2_out_edp1: endpoint@ROCKCHIP_VOP2_EP_EDP1 {
|
||||||
|
remote-endpoint = <&edp1_in_vp2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
+
|
||||||
|
+&package_thermal {
|
||||||
|
+ polling-delay = <1000>;
|
||||||
|
+
|
||||||
|
+ trips {
|
||||||
|
+ package_fan0: package-fan0 {
|
||||||
|
+ temperature = <55000>;
|
||||||
|
+ hysteresis = <2000>;
|
||||||
|
+ type = "active";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ package_fan1: package-fan1 {
|
||||||
|
+ temperature = <65000>;
|
||||||
|
+ hysteresis = <2000>;
|
||||||
|
+ type = "active";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ cooling-maps {
|
||||||
|
+ map0 {
|
||||||
|
+ trip = <&package_fan0>;
|
||||||
|
+ cooling-device = <&fan THERMAL_NO_LIMIT 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ map1 {
|
||||||
|
+ trip = <&package_fan1>;
|
||||||
|
+ cooling-device = <&fan 3 THERMAL_NO_LIMIT>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pwm15 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&pwm15m3_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
From 0ce6ef5d48f2a557b5f39b9cf10903e46c0b55e9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Markus Fritsche <mfritsche@localhost>
|
||||||
|
Date: Thu, 16 Apr 2026 23:52:53 +0200
|
||||||
|
Subject: [PATCH 3/3] arm64: dts: rockchip: rk3588-coolpi-cm5: fix power-off by
|
||||||
|
enabling RK806 as system power controller
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Without the system-power-controller property the rk8xx-core driver never
|
||||||
|
registers its sys_off handler (rk808_power_off), which writes the DEV_OFF
|
||||||
|
bit to RK806_SYS_CFG3 at shutdown time. As a result the RK806 PMIC does
|
||||||
|
not cut power and the board remains partially active after "poweroff" —
|
||||||
|
the heartbeat LED stops but internal activity continues.
|
||||||
|
|
||||||
|
All other mainline RK3588 boards that use the RK806 carry this property
|
||||||
|
(NanoPC-T6, Rock 5A, OrangePi 5, Jaguar, ...). Add it to the CoolPi CM5
|
||||||
|
PMIC node to restore proper power-off behaviour.
|
||||||
|
|
||||||
|
Generated-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||||||
|
Signed-off-by: Markus Fritsche <mfritsche@reauktion.de>
|
||||||
|
---
|
||||||
|
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
|
||||||
|
index b07543315f87..83b72ec95f5a 100644
|
||||||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
|
||||||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
|
||||||
|
@@ -346,6 +346,7 @@ pmic@0 {
|
||||||
|
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
+ system-power-controller;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
|
||||||
|
<&rk806_dvs2_null>, <&rk806_dvs3_null>;
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
Reference in New Issue
Block a user