Skip to content

rock 5b/5bp/5t: raise fan PWM to 40 kHz, outside of the hearing range - #533

Open
lukaszsobala wants to merge 1 commit into
armbian:rk-6.1-rkr5.1from
lukaszsobala:rock5-fan-pwm-period-dts
Open

lukaszsobala wants to merge 1 commit into
armbian:rk-6.1-rkr5.1from
lukaszsobala:rock5-fan-pwm-period-dts

Conversation

@lukaszsobala

@lukaszsobala lukaszsobala commented Aug 22, 2026

Copy link
Copy Markdown

Narrower than #532 (closed, intentionally split). For a detailed description see that PR. 16.67 kHz makes the fan produce an annoying buzz all the time, so change it to 40 kHz.

Additionally, fix the cooling levels on Rock 5B.

Personally, I am now running this:

/ {
        fragment@0 {
                target = <&fan0>;
                __overlay__ {
                        pwms = <&pwm1 0 25000 0>;
                        /*      <25   55   59   63   67   71   75   80 C */
                        cooling-levels = <149 149 155 161 167 180 205 230 255>;
                };
        };

        /* floor: below this the fan still runs at 149, so it never stops */
        fragment@1 {
                target = <&trip0>;
                __overlay__ {
                        temperature = <25000>;
                        hysteresis = <3000>;
                };
        };

        fragment@2 {
                target = <&trip1>;
                __overlay__ {
                        temperature = <55000>;
                        hysteresis = <3000>;
                };
        };

        fragment@3 {
                target = <&trip2>;
                __overlay__ {
                        temperature = <59000>;
                        hysteresis = <3000>;
                };
        };

        fragment@4 {
                target = <&trip3>;
                __overlay__ {
                        temperature = <63000>;
                        hysteresis = <3000>;
                };
        };

        fragment@5 {
                target = <&trip4>;
                __overlay__ {
                        temperature = <67000>;
                        hysteresis = <3000>;
                };
        };

        fragment@6 {
                target = <&trip5>;
                __overlay__ {
                        temperature = <71000>;
                        hysteresis = <3000>;
                };
        };

        fragment@7 {
                target = <&trip6>;
                __overlay__ {
                        temperature = <75000>;
                        hysteresis = <3000>;
                };
        };

        fragment@8 {
                target = <&pcritical>;
                __overlay__ {
                        temperature = <80000>;
                        hysteresis = <3000>;
                };
        };
};

But this is a larger change, debatable. The board never exceeds 68 degrees. In my opinion trip points that start at 45 degrees make little sense. Again, the reasoning is in #532.

@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: bd44c008-8140-446f-b579-2284e6e133f7

📥 Commits

Reviewing files that changed from the base of the PR and between c615710 and 00d7bdb.

📒 Files selected for processing (3)
  • arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts
  • arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
  • arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


Walkthrough

The device trees for ROCK 5B, ROCK 5B Plus, and ROCK 5T now use a 25,000 ns PWM period for the fan. The ROCK 5B configuration also defines nine cooling levels instead of five.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 00d7b

This change adjusts fan PWM behavior and cooling levels for the affected boards; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The description explains the 40 kHz PWM change and the Rock 5B cooling-level adjustment.
Title check ✅ Passed The title clearly summarizes the 40 kHz fan PWM change for the affected Rock 5 boards.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant