-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
rockchip64: bump edge to 6.19
#9067
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughKernel 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
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Areas requiring extra attention:
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
| @@ -0,0 +1,856 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | |||
There was a problem hiding this comment.
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 | |||
There was a problem hiding this comment.
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...
There was a problem hiding this comment.
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?
|
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. |
|
Yes, I did my work step by step and commited inbetween to make it easier to get such info: 12aeef4 |
There was a problem hiding this 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.patchpatch/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 themmc-pwrseqproperty 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 treepatch/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_HIGHtoGPIO_ACTIVE_HIGH. Theinterruptsproperty 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-patchestool 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-A3uses 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, usewakeup-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-levelsto 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&gpunode definition.This
&gpublock 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&i2s2node.The
&i2s2node 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_soundnode will cause DTC warnings.The patch adds a second
&hdmi_soundnode 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), anddp_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 duplicateassigned-clocksproperty in gmac2phy node.The
gmac2phynode at lines 270 and 272 hasassigned-clocksdefined 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
2for the GPIO pin, while the rest of the file consistently uses named constants likeRK_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_hsuggests active-high, but the node namewifi-host-wake-lsuggests active-low. Based on the interrupt configuration at line 618 (IRQ_TYPE_LEVEL_HIGH), the signal is active-high. Consider renaming the node towifi-host-wake-hfor 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 propertynum-slots.The
num-slotsproperty 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-microvoltvalue without explanation. If712500was intentionally changed to1100000, 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
gpio2andgpio3definegpio-line-nameswith all 32 entries as empty strings. If no pins require naming, thegpio-line-namesproperty 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-memblock at line 446 (and similarly at line 548) is indented inconsistently. It should align withregulator-initial-stateat 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.hheader is included but noKEY_*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-memblock 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, usingKEY_OKwould improve readability and maintainability.recovery { label = "Recovery"; - linux,code = <0x168>; + linux,code = <KEY_OK>; press-threshold-microvolt = <18000>; };
625-638: Deprecatednum-slotsproperty.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: Avoidspidevcompatible string and hex frequency.The
spidevcompatible triggers a kernel warning. Also, using decimal format forspi-max-frequencyimproves 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&i2c1node definitions.The
&i2c1node is defined twice withstatus = "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
compatibleequals 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 definitionsuggests 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,productformat./ { 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: chosenlabel 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-memblock 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_hnode 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,0block. 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-memblock 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-clocksandassigned-clock-parentsuse raw CRU clock IDs (138and167). The codebase already uses macros fromdt-bindings/clock/rk3399-cru.hfor similar configurations. Consider updating to useSCLK_PCIEPHY_REFandSCLK_PCIEPHY_REF100Mmacros 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:powerandfirefly:yellow:userwhich 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 = <ðphy3>; - 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_soundnode 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_pinshave 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_xferanduart8m1_xferto 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.
| 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| +&spdif { | ||
| + i2c-scl-rising-time-ns = <450>; | ||
| + i2c-scl-falling-time-ns = <15>; | ||
| + status = "okay"; | ||
| +}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| +&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.
| +&pwm1 { | ||
| + status = "disabled"; | ||
| + pinctrl-0 = <&pwm1m1_pins>; | ||
| +}; | ||
| + | ||
| +&pwm2 { | ||
| + status = "disabled"; | ||
| + pinctrl-0 = <&pwm2m1_pins>; | ||
| +}; |
There was a problem hiding this comment.
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.
| +&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.
| +&uart1 { | ||
| + status = "disabled"; | ||
| + dma-names = "tx", "rx"; | ||
| + /* uart1 uart1-with-ctsrts */ | ||
| + pinctrl-0 = <&uart1m1_xfer>; | ||
| + pinctrl-1 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; | ||
| +}; |
There was a problem hiding this comment.
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.
| + 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>; | ||
| + }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| + 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| 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).
| u3phy: usb3-phy@ff470000 { | ||
| compatible = "rockchip,rk3328-u3phy"; | ||
| reg = <0x0 0xff470000 0x0 0x0>; | ||
| rockchip,u3phygrf = <&usb3phy_grf>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| 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.
| snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; | ||
| snps,reset-active-low; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GPIO conflict: same pin used for GMAC reset and WiFi enable.
GPIO1_PC2 (<&gpio1 RK_PC2>) is used for both:
- Line 202:
sdio_pwrseq0reset-gpios for WiFi - Line 273:
gmac2iosnps,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
| &uart1{ | ||
| status = "okay"; | ||
| pinctl-0 = <&uart1_xfer>; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| &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).
| &cpu_crit { | ||
| temperatue = <90000>; | ||
| }; | ||
|
|
||
| &gpu_crit { | ||
| temperatue = <90000>; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| &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.
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:
Summary by CodeRabbit
Release Notes
New Features
Bug Fixes
Chores
✏️ Tip: You can customize this high-level summary in your review settings.