Add cix-p1 support#9854
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughAdds a new CIX ACPI board and family configuration, and introduces a large CIX-focused kernel patch stack for 6.18 and 7.0 covering ACPI/fwnode SCMI plumbing, clocks, resets, PM domains, DSP/audio, GPU, USB, DMA, GPIO, IRQ, I2C, PWM, Type-C, and resource lookup drivers. ChangesCIX P1 ACPI platform support and drivers
Sequence Diagram(s)sequenceDiagram
participant ACPI as ACPI firmware
participant SCMI as arm_scmi
participant GenPD as genpd core
participant GPU as panthor
ACPI->>SCMI: expose fwnode properties and references
SCMI->>GenPD: register ACPI-backed providers
GPU->>GenPD: attach gpu_core domain
GenPD->>SCMI: set/query performance state
sequenceDiagram
participant SOF as cix-sky1 SOF
participant IPC as cix-dsp
participant RPROC as cix_dsp_rproc
participant DSP as Sky1 DSP
SOF->>IPC: request mailbox channels
RPROC->>DSP: load firmware and start
DSP-->>IPC: send mailbox events
IPC-->>SOF: dispatch callbacks
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Suggested labels
Suggested reviewers
Poem
✨ 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 |
|
Testing rn kernel edge 7.0.x |
root@cix-acpi:~# uname -r
7.0.9-edge-cix-p1
root@cix-acpi:~#
|
|
tried build trixie with edge kernel and got error https://paste.armbian.eu/ipirobicay |
|
Cannot reproduce. Kernel build went through. |
|
I don't know if I'm the only one, but when I build the desktop images for both the current and edge kernels, whatever I do on the desktop causes the Orion O6 to shut down and crash. I have to reboot it via serial what's going on |
|
Do you have proper ARMSystemReady bios on it? |
|
@amazingfate rabbit found a bunch of concerns within the patches. Since they come directly from cixtech repo, you might be the best person to take a brief look if they make any sense. |
Yeah the code is not at perfect status. I will keep updating repo cix-linux-main to improve the driver code. |
my pardon! fault lay with the board! |
No, i'm using the CIX unlocked bios, but i don't have any issue with minimal version, just desktop have some issue, i'll try to debug it in free time. |
what u have in "sudo dmesg" and "journalctl"? |
|
Did some refactoring. For the sake of more clear overview I dismissed all of Rabbit's concerns about the cix patches for now, amazingfate can always come back here later and look through. @HeyMeco do you want to take this from here? |
|
Really appreciate you taking this further @EvilOlaf so I can pick it up again. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
|
Is the NPU driver still causing boot failure ? @EvilOlaf |
|
clean-up of commit history, no changes |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@patch/kernel/archive/cix-6.18/0013-sound-hda-add-cix-ipbloq-hda-driver.patch`:
- Around line 627-657: The `to_hda_bus(bus)->bus_probing` flag is set to 1 at
the beginning but is only cleared to 0 on the success path. If any of the error
checks in cix_ipbloq_hda_init, azx_probe_codecs, azx_codec_configure, or
snd_card_register fail and jump to the out_free label, the bus_probing flag
remains set to 1, leaving the bus in a permanent probing state. Add
`to_hda_bus(bus)->bus_probing = 0;` at the out_free error handling label before
the cleanup code to ensure the flag is always cleared regardless of which error
path is taken.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 359666e7-d399-4a5b-97ec-fb5686cd80b4
📒 Files selected for processing (68)
config/boards/cix-acpi.confconfig/kernel/linux-cix-p1-current.configconfig/kernel/linux-cix-p1-edge.configconfig/sources/families/cix-p1.confpatch/kernel/archive/cix-6.18/0001-mailbox-add-acpi-support-to-cix-mailbox-driver.patchpatch/kernel/archive/cix-6.18/0002-acpi-Add-a-property-reference-count-interface.patchpatch/kernel/archive/cix-6.18/0003-firmware-arm_scmi-add-acpi-support-to-SCMI.patchpatch/kernel/archive/cix-6.18/0004-clk-clk-scmi-register-clkdev-for-acpi.patchpatch/kernel/archive/cix-6.18/0005-clk-add-cix-clk-driver.patchpatch/kernel/archive/cix-6.18/0006-reset-add-cix-reset-driver.patchpatch/kernel/archive/cix-6.18/0007-soc-add-cix-acpi-resource-lookup-driver.patchpatch/kernel/archive/cix-6.18/0008-pmdomain-add-acpi-support-to-cix-soc.patchpatch/kernel/archive/cix-6.18/0009-remoteproc-add-cix-dsp-remoteproc-driver.patchpatch/kernel/archive/cix-6.18/0010-drm-add-cix-linlon-dp-driver.patchpatch/kernel/archive/cix-6.18/0011-drm-panthor-add-acpi-support-for-cix-p1.patchpatch/kernel/archive/cix-6.18/0012-irqchip-add-cix-sky1-pdc-driver.patchpatch/kernel/archive/cix-6.18/0013-sound-hda-add-cix-ipbloq-hda-driver.patchpatch/kernel/archive/cix-6.18/0014-kernel-dma-Export-dma_declare_coherent_memory-for-mo.patchpatch/kernel/archive/cix-6.18/0015-mfd-syscon-add-acpi-support-for-cix-soc.patchpatch/kernel/archive/cix-6.18/0016-dma-arm-dma350-add-acpi-support-for-cix-soc.patchpatch/kernel/archive/cix-6.18/0017-gpio-add-acpi-support-to-cadence-driver.patchpatch/kernel/archive/cix-6.18/0018-clk-clkdev-increase-clkdev-MAX_CON_ID-from-16-to-32.patchpatch/kernel/archive/cix-6.18/0019-i2c-add-acpi-support-for-cadence-driver.patchpatch/kernel/archive/cix-6.18/0020-firmware-add-cix-dsp-ipc-driver.patchpatch/kernel/archive/cix-6.18/0021-sound-soc-add-cix-sof-driver.patchpatch/kernel/archive/cix-6.18/0022-sound-soc-add-cix-soc-support.patchpatch/kernel/archive/cix-6.18/0023-syscon-add-device_syscon_regmap_lookup_by_property.patchpatch/kernel/archive/cix-6.18/0024-phy-add-cix-phy-driver.patchpatch/kernel/archive/cix-6.18/0025-usb-add-usb-cdns3-driver-for-cix-soc.patchpatch/kernel/archive/cix-6.18/0026-typec-add-rts5453-driver.patchpatch/kernel/archive/cix-6.18/0027-soc-add-cix-acpi-usb-scan-handler.patchpatch/kernel/archive/cix-6.18/0028-pwm-add-pwm-support-for-CIX-SoC.patchpatch/kernel/archive/cix-6.18/2001-gpio-gpio-cadence-fix-crashing-pcie-on-cix-p1-acpi-s.patchpatch/kernel/archive/cix-6.18/2002-drm-linlon-dp-remove-existing-drivers-that-may-own-t.patchpatch/kernel/archive/cix-6.18/2003-firmware-arm_scmi-add-backward-complibility-to-old-f.patchpatch/kernel/archive/cix-6.18/2004-acpi-add-backward-complibility-to-old-firmware-with-.patchpatch/kernel/archive/cix-7.0/0001-mailbox-add-acpi-support-to-cix-mailbox-driver.patchpatch/kernel/archive/cix-7.0/0002-acpi-Add-a-property-reference-count-interface.patchpatch/kernel/archive/cix-7.0/0003-firmware-arm_scmi-add-acpi-support-to-SCMI.patchpatch/kernel/archive/cix-7.0/0004-clk-clk-scmi-register-clkdev-for-acpi.patchpatch/kernel/archive/cix-7.0/0005-clk-add-cix-clk-driver.patchpatch/kernel/archive/cix-7.0/0006-reset-add-cix-reset-driver.patchpatch/kernel/archive/cix-7.0/0007-soc-add-cix-acpi-resource-lookup-driver.patchpatch/kernel/archive/cix-7.0/0008-pmdomain-add-acpi-support-to-cix-soc.patchpatch/kernel/archive/cix-7.0/0009-remoteproc-add-cix-dsp-remoteproc-driver.patchpatch/kernel/archive/cix-7.0/0010-drm-add-cix-linlon-dp-driver.patchpatch/kernel/archive/cix-7.0/0011-drm-panthor-add-acpi-support-for-cix-p1.patchpatch/kernel/archive/cix-7.0/0012-irqchip-add-cix-sky1-pdc-driver.patchpatch/kernel/archive/cix-7.0/0013-sound-hda-add-cix-ipbloq-hda-driver.patchpatch/kernel/archive/cix-7.0/0014-kernel-dma-Export-dma_declare_coherent_memory-for-mo.patchpatch/kernel/archive/cix-7.0/0015-mfd-syscon-add-acpi-support-for-cix-soc.patchpatch/kernel/archive/cix-7.0/0016-dma-arm-dma350-add-acpi-support-for-cix-soc.patchpatch/kernel/archive/cix-7.0/0017-gpio-add-acpi-support-to-cadence-driver.patchpatch/kernel/archive/cix-7.0/0018-clk-clkdev-increase-clkdev-MAX_CON_ID-from-16-to-32.patchpatch/kernel/archive/cix-7.0/0019-i2c-add-acpi-support-for-cadence-driver.patchpatch/kernel/archive/cix-7.0/0020-firmware-add-cix-dsp-ipc-driver.patchpatch/kernel/archive/cix-7.0/0021-sound-soc-add-cix-sof-driver.patchpatch/kernel/archive/cix-7.0/0022-sound-soc-add-cix-soc-support.patchpatch/kernel/archive/cix-7.0/0023-syscon-add-device_syscon_regmap_lookup_by_property.patchpatch/kernel/archive/cix-7.0/0024-phy-add-cix-phy-driver.patchpatch/kernel/archive/cix-7.0/0025-usb-add-usb-cdns3-driver-for-cix-soc.patchpatch/kernel/archive/cix-7.0/0026-typec-add-rts5453-driver.patchpatch/kernel/archive/cix-7.0/0027-soc-add-cix-acpi-usb-scan-handler.patchpatch/kernel/archive/cix-7.0/0028-pwm-add-pwm-support-for-CIX-SoC.patchpatch/kernel/archive/cix-7.0/2001-gpio-gpio-cadence-fix-crashing-pcie-on-cix-p1-acpi-s.patchpatch/kernel/archive/cix-7.0/2002-drm-linlon-dp-remove-existing-drivers-that-may-own-t.patchpatch/kernel/archive/cix-7.0/2003-firmware-arm_scmi-add-backward-complibility-to-old-f.patchpatch/kernel/archive/cix-7.0/2004-acpi-add-backward-complibility-to-old-firmware-with-.patch
💤 Files with no reviewable changes (3)
- patch/kernel/archive/cix-7.0/0006-reset-add-cix-reset-driver.patch
- patch/kernel/archive/cix-7.0/0007-soc-add-cix-acpi-resource-lookup-driver.patch
- patch/kernel/archive/cix-7.0/0008-pmdomain-add-acpi-support-to-cix-soc.patch
✅ Files skipped from review due to trivial changes (1)
- config/boards/cix-acpi.conf
🚧 Files skipped from review as they are similar to previous changes (33)
- patch/kernel/archive/cix-6.18/0014-kernel-dma-Export-dma_declare_coherent_memory-for-mo.patch
- patch/kernel/archive/cix-6.18/0018-clk-clkdev-increase-clkdev-MAX_CON_ID-from-16-to-32.patch
- patch/kernel/archive/cix-6.18/0001-mailbox-add-acpi-support-to-cix-mailbox-driver.patch
- patch/kernel/archive/cix-6.18/0028-pwm-add-pwm-support-for-CIX-SoC.patch
- patch/kernel/archive/cix-7.0/0004-clk-clk-scmi-register-clkdev-for-acpi.patch
- patch/kernel/archive/cix-6.18/2004-acpi-add-backward-complibility-to-old-firmware-with-.patch
- patch/kernel/archive/cix-6.18/0019-i2c-add-acpi-support-for-cadence-driver.patch
- patch/kernel/archive/cix-6.18/0027-soc-add-cix-acpi-usb-scan-handler.patch
- patch/kernel/archive/cix-6.18/0004-clk-clk-scmi-register-clkdev-for-acpi.patch
- patch/kernel/archive/cix-6.18/2003-firmware-arm_scmi-add-backward-complibility-to-old-f.patch
- patch/kernel/archive/cix-6.18/2002-drm-linlon-dp-remove-existing-drivers-that-may-own-t.patch
- patch/kernel/archive/cix-6.18/0023-syscon-add-device_syscon_regmap_lookup_by_property.patch
- patch/kernel/archive/cix-6.18/2001-gpio-gpio-cadence-fix-crashing-pcie-on-cix-p1-acpi-s.patch
- patch/kernel/archive/cix-6.18/0016-dma-arm-dma350-add-acpi-support-for-cix-soc.patch
- patch/kernel/archive/cix-6.18/0020-firmware-add-cix-dsp-ipc-driver.patch
- patch/kernel/archive/cix-7.0/0001-mailbox-add-acpi-support-to-cix-mailbox-driver.patch
- config/sources/families/cix-p1.conf
- patch/kernel/archive/cix-6.18/0006-reset-add-cix-reset-driver.patch
- patch/kernel/archive/cix-6.18/0017-gpio-add-acpi-support-to-cadence-driver.patch
- patch/kernel/archive/cix-7.0/0003-firmware-arm_scmi-add-acpi-support-to-SCMI.patch
- patch/kernel/archive/cix-7.0/0005-clk-add-cix-clk-driver.patch
- patch/kernel/archive/cix-6.18/0002-acpi-Add-a-property-reference-count-interface.patch
- patch/kernel/archive/cix-7.0/0002-acpi-Add-a-property-reference-count-interface.patch
- patch/kernel/archive/cix-6.18/0008-pmdomain-add-acpi-support-to-cix-soc.patch
- patch/kernel/archive/cix-6.18/0009-remoteproc-add-cix-dsp-remoteproc-driver.patch
- patch/kernel/archive/cix-6.18/0003-firmware-arm_scmi-add-acpi-support-to-SCMI.patch
- patch/kernel/archive/cix-6.18/0007-soc-add-cix-acpi-resource-lookup-driver.patch
- patch/kernel/archive/cix-6.18/0021-sound-soc-add-cix-sof-driver.patch
- patch/kernel/archive/cix-6.18/0005-clk-add-cix-clk-driver.patch
- patch/kernel/archive/cix-6.18/0025-usb-add-usb-cdns3-driver-for-cix-soc.patch
- patch/kernel/archive/cix-6.18/0012-irqchip-add-cix-sky1-pdc-driver.patch
- patch/kernel/archive/cix-6.18/0026-typec-add-rts5453-driver.patch
- patch/kernel/archive/cix-6.18/0011-drm-panthor-add-acpi-support-for-cix-p1.patch
|
@HeyMeco final thoughts? cleaned up pr description and commit history. kde plasma now works oob. |
|
Do we have "board" logo and vendor logo? |
|
All that info can be find on vendors website http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-6-Plus.html |
|
We need generic images since this pr is not directly about the opi variant but all cix-p1 acpi working boards/hw |
|
I will send both images in the next couple hours |
|
@EvilOlaf just remembered that I had already done that in february: armbian/armbian.github.io#237 |
|
So.....we're good to go? |
I think yes. Seems to be tested more then average. |
|
The patchset for 7.0 has been updated upstream. We can either merge this now as it is since it was tested and do a follow-up pr or squeeze the changes into this one. |
both config and patches rewritten
|
Squeeze. This platform had enough delays doesn’t matter if it goes through one more testing round. I can do my check on saturday for MS-R1, O6 and O6N |
|
tested with kde plasma on ms-r1 |
|
sad stale noises |
igorpecovnik
left a comment
There was a problem hiding this comment.
From my side, only comment i gave.
|
✅ This PR has been reviewed and approved — all set for merge! |
was not able to finish testing on all my boards during the weekend. Will have results today :) |
HeyMeco
left a comment
There was a problem hiding this comment.
Works great and stable!
GPU driver switcher for armbian-config would be a really nice next goal but this PR is ready
Tested on the Radxa devices with Bios 1.2.3 with ACPI SCMI enabled
- 7.0 + Panthor + V4L2 GPU H264 in chromium + sleep and wake ✅
- Mali DDK+UMD, HW accel AV1 in chromium ❌
|
Great job, everyone! |
Description
aipudriver is blacklisted by default as it either causes kernel panic or kills hdmi support. awaiting upstream fixarmbian-installmay need this fix: armbian-install: fix boot on UEFI systems #9945