[PATCH v2 0/4] RK3588 and Rock 5B dts additions: thermal, OPP and fan

From: Alexey Charkov
Date: Tue Jan 30 2024 - 13:22:26 EST


This is an assortment of device tree additions for RK3588(s) and their
enablement on Radxa Rock 5B.

Thermal zone information and cooling maps is the follow-up to feedback
received on v3 patch version [1] - thanks a lot to Daniel for continued
review of these!
Changes in v4:
- Set higher 'polling-delay-passive' (100 instead of 20)
- Name all cooling maps starting from map0 in each respective zone
- Drop 'contribution' properties from passive cooling maps

Fan control on Rock 5B has been split into two intervals: let it spin
at the minimum cooling state between 55C and 65C, and then accelerate
if the system crosses the 65C mark - thanks to Dragan for suggesting.
This lets some cooling setups with beefier heatsinks and/or larger
fan fins to stay in the quietest non-zero fan state while still
gaining potential benefits from the airflow it generates, and
possibly avoiding noisy speeds altogether for some workloads.

OPPs help actually scale CPU frequencies up and down for both cooling
and performance - tested on Rock 5B under varied loads. I've split
the patch into two parts: the first containing those OPPs that seem
to be no-regret with general consensus during v1 review [2], while
the second contains OPPs that cause frequency reductions without
accompanying decrease in CPU voltage. There seems to be a slight
performance gain in some workload scenarios when using these, but
previous discussion was inconclusive as to whether they should be
included or not. Having them as separate patches enables easier
comparison and partial reversion if people want to test it under
their workloads, and also enables the first 'no-regret' part to be
merged to -next while the jury is still out on the second one.

[1] https://lore.kernel.org/linux-rockchip/1824717.EqSB1tO5pr@bagend/T/#ma2ab949da2235a8e759eab22155fb2bc397d8aea
[2] https://lore.kernel.org/linux-rockchip/CABjd4YxqarUCbZ-a2XLe3TWJ-qjphGkyq=wDnctnEhdoSdPPpw@xxxxxxxxxxxxxx/T/#m49d2b94e773f5b532a0bb5d3d7664799ff28cc2c

Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx>
---
Changes in v2:
- Dropped the rfkill patch which Heiko has already applied
- Incorporate feedback received on the thermal and OPP code (see above)
- Link to v1: https://lore.kernel.org/r/20240125-rk-dts-additions-v1-0-5879275db36f@xxxxxxxxx

---
Alexey Charkov (4):
arm64: dts: rockchip: enable built-in thermal monitoring on rk3588
arm64: dts: rockchip: enable temperature driven fan control on Rock 5B
arm64: dts: rockchip: Add OPP data for CPU cores on RK3588
arm64: dts: rockchip: Add further granularity in RK3588 CPU OPPs

arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 34 ++-
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 371 ++++++++++++++++++++++++
2 files changed, 404 insertions(+), 1 deletion(-)
---
base-commit: 8a696a29c6905594e4abf78eaafcb62165ac61f1
change-id: 20240124-rk-dts-additions-a6d7b52787b9

Best regards,
--
Alexey Charkov <alchark@xxxxxxxxx>