Skip to content

Conversation

@EvilOlaf
Copy link
Member

@EvilOlaf EvilOlaf commented Dec 14, 2025

Description

disable a few patches
align a few patches
rewrite all patches
temporary changed MAINLINE_KERNEL_SOURCE because stable always lacks a day behind

How Has This Been Tested?

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

Release Notes

  • New Features

    • Upgraded Rockchip64 kernel from 6.19 to 6.19 with enhanced board support
    • Added support for multiple new Rockchip-based boards with complete hardware configurations
    • Enabled USB-C DisplayPort Alternate Mode support on select boards
    • Added audio codec support and thermal management improvements
    • Introduced PCIe and expanded USB/networking capabilities
  • Bug Fixes

    • Improved system stability across various Rockchip boards
    • Enhanced Ethernet PHY configuration and timing adjustments
    • Fixed LED behavior and power management issues
    • Corrected USB and storage controller configurations
  • Chores

    • Added kernel patching configuration framework

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 14, 2025

Walkthrough

Kernel version bump for Rockchip64 edge branch from 6.18 to 6.19 with comprehensive patch series. Adds patching configuration, new device-tree sources for multiple Rockchip boards (Helios64, AM40, Fine3399, OrangePi variants, NanoPi models, ROC boards, TVboxes), board-specific hardware topology updates, peripheral support enhancements (audio codecs, PCIe, USB-C DP Alt Mode, thermal management), and minor kernel driver modifications.

Changes

Cohort / File(s) Summary
Kernel Version Configuration config/sources/families/include/rockchip64_common.inc — KERNEL_MAJOR_MINOR updated from 6.18 to 6.19 for edge branch
Patching Configuration & Metadata patch/kernel/archive/rockchip64-6.19/0000.patching_config.yaml — New patching configuration defining kernel patch series metadata, DTS/overlay directories, and commit suppressions
Board-Specific Device-Tree Patches — Helios64 patch/kernel/archive/rockchip64-6.19/add-board-helios64.patch, board-helios64-dts-fix-stability-issues.patch, board-helios64-remove-pcie-ep-gpios.patch — Helios64 board DTS, PMIC stability tuning, PCIe cleanup
Board-Specific Device-Tree Patches — Firefly & NanoPi (RK3399) board-firefly-rk3399-dts.patch, board-nanopi-m4v2-dts-add-sound-card.patch, board-nanopi-r4s-pwmfan.patch, board-nanopi-m4v2-dts-add-sound-card.patch — Firefly power/peripheral reconfigurations; NanoPi M4V2/R4S audio and thermal updates
Board-Specific Device-Tree Patches — NanoPi (RK3328/RK3566) board-nanopi-r2c-plus.patch, board-nanopi-r2s.patch, board-nanopi-r3s-fix-leds.patch, board-nanopc-t4-add-typec-dp.patch — NanoPi R2/R3 Ethernet, LED, and DP Alt Mode configurations
Board-Specific Device-Tree Patches — ODROID & Radxa board-odroidm1-add-nodes-for-i2c-pwm-uart-spi.patch, board-odroidm2-fix-for-ethernet.patch, board-radxa-e25-sdmmc0-fix.patch, board-radxa-e25-usb3-and-emmc-fix.patch — ODROID-M1/M2 peripheral enables; Radxa E25/CM3i USB and storage fixes
Board-Specific Device-Tree Patches — OrangePi board-orangepi-r1-plus.patch, board-orangepi-rk3399-pcie.patch, board-orangepi-3b-add-uwe5622-wifi-bt-nodes.patch, board-orangepi5-sata-supply.patch — OrangePi variants: R1 Plus DDR/PMIC, RK3399 PCIe, 3B WiFi/BT, 5 SATA
Board-Specific Device-Tree Patches — Pinebook Pro & Others board-pbp-add-dp-alt-mode.patch — Pinebook Pro USB-C extcon bridge and DP Alt Mode support
Board-Specific Device-Tree Patches — Rock & Station Series board-rock3a-0001-emmc-sfc.patch, board-rock3a-0002-usb3.patch, board-rock3a-0003-add-gpio-names.patch, board-rock5c-add-gpio-names.patch, board-rock64-mail-supply.patch, board-rockpi3-enable-dmc.patch, board-rockpi4-0003-arm64-dts-pcie.patch, board-rockpis-dts-fixes.patch, board-rockpro64-*.patch, board-rocks0.patch, board-station-m2.patch, board-station-p2.patch — Rock/Station/RockPi/RockPro boards: storage, USB, GPIO names, GPU/thermal, PCIe, audio, headset, LED, and comprehensive peripheral wiring
Board-Specific Device-Tree Patches — ROC Series board-rk3328-roc-cc-dts-enable-dmc.patch, board-rk3328-roc-cc-dts-ram-profile.patch, board-rk3328-roc-pc-dts-ram-profile.patch, board-rk3328-roc-pc.patch — ROC boards: DMC enablement, DDR timing profiles, comprehensive subsystem configuration
New Device-Tree Sources — RK3308/RK3318 patch/kernel/archive/rockchip64-6.19/dt/rk3308-sakurapi-rk3308b.dts, dt/rk3318-box.dts — Sakura Pi RK3308B and RK3318 BOX complete device trees
New Device-Tree Sources — RK3328 Boards dt/rk3328-dusun-dsom-010r.dts, dt/rk3328-heltec.dts, dt/rk3328-mksklipad50.dts, dt/rk3328-mkspi.dts, dt/rk3328-nanopi-neo3-rev02.dts, dt/rk3328-nanopi-r2-rev00.dts, dt/rk3328-nanopi-r2-rev06.dts, dt/rk3328-nanopi-r2-rev20.dts, dt/rk3328-nanopi-r2s-plus-rev00.dts, dt/rk3328-z28pro.dts — RK3328-based boards with power, regulator, peripheral, and audio configurations
New Device-Tree Sources — RK3399 Boards dt/rk3399-am40.dts, dt/rk3399-fine3399.dts, dt/rk3399-nanopi-m4v2.dts, dt/rk3399-nanopi-r4se.dts, dt/rk3399-orangepi-4-lts.dts, dt/rk3399-orangepi-4.dts, dt/rk3399-rock-pi-4.dts, dt/rk3399-tinker-2.dts, dt/rk3399-xiaobao-nas.dts — RK3399-based boards: SMART AM40, Fine3399, NanoPi/OrangePi/Rock variants, Tinker Board 2, Xiaobao NAS with comprehensive power rails, regulators, USB-C/DP, thermal management
New Device-Tree Sources — RK3566/RK3588 Boards dt/rk3566-h96-tvbox.dts, dt/rk3566-jp-tvbox.dts, dt/rk3566-lckfb-tspi.dts, dt/rk3566-nanopi-r3s-lts.dts, dt/rk3566-panther-x2.dts — RK3566 TVboxes, Taishan Pi, NanoPi R3S LTS, and Panther X2 with peripherals, regulators, HDMI/USB topology
Driver Modifications patch/kernel/archive/rockchip64-6.19/drv-spi-spidev-remove-warnings.patch — spidev ID table entries for armbian,spi-dev compatibility

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Areas requiring extra attention:

  • Device-tree syntax and correctness across 30+ new/modified board DTS files — verify phandle references, supply chain connectivity, and regulator constraints
  • PMIC regulator configurations (rk805, rk808, rk809) — ensure voltage ranges, ramp delays, and suspend states are appropriate for each board variant
  • USB-C/Type-C and DP Alt Mode wiring (Pinebook Pro, NanoPi T4, OrangePi 4) — complex extcon bridge and altmode configurations
  • Audio codec pathways (RT5651, ES8316) — I2S, clock, and pinctrl associations across multiple boards
  • Ethernet/GMAC PHY configurations — reset delays, tx/rx delays, and MDIO bindings for consistency
  • Board-specific patches vs. new DTS files — ensure no duplication or conflicts between incremental patches and complete new DTS sources

Possibly related PRs

Suggested labels

arm64, device-tree, kernel, rockchip, rk3328, rk3399, rk3566, multimedia, drivers, board-support, 6.19

Suggested reviewers

  • rpardini
  • amazingfate
  • igorpecovnik
  • paolosabatino
  • SuperKali
  • JohnTheCoolingFan
  • ColorfulRhino
  • Tonymac32

Poem

🐰 A rabbit hops through silicon groves,
Where kernels bloom from 6.18 to 6.19 loves—
New boards take root: Helios, OrangePi, Rock so bright,
Audio codecs sing, USB-C sees the light!
DDR timings dance, regulators fine-tuned with care,
Rockchip dreams realized, floating in the air! 🚀

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'rockchip64: bump edge to 6.19' accurately describes the main change: updating the kernel version for the rockchip64 edge branch from 6.18 to 6.19.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 size/large PR with 250 lines or more 02 Milestone: First quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Framework Framework components Patches Patches related to kernel, U-Boot, ... labels Dec 14, 2025
@@ -0,0 +1,856 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
Copy link
Member Author

Choose a reason for hiding this comment

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

breaks compilation. don't know how to fix

@@ -0,0 +1,7156 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
Copy link
Member Author

Choose a reason for hiding this comment

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

does not align anymore due to upstream renaming of functions as it seems. horrible task to align manually again...

Copy link
Member Author

Choose a reason for hiding this comment

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

@brentr could you take a look into this?

@amazingfate
Copy link
Contributor

Is it possible to list all the deleted patches so we can continue working on them? I can't find media-0001 rkvdec patches now.

@EvilOlaf
Copy link
Member Author

Yes, I did my work step by step and commited inbetween to make it easier to get such info: 12aeef4

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: 14

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

🟡 Minor comments (17)
patch/kernel/archive/rockchip64-6.19/board-rock64-mail-supply.patch-1-1 (1)

1-1: Fix the filename typo: "mail" should be "mali".

The patch filename contains "mail-supply" but should be "mali-supply" to correctly reflect that it configures the Mali GPU power supply.

Suggested filename: board-rock64-mali-supply.patch

patch/kernel/archive/rockchip64-6.19/dt/rk3318-box.dts-326-326 (1)

326-326: Empty phandle may cause DTC warning or unexpected behavior.

An empty phandle reference <> is not standard DTS syntax. If no power sequence is needed for this node, either omit the mmc-pwrseq property entirely or comment it out. The current form may produce a device tree compiler warning.

-		mmc-pwrseq = <>;
+		/* mmc-pwrseq: set via overlay when wifi is attached */
patch/kernel/archive/rockchip64-6.19/board-rock3a-0003-add-gpio-names.patch-38-38 (1)

38-38: GPIO bank mismatch in line name.

Line 38 references "GPIO0_C0" but this entry is in the GPIO1 bank's C0 position.

Apply this diff to correct the GPIO bank reference:

 		/* GPIO1_C0 - C7 */
-		"pin-15 [GPIO0_C0]", "", "", "", "", "", "", "",
+		"pin-15 [GPIO1_C0]", "", "", "", "", "", "", "",
patch/kernel/archive/rockchip64-6.19/board-rock3a-0003-add-gpio-names.patch-74-75 (1)

74-75: Fix duplicate pin-21 assignment in GPIO4_C mapping.

Pin-21 is assigned to both GPIO4_C2 and GPIO4_C5 on line 74. This violates physical pin constraints since a physical pin cannot map to two different GPIO lines simultaneously. Based on earlier versions of this patch (6.12) and similar boards (Radxa Zero 3), GPIO4_C2 should map to pin-23, not pin-21.

patch/kernel/archive/rockchip64-6.19/board-rocks0.patch-4-4 (1)

4-4: Typo in patch subject: "rock-so" should be "rock-s0"

The subject line has a typo - "rock-so" (letter O) should be "rock-s0" (zero) to match the actual board name and filename.

-Subject: Add some missing nodes in rk3308-rock-so device tree
+Subject: Add some missing nodes in rk3308-rock-s0 device tree
patch/kernel/archive/rockchip64-6.19/board-firefly-rk3399-dts.patch-285-293 (1)

285-293: Incorrect interrupt type constant used.

The interrupt specification was changed from IRQ_TYPE_LEVEL_HIGH to GPIO_ACTIVE_HIGH. The interrupts property expects IRQ type constants (IRQ_TYPE_*), not GPIO polarity flags. While these may have the same numeric value, this is semantically incorrect.

Based on learnings, the rewrite-patches tool can inadvertently introduce such semantic changes when the git base revision differs from expected state.

 	brcmf: wifi@1 {
 		reg = <1>;
 		compatible = "brcm,bcm4329-fmac";
 		interrupt-parent = <&gpio0>;
-		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
+		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
 		interrupt-names = "host-wake";
patch/kernel/archive/rockchip64-6.19/dt/rk3399-am40.dts-616-618 (1)

616-618: Typo in pinctrl node name: "hots" → "host".

The node name contains a typo that should be corrected for consistency with the regulator name vcc5v0_host.

-		vcc5v0_host_en: vcc5v0-hots-en {
+		vcc5v0_host_en: vcc5v0-host-en {
 			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
patch/kernel/archive/rockchip64-6.19/dt/rk3328-dusun-dsom-010r.dts-305-305 (1)

305-305: Minor typo: inconsistent GPIO naming.

GPIO2-A3 uses a hyphen while all other entries use underscores (e.g., GPIO2_A4).

-		"pin-13 [GPIO2-A3]", "pin-27 [GPIO2_A4]", "pin-28 [GPIO2_A5]",
+		"pin-13 [GPIO2_A3]", "pin-27 [GPIO2_A4]", "pin-28 [GPIO2_A5]",
patch/kernel/archive/rockchip64-6.19/dt/rk3399-tinker-2.dts-210-226 (1)

210-226: Fix property type for wakeup-enable.

Line 224 sets wakeup-enable = "0" as a string. Device tree properties should use proper types—typically a boolean (presence/absence), integer <0>, or according to the binding specification.

Check the gmac/ethernet binding documentation to determine the correct type, and update accordingly. If it's a boolean, remove the property (false) or use wakeup-enable; (true). If it's an integer, use wakeup-enable = <0>;.

patch/kernel/archive/rockchip64-6.19/board-radxa-e25-sdmmc0-fix.patch-28-29 (1)

28-29: Fix indentation to use tabs instead of spaces.

Line 29 uses spaces for indentation, but device tree files should use tabs for consistency with the rest of the file.

Apply this diff to fix the indentation:

-	sd-uhs-sdr104;
-    sd-uhs-sdr50;
+	sd-uhs-sdr104;
+	sd-uhs-sdr50;
patch/kernel/archive/rockchip64-6.19/dt/rk3399-fine3399.dts-129-135 (1)

129-135: PWM fan cooling-levels may need to extend to 255.

Based on prior learnings for rk3399-fine3399, the PWM fan requires cooling-levels to extend to 255 (full duty cycle) for the fan to spin up properly. The current maximum of 160 may be insufficient.

-		cooling-levels = <0 30 60 90 120 160>;
+		cooling-levels = <0 30 60 90 120 160 200 255>;

Based on learnings, this is a hardware characteristic specific to this board's fan configuration.

patch/kernel/archive/rockchip64-6.19/dt/rk3399-fine3399.dts-246-249 (1)

246-249: Duplicate &gpu node definition.

This &gpu block is identical to the one already defined at lines 193-196. Remove this duplicate.

-&gpu {
-	mali-supply = <&vdd_gpu>;
-	status = "okay";
-};
-
 &gpu_thermal {
patch/kernel/archive/rockchip64-6.19/board-nanopi-m4v2-dts-add-sound-card.patch-151-153 (1)

151-153: Duplicate &i2s2 node.

The &i2s2 node is already defined and enabled in the context above (lines 141-143). This duplicate reference is redundant.

Remove this duplicate block:

-&i2s2 {
-	status = "okay";
-};
-
patch/kernel/archive/rockchip64-6.19/board-nanopi-m4v2-dts-add-sound-card.patch-117-119 (1)

117-119: Duplicate &hdmi_sound node will cause DTC warnings.

The patch adds a second &hdmi_sound node at this location, but there's already one defined in the context above (lines 113-115). This duplicate reference will cause device tree compiler warnings.

Remove this duplicate block:

-&hdmi_sound {
-	status = "okay";
-};
-
patch/kernel/archive/rockchip64-6.19/dt/rk3399-orangepi-4-lts.dts-213-213 (1)

213-213: Use "disabled" instead of "disable" for status property.

The device tree specification requires "disabled" (not "disable") for the status property. This typo appears in multiple nodes: spdif-sound (line 213), spdif_out (line 225), pwm_bl (line 231), spi1 (line 458), spdif (line 871), hdmi_in_vopl (line 1261), and dp_in_vopb (line 1265).

 	spdif-sound {
-		status = "disable";
+		status = "disabled";
patch/kernel/archive/rockchip64-6.19/dt/rk3399-orangepi-4.dts-195-195 (1)

195-195: Use "disabled" instead of "disable" for status property.

Same issue as in the LTS variant. The status property should be "disabled" per the device tree specification. Affected nodes: dw_hdmi_audio (line 195), spdif-sound (line 212), spdif_out (line 224), pwm_bl (line 230), spi1 (line 392), spdif (line 834), hdmi_in_vopl (line 1206), dp_in_vopb (line 1210).

 	dw_hdmi_audio: dw-hdmi-audio {
-		status = "disable";
+		status = "disabled";
patch/kernel/archive/rockchip64-6.19/board-nanopi-r2s.patch-267-276 (1)

267-276: Remove duplicate assigned-clocks property in gmac2phy node.

The gmac2phy node at lines 270 and 272 has assigned-clocks defined twice. The second definition will override the first, losing the initial clock assignment. Combine them into a single property with both clock references:

assigned-clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY>;
assigned-clock-rates = <50000000>, <0>;
assigned-clock-parents = <0>, <&cru SCLK_MAC2PHY_SRC>;
🧹 Nitpick comments (42)
patch/kernel/archive/rockchip64-6.19/dt/rk3328-nanopi-neo3-rev02.dts (1)

34-54: Inconsistent indentation: mixed tabs and spaces.

These nodes use spaces for indentation while the rest of the file uses tabs. Consider aligning with kernel DTS conventions (tabs).

patch/kernel/archive/rockchip64-6.19/dt/rk3318-box.dts (1)

305-305: Minor typo in comment.

"non-convential" → "non-conventional"

patch/kernel/archive/rockchip64-6.19/board-firefly-rk3399-dts.patch (1)

76-85: Use named GPIO constant for consistency.

Line 79 uses the raw number 2 for the GPIO pin, while the rest of the file consistently uses named constants like RK_PA2. This reduces readability.

 	vcc3v3_3g: vcc3v3-3g-regulator {
 		compatible = "regulator-fixed";
 		enable-active-high;
-		gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>;
+		gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pcie_3g_drv>;
 		regulator-name = "vcc3v3_3g";
patch/kernel/archive/rockchip64-6.19/board-rk3328-roc-pc.patch (1)

470-481: Inconsistent indentation: mixed tabs and spaces.

Lines 474-480 use spaces for indentation while the rest of the file uses tabs. This is a minor style issue but could cause problems with some editors or linters.

 &pinctrl {
 	pinctrl-names = "default";
-    pinctrl-0 = <&clk_32k_out>;
+	pinctrl-0 = <&clk_32k_out>;
 
-    clk_32k {
+	clk_32k {
 		clk_32k_out: clk-32k-out {
 			rockchip,pins =
 				<1 RK_PD4 1 &pcfg_pull_none>;
-        };
-    };
+		};
+	};
patch/kernel/archive/rockchip64-6.19/dt/rk3566-lckfb-tspi.dts (1)

528-530: Node name inconsistency with label.

The label wifi_host_wake_h suggests active-high, but the node name wifi-host-wake-l suggests active-low. Based on the interrupt configuration at line 618 (IRQ_TYPE_LEVEL_HIGH), the signal is active-high. Consider renaming the node to wifi-host-wake-h for consistency.

-		wifi_host_wake_h: wifi-host-wake-l {
+		wifi_host_wake_h: wifi-host-wake-h {
 			rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
patch/kernel/archive/rockchip64-6.19/dt/rk3328-dusun-dsom-010r.dts (3)

247-247: Deprecated property num-slots.

The num-slots property has been deprecated and removed from the MMC binding schema. Modern kernels ignore this property.

Consider removing this deprecated property:

-	num-slots = <1>;

359-360: Remove or document commented-out code.

Commented-out regulator-min-microvolt value without explanation. If 712500 was intentionally changed to 1100000, remove the old line to avoid confusion.

-			//regulator-min-microvolt = <712500>;
 			regulator-min-microvolt = <1100000>;

552-555: Minor whitespace issue.

Line 553 appears to have inconsistent leading whitespace (possible space before tab).

 &gpu {
-	status = "okay";
+ 	status = "okay";
 	mali-supply = <&vdd_logic>;
 };
patch/kernel/archive/rockchip64-6.19/board-rock5c-add-gpio-names.patch (1)

51-73: Remove unnecessary empty GPIO blocks.

Both gpio2 and gpio3 define gpio-line-names with all 32 entries as empty strings. If no pins require naming, the gpio-line-names property should be omitted entirely rather than defining it with empty values.

Apply this diff to remove the empty GPIO blocks:

-&gpio2 {
-    gpio-line-names =
-        /* GPIO2_A0 - A7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO2_B0 - B7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO2_C0 - C7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO2_D0 - D7 */
-        "", "", "", "", "", "", "", "";
-};
-
-&gpio3 {
-    gpio-line-names =
-        /* GPIO3_A0 - A7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO3_B0 - B7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO3_C0 - C7 */
-        "", "", "", "", "", "", "", "",
-        /* GPIO3_D0 - D7 */
-        "", "", "", "", "", "", "", "";
-};
-
patch/kernel/archive/rockchip64-6.19/dt/rk3399-tinker-2.dts (1)

428-449: Fix indentation for consistency.

The regulator-state-mem block at line 446 (and similarly at line 548) is indented inconsistently. It should align with regulator-initial-state at line 445.

Apply this diff to fix the indentation:

 		regulator-initial-state = <3>;
-			regulator-state-mem {
+		regulator-state-mem {
 			regulator-off-in-suspend;
 		};

Repeat the same fix at lines 547-550 for the vdd_gpu regulator.

patch/kernel/archive/rockchip64-6.19/dt/rk3566-panther-x2.dts (3)

8-11: Unused include: dt-bindings/input/input.h.

The input.h header is included but no KEY_* or other input constants are used in this DTS. Consider removing it if not needed.

 #include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
 #include <dt-bindings/pinctrl/rockchip.h>
 #include "rk3566.dtsi"

148-151: Minor: Inconsistent indentation.

Line 149 uses spaces instead of tabs for indentation. Consider aligning with the rest of the file for consistency.

 &gpu {
-       mali-supply = <&vdd_gpu>;
-       status = "okay";
+	mali-supply = <&vdd_gpu>;
+	status = "okay";
 };

248-253: Minor: Inconsistent indentation in DCDC_REG2 state-mem block.

The regulator-state-mem block has extra indentation compared to sibling regulator nodes.

 			regulator-initial-mode = <0x2>;
-				regulator-state-mem {
+			regulator-state-mem {
 				regulator-off-in-suspend;
 			};
patch/kernel/archive/rockchip64-6.19/dt/rk3399-xiaobao-nas.dts (2)

140-144: Use symbolic constant for key code instead of magic number.

The linux,code = <0x168> uses a hex value (360 = KEY_OK). Since <dt-bindings/input/input.h> is already included, using KEY_OK would improve readability and maintainability.

 		recovery {
 			label = "Recovery";
-			linux,code = <0x168>;
+			linux,code = <KEY_OK>;
 			press-threshold-microvolt = <18000>;
 		};

625-638: Deprecated num-slots property.

The num-slots = <1> property is deprecated in modern device trees. The kernel ignores this property for single-slot controllers.

 &sdio0 {
 	bus-width = <4>;
 	clock-frequency = <50000000>;
 	cap-sdio-irq;
 	cap-sd-highspeed;
 	keep-power-in-suspend;
 	mmc-pwrseq = <&sdio_pwrseq>;
 	non-removable;
-	num-slots = <1>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
 	sd-uhs-sdr104;
 	status = "okay";
 };
patch/kernel/archive/rockchip64-6.19/dt/rk3308-sakurapi-rk3308b.dts (4)

12-14: Add board-specific compatible string.

The compatible should include a board-specific string before the SoC fallback for proper board identification.

 / {
 	model = "Sakura Pi RK3308B";
-	compatible = "rockchip,rk3308";
+	compatible = "sakurapi,rk3308b", "rockchip,rk3308";
 };

200-205: Avoid spidev compatible string and hex frequency.

The spidev compatible triggers a kernel warning. Also, using decimal format for spi-max-frequency improves readability.

 	spi_dev@0 {
-		compatible = "spidev";
+		compatible = "linux,spidev";
 		reg = <0>;
-		spi-max-frequency = <0x2faf080>;
+		spi-max-frequency = <50000000>;
 	};

Also applies to: 211-216


153-155: Duplicate &i2c1 node definitions.

The &i2c1 node is defined twice with status = "okay". While harmless (last definition wins), this is redundant.

Remove the duplicate at lines 287-289:

-&i2c1 {
-	status = "okay";
-};

Also applies to: 287-289


315-317: Fix indentation in tsadc node.

The tsadc node uses space indentation instead of tabs, inconsistent with the rest of the file.

-&tsadc{
-  status = "okay";
-};
+&tsadc {
+	status = "okay";
+};
patch/kernel/archive/rockchip64-6.19/dt/rk3328-mksklipad50.dts (1)

561-568: Formatting issues in SPI device node.

Missing space after compatible equals sign and extra blank line.

 &spi0 {
 	max-freq = <48000000>;
 	cs-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
 	pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx>;
 	status = "okay";
-
-
 	spi_for_cs2@0 {
 		reg = <0>;
-		compatible ="armbian,spi-dev";
-		pinctrl-names ="default";
+		compatible = "armbian,spi-dev";
+		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_spi0_cs2>;
 		spi-max-frequency = <5000000>;
 		status = "okay";
 	};
 };
patch/kernel/archive/rockchip64-6.19/add-board-helios64.patch (1)

833-834: Address or track the TODO comment.

There's a TODO regarding the SD card detect definition that should be addressed or tracked for follow-up.

The comment // TODO: verify what needs to be done to use implicit CD definition suggests this may need investigation. Would you like me to open an issue to track this?

patch/kernel/archive/rockchip64-6.19/dt/rk3566-h96-tvbox.dts (4)

15-17: Use consistent compatible string format.

The compatible string should use lowercase and follow the standard vendor,product format.

 / {
 	model = "h96 TVbox 3566";
-	compatible = "h96-TVbox,rk3566", "rockchip,rk3566";
+	compatible = "h96,tvbox-rk3566", "rockchip,rk3566";
 };

26-28: Unnecessary label on chosen node.

The chosen: chosen label is redundant since the chosen node is typically not referenced by phandle.

-	chosen: chosen {
+	chosen {
 		stdout-path = "serial2:1500000n8";
 	};

453-457: Fix indentation in regulator-state-mem.

The regulator-state-mem block has incorrect indentation (extra tab).

 			vdd_gpu: DCDC_REG2 {
 				regulator-name = "vdd_gpu";
 				regulator-always-on;
 				regulator-boot-on;
 				regulator-min-microvolt = <500000>;
 				regulator-max-microvolt = <1350000>;
 				regulator-init-microvolt = <900000>;
 				regulator-ramp-delay = <6001>;
 				regulator-initial-mode = <0x2>;
-					regulator-state-mem {
+				regulator-state-mem {
 					regulator-off-in-suspend;
-				};
+				};
 			};

713-721: Inconsistent pinctrl node naming.

The led_power_enable_h node uses underscores while other nodes use hyphens (e.g., led-status-enable-h). Follow consistent naming.

-		led_power_enable_h: led_power_enable_h {
+		led_power_enable_h: led-power-enable-h {
 			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
patch/kernel/archive/rockchip64-6.19/board-nanopi-r3s-fix-leds.patch (2)

1-6: Patch metadata has placeholder author and future date.

The author "John Doe" at line 2 and the date "2025" appear to be placeholders, while the actual Signed-off-by is from retro98boy. This is cosmetic but may cause confusion when tracking patch origins.


86-97: Minor: Trailing whitespace on line 86.

There's a trailing tab/space before the pcie@0,0 block. The PCIe topology itself is correctly structured for the r8169 endpoint.

 	status = "okay";
-	
+
 	pcie@0,0 {
patch/kernel/archive/rockchip64-6.19/dt/rk3566-jp-tvbox.dts (3)

14-16: Compatible string uses unconventional vendor prefix format.

The compatible "JP-TVbox,rk3566" uses uppercase and hyphen in the vendor prefix. DT binding conventions typically use lowercase vendor prefixes (e.g., "jp-tvbox,rk3566" or similar). This may cause binding checker warnings.

-	compatible = "JP-TVbox,rk3566", "rockchip,rk3566";
+	compatible = "jp-tvbox,rk3566", "rockchip,rk3566";

110-116: Inconsistent indentation in combphy blocks.

These blocks use spaces while the rest of the file uses tabs. Consider aligning with the file's tab-based indentation.

 &combphy1 {
-       status = "okay";
+	status = "okay";
 };
 
 &combphy2 {
-       status = "okay";
+	status = "okay";
 };

256-261: Minor: Indentation inconsistency in vdd_gpu regulator-state-mem.

The regulator-state-mem block is missing a leading tab compared to the pattern in other regulator blocks (e.g., line 244).

 			regulator-initial-mode = <0x2>;
-				regulator-state-mem {
+			regulator-state-mem {
 				regulator-off-in-suspend;
-			};
+			};
patch/kernel/archive/rockchip64-6.19/dt/rk3399-fine3399.dts (1)

716-726: Consider removing commented-out SPI NOR flash section.

If this configuration is not planned for use, consider removing the commented-out block to keep the DTS clean. If it's kept for documentation purposes, a brief comment explaining why it's disabled would be helpful.

patch/kernel/archive/rockchip64-6.19/board-orangepi-rk3399-pcie.patch (1)

38-39: Use clock macros for improved readability and consistency.

The assigned-clocks and assigned-clock-parents use raw CRU clock IDs (138 and 167). The codebase already uses macros from dt-bindings/clock/rk3399-cru.h for similar configurations. Consider updating to use SCLK_PCIEPHY_REF and SCLK_PCIEPHY_REF100M macros to match the pattern used in other RK3399 device tree files:

&pcie_phy {
	status = "okay";
-	assigned-clocks = <&cru 138>;
-	assigned-clock-parents = <&cru 167>;
+	assigned-clocks = <&cru SCLK_PCIEPHY_REF>;
+	assigned-clock-parents = <&cru SCLK_PCIEPHY_REF100M>;
	assigned-clock-rates = <100000000>;
};
patch/kernel/archive/rockchip64-6.19/dt/rk3328-mkspi.dts (2)

122-140: LED labels reference "firefly" but this is an MKS-PI board.

The LED labels use firefly:blue:power and firefly:yellow:user which are copied from the ROC-RK3328-CC (Firefly) template. For consistency and proper identification, consider updating to reflect the actual board name.

 	leds {
 		compatible = "gpio-leds";

 		power_led: led-0 {
-			label = "firefly:blue:power";
+			label = "mkspi:blue:power";
 			linux,default-trigger = "heartbeat";
 			gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
 			default-state = "on";
 			mode = <0x23>;
 		};

 		user_led: led-1 {
-			label = "firefly:yellow:user";
+			label = "mkspi:yellow:user";
 			linux,default-trigger = "mmc1";
 			gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
 			default-state = "off";
 			mode = <0x05>;
 		};
 	};

198-199: Minor: Inconsistent leading whitespace.

Line 198 has an extra leading space before status. Similar inconsistencies appear in lines 442-443, 448-449, 479, and 502. While not functional issues, these may cause problems during future patch rewrites.

patch/kernel/archive/rockchip64-6.19/dt/rk3328-nanopi-r2-rev06.dts (1)

72-91: Minor: Inconsistent indentation in gmac2io block.

Lines 74-76 have inconsistent indentation - line 74 uses spaces while lines 75-76 use tabs. This doesn't affect functionality but may cause issues during patch rewrites.

 &gmac2io {
 	phy-handle = <&ethphy3>;
-       snps,reset-delays-us = <0 15000 50000>;
-       tx_delay = <0x22>;
+	snps,reset-delays-us = <0 15000 50000>;
+	tx_delay = <0x22>;
 	rx_delay = <0x12>;
patch/kernel/archive/rockchip64-6.19/dt/rk3399-orangepi-4-lts.dts (2)

12-14: Duplicate include of <dt-bindings/usb/pd.h>.

Line 12 and line 14 both include the same header. Remove one to avoid redundancy.

 #include <dt-bindings/pwm/pwm.h>
 #include <dt-bindings/usb/pd.h>
 #include <dt-bindings/leds/common.h>
-#include <dt-bindings/usb/pd.h>
 #include "rk3399.dtsi"

437-453: Inconsistent indentation in MDIO section.

The MDIO block has mixed indentation (tabs and spaces). While this doesn't affect functionality, it reduces readability and may cause issues with automated tools.

patch/kernel/archive/rockchip64-6.19/dt/rk3399-orangepi-4.dts (2)

204-209: Inconsistent indentation style.

The hdmi_dp_sound node uses space indentation while the rest of the file uses tabs. Consider aligning for consistency.


1162-1166: Inconsistent indentation in cam0_sleep_pins.

The pin definitions inside cam0_sleep_pins have misaligned indentation.

 		cam0_sleep_pins: cam0-sleep-pins {
-   			rockchip,pins =
-    			<4 27 3 &pcfg_pull_none>,
-		    	<2 11 0 &pcfg_pull_none>;
- 		 };
+			rockchip,pins =
+				<4 27 3 &pcfg_pull_none>,
+				<2 11 0 &pcfg_pull_none>;
+		};
patch/kernel/archive/rockchip64-6.19/board-station-p2.patch (1)

537-575: Inconsistent indentation: mixed tabs and spaces.

Several nodes use 4-space indentation instead of tabs (lines 538-539, 545-546, 550-551, 562, 572-574), while the rest of the file uses tabs. This inconsistency can cause issues with strict parsers and reduces maintainability.

 &i2c1 {
-    status = "okay";
+	status = "okay";
 };
 
 &i2c4 {
 	status = "okay";
 };
 
 &i2c5 {
-    status = "okay";
+	status = "okay";
 };
 
 &gic {
-    status = "okay";
+	status = "okay";
 };
patch/kernel/archive/rockchip64-6.19/board-station-m2.patch (2)

1-9: Consider a more descriptive commit subject.

The subject "fix rk3566-roc-pc" is quite generic and doesn't indicate what specific issues are being addressed (GPIO remapping, hardware enablement, etc.). A more descriptive subject would improve patch traceability.


187-188: Add explanatory comment for UART pinctrl in SDMMC1 configuration.

Line 188 adds uart9m1_xfer and uart8m1_xfer to sdmmc1's pinctrl for the WiFi/Bluetooth SDIO module. While this is intentional hardware multiplexing on the Station M2 board (both UART and SDIO are functional), the unusual configuration lacks documentation. Add a comment such as:

/* uart9m1 and uart8m1 pins are shared with SDIO data lines and must be configured in this context */

This clarifies why UART pins appear in an SDIO device configuration and prevents future confusion or accidental removal of these references.

Comment on lines +1 to +8
config: # This is file 'patch/kernel/archive/rockchip64-6.13/0000.patching_config.yaml'

# Just some info stuff; not used by the patching scripts
name: rockchip64-6.14
kind: kernel
type: mainline # or: vendor
branch: linux-6.14.y
last-known-good-tag: v6.14-rc2
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix incorrect version numbers in patching configuration.

The configuration references kernel versions 6.13 and 6.14, but this file is in the rockchip64-6.19 directory and the PR is bumping to 6.19. All version references should be updated to 6.19.

Apply this diff to correct the version numbers:

-config: # This is file 'patch/kernel/archive/rockchip64-6.13/0000.patching_config.yaml'
+config: # This is file 'patch/kernel/archive/rockchip64-6.19/0000.patching_config.yaml'
 
   # Just some info stuff; not used by the patching scripts
-  name: rockchip64-6.14
+  name: rockchip64-6.19
   kind: kernel
   type: mainline # or: vendor
-  branch: linux-6.14.y
-  last-known-good-tag: v6.14-rc2
+  branch: linux-6.19.y
+  last-known-good-tag: v6.19-rc2
   maintainers:
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/0000.patching_config.yaml lines 1-8,
update the version references from 6.13/6.14 to 6.19: change the comment path to
reference rockchip64-6.19, set name: rockchip64-6.19, set branch: linux-6.19.y,
and update last-known-good-tag to v6.19-rc2 so all version fields consistently
reflect 6.19.

Comment on lines +163 to +167
+&spdif {
+ i2c-scl-rising-time-ns = <450>;
+ i2c-scl-falling-time-ns = <15>;
+ status = "okay";
+};
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

SPDIF node has incorrect I2C timing properties.

The &spdif node contains i2c-scl-rising-time-ns and i2c-scl-falling-time-ns properties, which are I2C-specific timing properties and are not valid for an SPDIF controller. This appears to be a copy-paste error.

Remove the invalid properties:

 &spdif {
-	i2c-scl-rising-time-ns = <450>;
-	i2c-scl-falling-time-ns = <15>;
 	status = "okay";
 };
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
+&spdif {
+ i2c-scl-rising-time-ns = <450>;
+ i2c-scl-falling-time-ns = <15>;
+ status = "okay";
+};
&spdif {
status = "okay";
};
🤖 Prompt for AI Agents
In
patch/kernel/archive/rockchip64-6.19/board-nanopi-m4v2-dts-add-sound-card.patch
around lines 163 to 167, the &spdif node incorrectly includes I2C timing
properties i2c-scl-rising-time-ns and i2c-scl-falling-time-ns; remove those two
properties from the &spdif node so only valid SPDIF properties remain and leave
status = "okay"; ensure no other I2C-specific props are present in the SPDIF
node.

Comment on lines +28 to +36
+&pwm1 {
+ status = "disabled";
+ pinctrl-0 = <&pwm1m1_pins>;
+};
+
+&pwm2 {
+ status = "disabled";
+ pinctrl-0 = <&pwm2m1_pins>;
+};
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Add missing pinctrl-names property to pwm1 and pwm2 nodes.

Both pwm1 and pwm2 nodes define pinctrl-0 but lack the corresponding pinctrl-names property. According to device tree binding standards, when pinctrl-0 is specified, pinctrl-names should be present to name the pin control state (typically "default"). This is inconsistent with the i2c3 node above, which correctly includes pinctrl-names = "default".

Apply this diff to add the missing properties:

 &pwm1 {
 	status = "disabled";
+	pinctrl-names = "default";
 	pinctrl-0 = <&pwm1m1_pins>;
 };
 
 &pwm2 {
 	status = "disabled";
+	pinctrl-names = "default";
 	pinctrl-0 = <&pwm2m1_pins>;
 };
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
+&pwm1 {
+ status = "disabled";
+ pinctrl-0 = <&pwm1m1_pins>;
+};
+
+&pwm2 {
+ status = "disabled";
+ pinctrl-0 = <&pwm2m1_pins>;
+};
&pwm1 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&pwm1m1_pins>;
};
&pwm2 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&pwm2m1_pins>;
};
🤖 Prompt for AI Agents
In
patch/kernel/archive/rockchip64-6.19/board-odroidm1-add-nodes-for-i2c-pwm-uart-spi.patch
around lines 28 to 36, the pwm1 and pwm2 device tree nodes set pinctrl-0 but are
missing the corresponding pinctrl-names property; add pinctrl-names = "default";
to each node (pwm1 and pwm2) so the pinctrl state is named and complies with
device tree binding conventions, matching the i2c3 node above.

Comment on lines +48 to +54
+&uart1 {
+ status = "disabled";
+ dma-names = "tx", "rx";
+ /* uart1 uart1-with-ctsrts */
+ pinctrl-0 = <&uart1m1_xfer>;
+ pinctrl-1 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>;
+};
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Add missing pinctrl-names property to uart1 node.

The uart1 node defines both pinctrl-0 and pinctrl-1 (for configurations with and without CTS/RTS flow control) but lacks the corresponding pinctrl-names property. Based on the inline comment and pin configurations, these states should be named appropriately.

Apply this diff to add the missing property:

 &uart1 {
 	status = "disabled";
+	pinctrl-names = "default", "ctsrts";
 	dma-names = "tx", "rx";
 	/* uart1 uart1-with-ctsrts */
 	pinctrl-0 = <&uart1m1_xfer>;
 	pinctrl-1 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>;
 };
🤖 Prompt for AI Agents
In
patch/kernel/archive/rockchip64-6.19/board-odroidm1-add-nodes-for-i2c-pwm-uart-spi.patch
around lines 48 to 54, the uart1 device node defines pinctrl-0 and pinctrl-1 but
is missing the corresponding pinctrl-names property; add a pinctrl-names
property listing the two states consistent with the inline comment (for example
pinctrl-names = "uart1", "uart1-with-ctsrts";) placed before the pinctrl-0 and
pinctrl-1 lines so the phandles are correctly named for the default and CTS/RTS
configurations.

Comment on lines +30 to +49
+ opp-786000000 {
+ opp-hz = /bits/ 64 <786000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-798000000 {
+ opp-hz = /bits/ 64 <798000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-840000000 {
+ opp-hz = /bits/ 64 <840000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-924000000 {
+ opp-hz = /bits/ 64 <924000000>;
+ opp-microvolt = <1100000 1100000 12000000>;
+ };
+ opp-1068000000 {
+ opp-hz = /bits/ 64 <1068000000>;
+ opp-microvolt = <1175000 1175000 12000000>;
+ };
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Critical: opp-microvolt max value appears incorrect.

The third value in opp-microvolt represents the maximum voltage in microvolts. The value 12000000 (12V) is clearly incorrect for DDR voltage - it should be 1200000 (1.2V).

Compare with board-rk3328-roc-pc.patch which correctly uses 1200000 for the same OPP entries.

Apply this diff to fix the voltage values:

 		opp-786000000 {
 			opp-hz = /bits/ 64 <786000000>;
-			opp-microvolt = <1075000 1075000 12000000>;
+			opp-microvolt = <1075000 1075000 1200000>;
 		};
 		opp-798000000 {
 			opp-hz = /bits/ 64 <798000000>;
-			opp-microvolt = <1075000 1075000 12000000>;
+			opp-microvolt = <1075000 1075000 1200000>;
 		};
 		opp-840000000 {
 			opp-hz = /bits/ 64 <840000000>;
-			opp-microvolt = <1075000 1075000 12000000>;
+			opp-microvolt = <1075000 1075000 1200000>;
 		};
 		opp-924000000 {
 			opp-hz = /bits/ 64 <924000000>;
-			opp-microvolt = <1100000 1100000 12000000>;
+			opp-microvolt = <1100000 1100000 1200000>;
 		};
 		opp-1068000000 {
 			opp-hz = /bits/ 64 <1068000000>;
-			opp-microvolt = <1175000 1175000 12000000>;
+			opp-microvolt = <1175000 1175000 1200000>;
 		};
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
+ opp-786000000 {
+ opp-hz = /bits/ 64 <786000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-798000000 {
+ opp-hz = /bits/ 64 <798000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-840000000 {
+ opp-hz = /bits/ 64 <840000000>;
+ opp-microvolt = <1075000 1075000 12000000>;
+ };
+ opp-924000000 {
+ opp-hz = /bits/ 64 <924000000>;
+ opp-microvolt = <1100000 1100000 12000000>;
+ };
+ opp-1068000000 {
+ opp-hz = /bits/ 64 <1068000000>;
+ opp-microvolt = <1175000 1175000 12000000>;
+ };
opp-786000000 {
opp-hz = /bits/ 64 <786000000>;
opp-microvolt = <1075000 1075000 1200000>;
};
opp-798000000 {
opp-hz = /bits/ 64 <798000000>;
opp-microvolt = <1075000 1075000 1200000>;
};
opp-840000000 {
opp-hz = /bits/ 64 <840000000>;
opp-microvolt = <1075000 1075000 1200000>;
};
opp-924000000 {
opp-hz = /bits/ 64 <924000000>;
opp-microvolt = <1100000 1100000 1200000>;
};
opp-1068000000 {
opp-hz = /bits/ 64 <1068000000>;
opp-microvolt = <1175000 1175000 1200000>;
};
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/board-rk3328-roc-cc-dts-enable-dmc.patch
around lines 30 to 49 the third element of each opp-microvolt tuple is
incorrectly set to 12000000 (12V); replace those values with 1200000 (1.2V) so
each opp-microvolt line becomes <1075000 1075000 1200000> or <1100000 1100000
1200000> or <1175000 1175000 1200000> respectively to match the correct DDR
voltages used in board-rk3328-roc-pc.patch.

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Doe <[email protected]>
Date: Wed, 14 Aug 2024 16:33:07 +0000
Subject: rockchip64: edge: 6.10.5 drv:spi:spidev remove warnings
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Update subject line to reflect correct kernel version for 6.19.

The subject line references kernel version "6.10.5" but this patch is for the rockchip64-6.19 branch. This version mismatch likely occurred during the patch rewriting process and should be corrected to "6.19" for consistency.

-Subject: rockchip64: edge: 6.10.5 drv:spi:spidev remove warnings
+Subject: rockchip64: edge: 6.19 drv:spi:spidev remove warnings
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Subject: rockchip64: edge: 6.10.5 drv:spi:spidev remove warnings
Subject: rockchip64: edge: 6.19 drv:spi:spidev remove warnings
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/drv-spi-spidev-remove-warnings.patch
around line 4, the patch Subject incorrectly cites kernel version "6.10.5";
update the Subject line to reference "6.19" so the patch header matches the
rockchip64-6.19 branch (replace "6.10.5" with "6.19" in the Subject).

Comment on lines +153 to +156
u3phy: usb3-phy@ff470000 {
compatible = "rockchip,rk3328-u3phy";
reg = <0x0 0xff470000 0x0 0x0>;
rockchip,u3phygrf = <&usb3phy_grf>;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Invalid USB3 PHY register size.

The register size 0x0 is invalid for the u3phy parent node. The correct register size is 0x10000 (64K), which encompasses the combined USB3PHY register space.

 	u3phy: usb3-phy@ff470000 {
 		compatible = "rockchip,rk3328-u3phy";
-		reg = <0x0 0xff470000 0x0 0x0>;
+		reg = <0x0 0xff470000 0x0 0x10000>;
 		rockchip,u3phygrf = <&usb3phy_grf>;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
u3phy: usb3-phy@ff470000 {
compatible = "rockchip,rk3328-u3phy";
reg = <0x0 0xff470000 0x0 0x0>;
rockchip,u3phygrf = <&usb3phy_grf>;
u3phy: usb3-phy@ff470000 {
compatible = "rockchip,rk3328-u3phy";
reg = <0x0 0xff470000 0x0 0x10000>;
rockchip,u3phygrf = <&usb3phy_grf>;
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/dt/rk3328-mksklipad50.dts around lines
153-156, the u3phy node's reg property uses an invalid size of 0x0; replace the
final cell with 0x10000 so the reg becomes <0x0 0xff470000 0x0 0x10000>,
ensuring the parent node covers the full 64K USB3PHY register space.

Comment on lines +273 to +274
snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

GPIO conflict: same pin used for GMAC reset and WiFi enable.

GPIO1_PC2 (<&gpio1 RK_PC2>) is used for both:

  • Line 202: sdio_pwrseq0 reset-gpios for WiFi
  • Line 273: gmac2io snps,reset-gpio for Ethernet PHY

This will cause conflicts at runtime.

Verify the correct GPIO assignments from the board schematic and fix the conflict.

Also applies to: 198-203

Comment on lines +191 to +194
&uart1{
status = "okay";
pinctl-0 = <&uart1_xfer>;
};
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Typo: pinctl-0 should be pinctrl-0.

This typo will cause the UART1 pinctrl configuration to be silently ignored by the kernel, potentially breaking UART1 functionality.

 &uart1{
     status = "okay";
-    pinctl-0 = <&uart1_xfer>;
+    pinctrl-0 = <&uart1_xfer>;
 };
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
&uart1{
status = "okay";
pinctl-0 = <&uart1_xfer>;
};
&uart1{
status = "okay";
pinctrl-0 = <&uart1_xfer>;
};
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/dt/rk3328-nanopi-neo3-rev02.dts around
lines 191-194, the node uses the misspelled property "pinctl-0" which prevents
the UART1 pinctrl from being applied; change "pinctl-0" to the correct
"pinctrl-0" so the kernel picks up the uart1_xfer pin configuration and ensure
the syntax follows surrounding device-tree style (keep the ampersand node,
status = "okay", and the property value unchanged).

Comment on lines +1316 to +1322
&cpu_crit {
temperatue = <90000>;
};

&gpu_crit {
temperatue = <90000>;
};
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Typo: temperatue should be temperature.

The property name is misspelled as temperatue in both cpu_crit and gpu_crit nodes. This will cause the kernel to ignore these critical temperature settings, potentially leading to thermal protection failures.

 &cpu_crit {
-	temperatue = <90000>;
+	temperature = <90000>;
 };

 &gpu_crit {
-	temperatue = <90000>;
+	temperature = <90000>;
 };
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
&cpu_crit {
temperatue = <90000>;
};
&gpu_crit {
temperatue = <90000>;
};
&cpu_crit {
temperature = <90000>;
};
&gpu_crit {
temperature = <90000>;
};
🤖 Prompt for AI Agents
In patch/kernel/archive/rockchip64-6.19/dt/rk3399-orangepi-4-lts.dts around
lines 1316 to 1322 the property name `temperatue` is misspelled in both
`&cpu_crit` and `&gpu_crit` nodes; change both occurrences to `temperature =
<90000>;` so the kernel recognizes the critical temperature settings and
recompile or validate the DTS after the edit.

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

Labels

02 Milestone: First quarter release Framework Framework components Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

3 participants