Skip to content

Conversation

@rpardini
Copy link
Member

- yes, board is "fully mainline" for years now, but still one wants
  - rkmpp
  - rknpu
- change family to rk35xx, but:
  - keep mainline u-boot for now
- kernel DT adapted from https://gitlab.com/pine64-org/quartz-bsp/rockchip-linux/-/blob/quartz64/arch/arm64/boot/dts/rockchip/rk3566-quartz64.dts?ref_type=heads
  - applied amazingfate's advice from 2023 ref panfrost and vp0
    - see armbian#4794 (comment)
@github-actions github-actions bot added 11 Milestone: Fourth quarter release size/large PR with 250 lines or more Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Oct 22, 2025
@rpardini
Copy link
Member Author

From the "stuff I done once and forgot about" tree

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 22, 2025

Walkthrough

This change updates two configuration parameters in the Quartz64a board configuration file. The BOARDFAMILY identifier is changed from "rockchip64" to "rk35xx", and the KERNEL_TARGET is extended from "current,edge" to "current,edge,vendor" to include vendor kernel support.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

This is a straightforward, minimal configuration change affecting a single file with two simple value assignments. No complex logic or structural modifications are present.

Possibly related PRs

  • #8585: Modifies board kernel target and platform identifiers including rk35xx family classification.

Suggested labels

size/medium, BSP

Suggested reviewers

  • amazingfate
  • prahal
  • krachlatte
  • paolosabatino
  • clee
  • igorpecovnik
  • catalinii

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "quartz64a: add vendor kernel support" directly reflects the main objective of the changes in the file config/boards/quartz64a.csc. The changes update KERNEL_TARGET to include "vendor" and modify BOARDFAMILY to "rk35xx" to enable vendor kernel support for additional libraries like rkmpp and rknpu. The title is concise, specific to the primary change, and clearly communicates the intent of the pull request.
Description Check ✅ Passed The pull request description is directly related to the changeset and provides meaningful context for the modifications. It explains that vendor kernel support is needed for rkmpp and rknpu despite the board being mainline-based, justifies the boardfamily change to rk35xx while preserving mainline U-Boot, and references the kernel device tree source and specific technical advice applied. The description clearly articulates the rationale and implementation details of the changes being made.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 189bcaf and 7716a14.

⛔ Files ignored due to path filters (1)
  • patch/kernel/rk35xx-vendor-6.1/dt/rk3566-quartz64-a.dts is excluded by !patch/**
📒 Files selected for processing (1)
  • config/boards/quartz64a.csc (1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: amazingfate
PR: armbian/build#8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:29:18.958Z
Learning: In the Armbian build system, vendor branch configurations in family files are designed to be shared across multiple SoCs within the same family that use the same vendor kernel tree. For example, rk35xx and rockchip-rk3588 families both use identical vendor branch settings (same KERNELSOURCE, KERNELBRANCH, and KERNELPATCHDIR), demonstrating that vendor branches are intentionally generic rather than SoC-specific.
Learnt from: SuperKali
PR: armbian/build#8609
File: config/boards/nanopi-r76s.conf:5-5
Timestamp: 2025-09-11T06:12:54.213Z
Learning: In the Armbian build system, board family configuration files (like config/sources/families/rk35xx.conf) can inherit kernel branch definitions from common include files (like config/sources/families/include/rockchip64_common.inc). Even if a branch like "edge" is not defined directly in the family conf file, it may be available through the sourced include file.
📚 Learning: 2025-09-14T06:29:18.958Z
Learnt from: amazingfate
PR: armbian/build#8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:29:18.958Z
Learning: In the Armbian build system, vendor branch configurations in family files are designed to be shared across multiple SoCs within the same family that use the same vendor kernel tree. For example, rk35xx and rockchip-rk3588 families both use identical vendor branch settings (same KERNELSOURCE, KERNELBRANCH, and KERNELPATCHDIR), demonstrating that vendor branches are intentionally generic rather than SoC-specific.

Applied to files:

  • config/boards/quartz64a.csc
📚 Learning: 2025-09-11T06:12:54.213Z
Learnt from: SuperKali
PR: armbian/build#8609
File: config/boards/nanopi-r76s.conf:5-5
Timestamp: 2025-09-11T06:12:54.213Z
Learning: In the Armbian build system, board family configuration files (like config/sources/families/rk35xx.conf) can inherit kernel branch definitions from common include files (like config/sources/families/include/rockchip64_common.inc). Even if a branch like "edge" is not defined directly in the family conf file, it may be available through the sourced include file.

Applied to files:

  • config/boards/quartz64a.csc
📚 Learning: 2025-09-14T06:10:25.610Z
Learnt from: EvilOlaf
PR: armbian/build#8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:10:25.610Z
Learning: In the Armbian build system, rk32xx and rk33xx Rockchip SoCs no longer have BSP-based (vendor) kernel branches. The rk3506 is the first 32-bit Rockchip SoC to use the vendor branch in the current codebase.

Applied to files:

  • config/boards/quartz64a.csc
🔇 Additional comments (2)
config/boards/quartz64a.csc (2)

7-7: LGTM! Vendor kernel support added.

Adding "vendor" to KERNEL_TARGET enables vendor kernel builds for the Quartz64A board, which aligns with the PR objective to support rkmpp and rknpu. This change works in conjunction with the BOARDFAMILY change to rk35xx.


3-3: BOARDFAMILY change from "rockchip64" to "rk35xx" is correct.

RK3566 belongs to the rk35xx family. The rk35xx family configuration includes vendor kernel branch support with kernel 6.1 and patches at rk35xx-vendor-6.1, making the change appropriate for enabling vendor kernel builds as described in the PR objectives.


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.

@coderabbitai coderabbitai bot requested review from clee and paolosabatino October 22, 2025 17:19
@rpardini rpardini closed this Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth quarter release 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.

1 participant