Skip to content

Conversation

@kasimling
Copy link

@kasimling kasimling commented Jan 7, 2026

Description

This PR includes following changes
1.Adjust fan speed to CPU core temperature
2.Enable USB 3.0 support on the Type-A port

How Has This Been Tested?

1.Check the fan speed should be low when booting into desktop
2.Run command "stress-ng -v --cpu 8" to burn CPU and check if the fan speed is increased
3.Check if the USB 3.0 device is connected correctly via "lsusb"

Summary by CodeRabbit

  • New Features
    • Implemented automatic fan speed control with temperature-based regulation for improved thermal management
    • Added USB 3.0 Type-A port support to expand device connectivity options
    • Enhanced PCIe configuration for improved hardware compatibility

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 7, 2026

📝 Walkthrough

Walkthrough

Two patches for Rockchip RK3588 device tree (kernel 6.18 and 6.19) add automatic temperature-based fan control through a new thermal node, introduce a second PCIe port configuration (pcie2x1l2), and enable USB 3.0 Type-A host controller support for the rk3588s-roc-pc board.

Changes

Cohort / File(s) Summary
Thermal Management & USB Host Addition
patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch, patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
Identical device tree patches applied across kernel 6.18 and 6.19: Replace &pcie2x1l1 with &package_thermal node containing polling-delays, two temperature-triggered trip definitions (package_fan0/package_fan1) with hysteresis, and cooling-maps. Add &pcie2x1l2 node with reset-gpios, vpcie3v3-supply, and status. Add &usb_host2_xhci node configured for host mode.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested reviewers

  • rpardini
  • chainsx
  • JohnTheCoolingFan
  • SuperKali
  • TheSnowfield

🐰 A fan spins twice as fast,
PCIe ports now aligned,
USB hosts multiply—
Device trees bloom anew,
Hardware dreams, finally true!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately summarizes the main changes: fixing fan speed control and enabling USB 3.0 Type-A port on the station-m3 device, matching the patches' content.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 946d830 and bb503ff.

📒 Files selected for processing (2)
  • patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-19T13:56:45.124Z
Learning: When reviewing kernel or u-boot version bump PRs in the Armbian build system, check if patches existed in previous kernel version directories (e.g., sunxi-6.12, sunxi-6.13) before describing them as new features. If a patch and the majority of its contents existed previously with no major functionality changes, focus the review on the actual changes: the version bump itself and patch compatibility adjustments. Don't describe existing patches being ported/maintained across versions as new features or drivers—this is misleading. The patches are existing code being re-aligned to work with the new upstream version.
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-17T05:09:02.306Z
Learning: In the Armbian build system, kernel patches (e.g., in patch/kernel/archive/sunxi-6.18/patches.armbian/) contain device tree overlays and other code that have existed for years and are maintained/ported across kernel versions. When reviewing PRs that modify these patch files, focus on the actual changes being made (e.g., Makefile fixes, new additions) rather than reviewing the entire existing content within the patch as if it were new code. The patch file contents are existing, stable code unless explicitly modified in the PR diff.
Learnt from: Lemon1151
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-08T04:43:44.601Z
Learning: On the rk3399-fine3399 board, the PWM fan requires cooling-levels to extend to 255 (full duty cycle) in the device tree. With cooling-levels ending at 160, the fan fails to spin up even when temperature exceeds the thermal threshold. This is a hardware characteristic specific to this board's fan configuration.
Learnt from: iav
Repo: armbian/build PR: 9158
File: patch/kernel/archive/rockchip64-6.18/add-board-helios64.patch:598-600
Timestamp: 2026-01-03T07:27:45.955Z
Learning: In Rockchip vendor kernel branches (e.g., rockchip64-6.18), the FUSB302 device tree binding accepts usb-role-switch as a phandle reference to a USB role switch provider (e.g., typec_extcon_bridge), not just as a boolean flag as in mainline kernel bindings. The vendor implementation allows usb-role-switch = <&typec_extcon_bridge>; to work correctly.
Learnt from: HackingGate
Repo: armbian/build PR: 8665
File: config/boards/photonicat2.csc:4-4
Timestamp: 2025-10-26T10:41:35.118Z
Learning: In the Armbian build system, rk3576 boards consistently use BOARDFAMILY="rk35xx" for both vendor and edge kernel targets. The rk35xx family configuration sources rockchip64_common.inc, which provides edge and current kernel branch definitions, making these branches available even though they're not defined directly in rk35xx.conf.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:10:25.610Z
Learning: In the Armbian build system, rk32xx and rk33xx Rockchip SoCs no longer have BSP-based (vendor) kernel branches. The rk3506 is the first 32-bit Rockchip SoC to use the vendor branch in the current codebase.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8886
File: patch/kernel/rk35xx-vendor-6.1/dt/rk3528-nanopi-rev01.dts:9-9
Timestamp: 2025-11-08T06:39:24.527Z
Learning: In Armbian's Rockchip vendor kernel branches (rk35xx-vendor), device tree files may not require the same headers as mainline Linux. For example, input key definitions like KEY_BACK and KEY_VOLUMEUP may be handled differently in BSP kernels and don't necessarily need explicit includes like <dt-bindings/input/input.h> that would be required in mainline kernel device trees.
Learnt from: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:29:18.958Z
Learning: In the Armbian build system, vendor branch configurations in family files are designed to be shared across multiple SoCs within the same family that use the same vendor kernel tree. For example, rk35xx and rockchip-rk3588 families both use identical vendor branch settings (same KERNELSOURCE, KERNELBRANCH, and KERNELPATCHDIR), demonstrating that vendor branches are intentionally generic rather than SoC-specific.
📚 Learning: 2025-12-08T04:43:44.601Z
Learnt from: Lemon1151
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-08T04:43:44.601Z
Learning: On the rk3399-fine3399 board, the PWM fan requires cooling-levels to extend to 255 (full duty cycle) in the device tree. With cooling-levels ending at 160, the fan fails to spin up even when temperature exceeds the thermal threshold. This is a hardware characteristic specific to this board's fan configuration.

Applied to files:

  • patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
📚 Learning: 2026-01-03T07:27:40.951Z
Learnt from: iav
Repo: armbian/build PR: 9158
File: patch/kernel/archive/rockchip64-6.18/add-board-helios64.patch:598-600
Timestamp: 2026-01-03T07:27:40.951Z
Learning: In vendor Rockchip kernel patches (e.g., rockchip64-6.18), verify that the FUSB302 device tree binding uses a phandle reference for usb-role-switch (e.g., usb-role-switch = <&typec_extcon_bridge>;), not a bare boolean flag as in mainline. Ensure patches reflect the vendor implementation that supports phandles to a USB role switch provider, and adjust bindings accordingly to avoid regressions in USB role switching.

Applied to files:

  • patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
📚 Learning: 2025-12-17T05:09:02.306Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-17T05:09:02.306Z
Learning: In the Armbian build system, kernel patches (e.g., in patch/kernel/archive/sunxi-6.18/patches.armbian/) contain device tree overlays and other code that have existed for years and are maintained/ported across kernel versions. When reviewing PRs that modify these patch files, focus on the actual changes being made (e.g., Makefile fixes, new additions) rather than reviewing the entire existing content within the patch as if it were new code. The patch file contents are existing, stable code unless explicitly modified in the PR diff.

Applied to files:

  • patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
📚 Learning: 2025-12-19T13:56:45.124Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-19T13:56:45.124Z
Learning: When reviewing kernel or u-boot version bump PRs in the Armbian build system, check if patches existed in previous kernel version directories (e.g., sunxi-6.12, sunxi-6.13) before describing them as new features. If a patch and the majority of its contents existed previously with no major functionality changes, focus the review on the actual changes: the version bump itself and patch compatibility adjustments. Don't describe existing patches being ported/maintained across versions as new features or drivers—this is misleading. The patches are existing code being re-aligned to work with the new upstream version.

Applied to files:

  • patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
📚 Learning: 2026-01-03T07:27:45.955Z
Learnt from: iav
Repo: armbian/build PR: 9158
File: patch/kernel/archive/rockchip64-6.18/add-board-helios64.patch:598-600
Timestamp: 2026-01-03T07:27:45.955Z
Learning: In Rockchip vendor kernel branches (e.g., rockchip64-6.18), the FUSB302 device tree binding accepts usb-role-switch as a phandle reference to a USB role switch provider (e.g., typec_extcon_bridge), not just as a boolean flag as in mainline kernel bindings. The vendor implementation allows usb-role-switch = <&typec_extcon_bridge>; to work correctly.

Applied to files:

  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
📚 Learning: 2025-11-20T18:20:11.985Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8968
File: patch/u-boot/u-boot-sunxi/arm64-dts-sun50i-h6-orangepi.dtsi-Rollback-r_rsb-to-r_i2c.patch:36-36
Timestamp: 2025-11-20T18:20:11.985Z
Learning: The rewrite-patches tool (REWRITE_PATCHES=yes) in the Armbian build system can inadvertently introduce semantic changes when the u-boot/kernel git base revision differs from expected state. The tool applies patches, commits them, and re-exports them using git format-patch, which can cause the re-exported patch to reflect the base revision's state rather than preserving the original patch intent. This is particularly problematic for device tree changes like interrupt specifications. The tool currently lacks validation mechanisms to detect such semantic drift, and affected patches must be manually corrected after rewriting.

Applied to files:

  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch
🔇 Additional comments (7)
patch/kernel/archive/rockchip64-6.18/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch (4)

1-11: Patch metadata looks good.

The patch header is properly formatted with author information, date, subject, and signed-off-by line.


57-60: USB 3.0 host controller enablement looks correct.

Setting dr_mode = "host" is appropriate for a Type-A port that only operates in host mode. The xhci controller will provide USB 3.0 support as intended.


49-52: PCIe controller change aligns with bootloader configuration—no action required.

The patch correctly changes the configured PCIe controller to pcie2x1l2, matching the existing u-boot device tree for the Station M3 (rk3588s-roc-pc) board, which already uses the same controller with identical GPIO assignment (gpio3 RK_PD1). The USB 3.0 Type-A port support being added as part of this patch is appropriately routed to this controller.


21-47: Verify that the &fan cooling device is properly defined with adequate cooling-levels.

The thermal configuration syntax is correct and follows Linux kernel thermal bindings. However, the patch references a &fan cooling device that is not defined within this patch. Confirm that:

  1. The &fan pwm-fan device is defined in the base kernel DTS (arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts) or applied by another preceding patch
  2. The &fan device includes a cooling-levels property with values extending up to 255 (full PWM duty cycle) to ensure the fan can reach maximum speed when needed

Similar rk3588 boards (youyeetoo-r1, orangepi-5-pro, nanopc-t6) define cooling-levels extending to 255. Without full range support, the thermal governor may be unable to achieve maximum cooling even at high temperature thresholds.

patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-Automatic-fan-speed-and-USB-3.0-Type-A-por.patch (3)

49-52: Remove reference to "station-m3"—this patch targets the roc-pc board (rk3588s-roc-pc.dts), not station-m3.

The PCIe lane shift from pcie2x1l1 to pcie2x1l2 is valid for the wired port, but verify that pcie2x1l1 is disabled by default in rk3588s or will not probe with missing resources on roc-pc to avoid spurious activity.

Likely an incorrect or invalid review comment.


57-60: No changes needed. The dr_mode property on &usb_host2_xhci is the correct and established pattern for RK3588 in the Rockchip vendor kernel 6.19, as evidenced by multiple existing boards (rk3588-cyber-aib, rk3588-hinlink-h88k, rk3588s-orangepi-5-pro) using the identical structure with no wrapper DWC3/DRD nodes.

Likely an incorrect or invalid review comment.


20-47: Verify PCIe lane configuration change and confirm &package_thermal node source.

The thermal configuration uses THERMAL_NO_LIMIT correctly per Linux kernel thermal bindings (converts to device's max_state when used as upper limit, and 0 when used as lower limit). However, the patch replaces the &pcie2x1l1 node with &pcie2x1l2 without explicitly disabling l1—confirm that moving the PCIe configuration to l2 on this board doesn't leave l1 in an unintended state.

Additionally, verify that &package_thermal is defined in the kernel's base rk3588 device tree or is established by another patch in this same series; while it appears in multiple 6.19 board files here, the label must exist in the DTS include chain for dtc to resolve it correctly.

The USB3 dr_mode = "host" property is valid for usb3-xhci nodes.


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 and usage tips.

@github-actions github-actions bot added 02 Milestone: First quarter release size/medium PR with more then 50 and less then 250 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Jan 7, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In
@patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-rk3588s-roc-pc-Add-Thermal-fix-pcie.patch:
- Around line 36-40: The cooling-map entry map1 is using THERMAL_NO_LIMIT as the
min_state (cooling-device = <&fan THERMAL_NO_LIMIT 1>), which is wrong; change
that to a valid min state (e.g., 1) so the line becomes cooling-device = <&fan 1
N>; where N is the intended max_state for that fan level (use 1 if you want a
fixed low speed at 55°C or a higher number if a range is intended), and ensure
THERMAL_NO_LIMIT is only used as a max_state where appropriate in other maps.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between d3ddbb0 and 946d830.

📒 Files selected for processing (2)
  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-rk3588s-roc-pc-Add-Thermal-fix-pcie.patch
  • patch/kernel/archive/rockchip64-6.19/rk3588-1213-arm64-dts-rk3588s-roc-pc-Enable-usbhost2-xhci.patch
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: Lemon1151
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-08T04:43:44.601Z
Learning: On the rk3399-fine3399 board, the PWM fan requires cooling-levels to extend to 255 (full duty cycle) in the device tree. With cooling-levels ending at 160, the fan fails to spin up even when temperature exceeds the thermal threshold. This is a hardware characteristic specific to this board's fan configuration.
Learnt from: iav
Repo: armbian/build PR: 9158
File: patch/kernel/archive/rockchip64-6.18/add-board-helios64.patch:598-600
Timestamp: 2026-01-03T07:27:45.955Z
Learning: In Rockchip vendor kernel branches (e.g., rockchip64-6.18), the FUSB302 device tree binding accepts usb-role-switch as a phandle reference to a USB role switch provider (e.g., typec_extcon_bridge), not just as a boolean flag as in mainline kernel bindings. The vendor implementation allows usb-role-switch = <&typec_extcon_bridge>; to work correctly.
Learnt from: HackingGate
Repo: armbian/build PR: 8665
File: config/boards/photonicat2.csc:4-4
Timestamp: 2025-10-26T10:41:35.118Z
Learning: In the Armbian build system, rk3576 boards consistently use BOARDFAMILY="rk35xx" for both vendor and edge kernel targets. The rk35xx family configuration sources rockchip64_common.inc, which provides edge and current kernel branch definitions, making these branches available even though they're not defined directly in rk35xx.conf.
Learnt from: rpardini
Repo: armbian/build PR: 8879
File: config/sources/families/uefi-x86.conf:0-0
Timestamp: 2025-11-06T15:36:04.682Z
Learning: As of PR #8879, the uefi-x86 family in the Armbian build system now includes kernel patches for the first time. The current and edge branches for uefi-x86 are specifically configured for Apple T2-based x86 machines, including T2-specific patches from the linux-t2 project and custom kernel configuration options for Apple hardware drivers.
Learnt from: igorpecovnik
Repo: armbian/build PR: 8789
File: config/kernel/linux-sunxi64-edge.config:839-839
Timestamp: 2025-10-22T07:51:53.015Z
Learning: In Armbian's wireless driver configuration, CONFIG_RK_WIFI_DEVICE_* options are Rockchip-specific device registration settings, while CONFIG_WLAN_UWE* are the actual cross-platform driver modules for UWE5622 wireless chips. The UWE5622 chip (manufactured by Unisoc/Spreadtrum) is used on multiple Allwinner boards including Orange Pi Zero 2/2W/3 and Orange Pi 3 LTS, so CONFIG_WLAN_UWE5621/5622 along with Unisoc infrastructure options (CONFIG_SPARD_WLAN_SUPPORT, CONFIG_SC23XX, CONFIG_UNISOC_WIFI_PS, CONFIG_WCN_BSP_DRIVER_BUILDIN) are correct in sunxi64 kernel configs.
📚 Learning: 2026-01-03T07:27:45.955Z
Learnt from: iav
Repo: armbian/build PR: 9158
File: patch/kernel/archive/rockchip64-6.18/add-board-helios64.patch:598-600
Timestamp: 2026-01-03T07:27:45.955Z
Learning: In Rockchip vendor kernel branches (e.g., rockchip64-6.18), the FUSB302 device tree binding accepts usb-role-switch as a phandle reference to a USB role switch provider (e.g., typec_extcon_bridge), not just as a boolean flag as in mainline kernel bindings. The vendor implementation allows usb-role-switch = <&typec_extcon_bridge>; to work correctly.

Applied to files:

  • patch/kernel/archive/rockchip64-6.19/rk3588-1213-arm64-dts-rk3588s-roc-pc-Enable-usbhost2-xhci.patch
📚 Learning: 2025-12-08T04:43:44.601Z
Learnt from: Lemon1151
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-08T04:43:44.601Z
Learning: On the rk3399-fine3399 board, the PWM fan requires cooling-levels to extend to 255 (full duty cycle) in the device tree. With cooling-levels ending at 160, the fan fails to spin up even when temperature exceeds the thermal threshold. This is a hardware characteristic specific to this board's fan configuration.

Applied to files:

  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-rk3588s-roc-pc-Add-Thermal-fix-pcie.patch
📚 Learning: 2025-12-17T05:09:02.306Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-17T05:09:02.306Z
Learning: In the Armbian build system, kernel patches (e.g., in patch/kernel/archive/sunxi-6.18/patches.armbian/) contain device tree overlays and other code that have existed for years and are maintained/ported across kernel versions. When reviewing PRs that modify these patch files, focus on the actual changes being made (e.g., Makefile fixes, new additions) rather than reviewing the entire existing content within the patch as if it were new code. The patch file contents are existing, stable code unless explicitly modified in the PR diff.

Applied to files:

  • patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-rk3588s-roc-pc-Add-Thermal-fix-pcie.patch
🔇 Additional comments (3)
patch/kernel/archive/rockchip64-6.19/rk3588-1213-arm64-dts-rk3588s-roc-pc-Enable-usbhost2-xhci.patch (1)

9-12: LGTM! USB host controller properly configured.

The configuration correctly enables the USB host2 xHCI controller in host-only mode, which is appropriate for the USB 3.0 Type-A port.

patch/kernel/archive/rockchip64-6.19/rk3588-1212-arm64-dts-rk3588s-roc-pc-Add-Thermal-fix-pcie.patch (2)

48-51: The PCIe controller change from pcie2x1l1 to pcie2x1l2 appears to be an intentional hardware fix.

The patch header explicitly states "fix pcie2x", and this change is consistent with other similar RK3588s boards (rk3588s-youyeetoo-r1, rk3588s-orangepi-5-pro, rk3588s-nanopi-m6) in the same kernel version, which also configure GPIO3_PD1 (the reset GPIO) with pcie2x1l2 rather than pcie2x1l1. The hardware wiring for this board design appears to route the reset pin to pcie2x1l2 only, making this a deliberate correction rather than a problematic change.


20-46: Verify that the fan node includes adequate cooling-levels array entries.

The thermal zone configuration references &fan as a cooling device with levels 1 and 2 in the cooling-maps. Ensure the fan node definition in the base device tree includes a cooling-levels property with sufficient entries to support these indexed levels (minimum 3 entries for indices 0, 1, and 2). Similar board implementations use arrays like <0 120 150 180 210 240 255> or <100 160 190 200 215 235 255>. Some boards may require cooling-levels extending to 255 for full PWM duty cycle operation.

@rpardini
Copy link
Member

rpardini commented Jan 7, 2026

Consider if you want to maintain three different patches on the same DT.
Will you sent it upstream? If yes, then it's fine.

@chainsx
Copy link
Member

chainsx commented Jan 7, 2026

It is possible to consider merging the two patches into one.

@rpardini
Copy link
Member

rpardini commented Jan 7, 2026

There's also a third which sent previously.

@rpardini
Copy link
Member

rpardini commented Jan 7, 2026

Also, this one is only for 6.19/edge -- 6.18 has the 1st patch. Suggestion, unify all 3 then PR both 6.18 and 6.19 together.

@kasimling kasimling marked this pull request as draft January 8, 2026 19:16
@kasimling
Copy link
Author

Also, this one is only for 6.19/edge -- 6.18 has the 1st patch. Suggestion, unify all 3 then PR both 6.18 and 6.19 together.

@rpardini , are you referring to the package_thermal fix? I see there are such fixes for some RK3588 devices on 6.18 but not for station-m3. Right, I'll create one unify PR for both 6.18 and 6.19 kernel.

Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
@kasimling kasimling marked this pull request as ready for review January 10, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/medium PR with more then 50 and less then 250 lines

Development

Successfully merging this pull request may close these issues.

3 participants