Skip to content

QCLINUX: arm64: dts: qcom: add hamoa CAMX EL2 overlay#587

Open
michael-jihan-qcom wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
michael-jihan-qcom:hamoa_kvm_6_18_y_may15
Open

QCLINUX: arm64: dts: qcom: add hamoa CAMX EL2 overlay#587
michael-jihan-qcom wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
michael-jihan-qcom:hamoa_kvm_6_18_y_may15

Conversation

@michael-jihan-qcom
Copy link
Copy Markdown

Add a device tree overlay to enable EL2 boot support for the Hamoa platform with CAMX configuration.

CRs-Fixed: 4538425

Add a device tree overlay to enable EL2 boot support for the
Hamoa platform with CAMX configuration.

Signed-off-by: Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4538425 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4538425
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

Copy link
Copy Markdown

@quic-vikramsa quic-vikramsa left a comment

Choose a reason for hiding this comment

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

LGTM

@sgaud-quic
Copy link
Copy Markdown
Contributor

PR #587 — validate-patch

PR: #587

Verdict Issues Detailed Report
1 Full report
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #587QCLINUX: arm64: dts: qcom: add hamoa CAMX EL2 overlay
Upstream commit: N/A — QCLINUX: prefix; no upstream lore link expected
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: — vendor-only commit, no upstream counterpart
Body preserves rationale Brief but adequate: describes purpose (EL2 boot support for Hamoa/CAMX)
Fixes tag present/correct N/A Not a bug-fix backport
Authorship preserved Single author; From: and Signed-off-by: are consistent (Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>)
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Adds hamoa-camx-el2-dtbs composite target and dtb-$(CONFIG_ARCH_QCOM) entry; placement is consistent with adjacent hamoa-evk-camx block
arch/arm64/boot/dts/qcom/hamoa-camx-el2.dtso New overlay file; correct /dts-v1/; /plugin/; header, BSD-3-Clause SPDX, single fragment@0 patching iommus on qcom,cam-icp — structurally sound

Issues

  • None. QCLINUX: commits are vendor-only by design; lore validation is explicitly not applicable per skill rules.

Verdict

Vendor-only QCLINUX: commit — no upstream lore link is required or expected. Commit message, authorship, and diff content are internally consistent and well-formed; safe to merge as-is.

@sgaud-quic
Copy link
Copy Markdown
Contributor

PR #587 — checker-log-analyzer

PR: #587
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/25918066540

Checker Result Summary
Checker Result Summary
checkpatch 0 errors, 0 warnings — clean
dt-binding-check ⏭️ No changes in Documentation/devicetree/bindings — skipped
dtb-check New DTB validation errors surfaced by hamoa-camx-el2.dtb composite
sparse-check ⏭️ No C/H file changes — skipped
check-uapi-headers ⏭️ No C/H file changes — skipped
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check QCLINUX: prefix — vendor-only commit on a non-qcom-next branch
qcom-next-check N/A Branch is qcom-6.18.y, not qcom-next

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: QCLINUX: arm64: dts: qcom: add hamoa CAMX EL2 overlay (#587)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/25918066540
Target branch: qcom-6.18.y (not qcom-next / qcom-next-staging → tag-check and check-patch-compliance apply)

Checker Result Summary
checkpatch 0 errors, 0 warnings — clean
dt-binding-check ⏭️ No changes in Documentation/devicetree/bindings — skipped
dtb-check New DTB validation errors surfaced by hamoa-camx-el2.dtb composite
sparse-check ⏭️ No C/H file changes — skipped
check-uapi-headers ⏭️ No C/H file changes — skipped
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check QCLINUX: prefix — vendor-only commit on a non-qcom-next branch
qcom-next-check N/A Branch is qcom-6.18.y, not qcom-next

❌ check-patch-compliance

Root cause: The single commit uses the QCLINUX: prefix, which is not in the checker's allowed-prefix list for check-patch-compliance.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: add hamoa CAMX EL2 overlay
Commit summary does not start with a required prefix
Process completed with exit code 1.

Fix:

  • If this patch has been posted to lore.kernel.org: change the prefix to FROMLIST: and add a Link: <lore-url> trailer to the commit body.
  • If this is a vendor-only change with no upstream equivalent: the QCLINUX: prefix will always fail check-patch-compliance — this is a known checker limitation. No code change is needed; the failure is expected and can be waived by the reviewer.

Reproduce locally:

bash kernel-checkers/check-patch-compliance.sh --kernel-src <kernel> \
  --base 6964936c9bfc3337aa8ba8a0fb25021d06e5ce04 \
  --head <head_sha>

❌ tag-check

Root cause: Commit subject starts with QCLINUX: — a valid vendor-only prefix — but the target branch is qcom-6.18.y, which requires every commit to carry one of the upstream-origin prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:). QCLINUX: is in the allowed set, so this is technically PASS for tag-check itself; the failure is only in check-patch-compliance (see above).

tag-check PASSQCLINUX: is a valid prefix for qcom-6.18.y.


❌ dtb-check

Root cause: The new hamoa-camx-el2.dtb composite DTB (introduced by this PR) pulls in hamoa-iot-evk.dtb as a base, which was not previously validated in this checker run; building it now surfaces pre-existing schema validation errors in hamoa-iot-evk.dtb and hamoa-camx-el2.dtb itself.

Failure details (new errors only — from grep -vFf base_dtbs_errors.log head_dtbs_errors.log):

From hamoa-camx-el2.dtb (the new composite — hamoa-iot-evk-el2.dtb base):

hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-req-mgr: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-smmu: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-icp: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-isp: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-sync: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-jpeg: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,cam-cdm-intf: 'ranges' is a required property
hamoa-camx-el2.dtb: soc@0 (simple-bus): qcom,camera-main: 'ranges' is a required property
hamoa-camx-el2.dtb: /soc@0/qcom,csid-lite0@acc6000: failed to match any schema with compatible: ['qcom,csid-lite680']
hamoa-camx-el2.dtb: /soc@0/qcom,csid1@acb9000: failed to match any schema with compatible: ['qcom,csid695']
hamoa-camx-el2.dtb: /soc@0/qcom,sfe0@ac9e000: failed to match any schema with compatible: ['qcom,sfe680']
hamoa-camx-el2.dtb: /soc@0/qcom,ife1@ac71000: failed to match any schema with compatible: ['qcom,vfe680']
hamoa-camx-el2.dtb: /soc@0/qcom,ife0@ac62000: failed to match any schema with compatible: ['qcom,vfe680']
hamoa-camx-el2.dtb: /soc@0/qcom,ipe0@ac42000: failed to match any schema with compatible: ['qcom,cam-ipe680']
hamoa-camx-el2.dtb: /soc@0/qcom,bps@ac2c000: failed to match any schema with compatible: ['qcom,cam-bps680']
hamoa-camx-el2.dtb: /soc@0/qcom,jpegdma@ac2b000: failed to match any schema with compatible: ['qcom,cam_jpeg_dma_680']
hamoa-camx-el2.dtb: /soc@0/qcom,jpegenc@ac2a000: failed to match any schema with compatible: ['qcom,cam_jpeg_enc_680']
hamoa-camx-el2.dtb: /soc@0/qcom,cam-cpas@ac13000: failed to match any schema with compatible: ['qcom,cam-cpas']
hamoa-camx-el2.dtb: /soc@0/qcom,icp@ac01000: failed to match any schema with compatible: ['qcom,cam-icp_v2']
hamoa-camx-el2.dtb: /soc@0/ctcu@10001000: failed to match any schema with compatible: ['qcom,hamoa-ctcu', 'qcom,sa8775p-ctcu']

From hamoa-iot-evk.dtb (base DTB, newly validated as a side-effect):

hamoa-iot-evk.dtb: soc@0 (simple-bus): etm@13021000: 'anyOf' conditional failed
  → 'reg' is a required property / 'ranges' is a required property (simple-bus.yaml)
  [repeated for etm@13121000 through etm@13d21000 — 12 ETM nodes]
hamoa-iot-evk.dtb: video-codec@aa00000 (qcom,x1e80100-iris): 'iommus' is a required property
hamoa-iot-evk.dtb: video-codec@aa00000: Unevaluated properties are not allowed ('iommu-map')
hamoa-iot-evk.dtb: ctcu@10001000: compatible:0: 'qcom,hamoa-ctcu' is not one of ['qcom,sa8775p-ctcu']
hamoa-iot-evk.dtb: funnel/tmc/replicator nodes: compatible does not match schema

Assessment — are these new or pre-existing?

  • hamoa-camx-el2.dtb errors (ranges required, failed to match any schema for CAMX IPs): These are pre-existing issues in hamoa-camera.dtsi / hamoa-iot-evk-el2.dtb that are now surfaced because the PR introduces the first DTB composite that includes them. The failed to match any schema errors are because upstream DT bindings for Qualcomm CAMX IPs (qcom,csid695, qcom,vfe680, qcom,cam-bps680, etc.) do not yet exist in the kernel tree. The ranges errors are pre-existing in the CAMX sub-nodes.

  • hamoa-iot-evk.dtb errors (ETM anyOf, video-codec, ctcu, coresight): These are pre-existing issues in hamoa-iot-evk.dtb that were not previously caught because hamoa-iot-evk.dtb was not in the changed-DTB list before this PR. They are not caused by the new hamoa-camx-el2.dtso overlay (which only modifies qcom,cam-icp's iommus property).

Fix:
All dtb-check failures are pre-existing tree-wide issues, not introduced by this PR's change. The PR only adds:

  1. A Makefile entry for hamoa-camx-el2.dtb composite
  2. A new hamoa-camx-el2.dtso overlay that sets iommus = <&apps_smmu 0x1901 0x0> on camera-firmware inside qcom,cam-icp

The overlay itself is clean. The dtb-check failures come from the base DTBs it depends on. No fix is required in this PR; the pre-existing issues should be tracked separately.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/hamoa-camx-el2.dtb

Verdict

1 real blocker, 1 expected/waivable failure:

  • check-patch-complianceQCLINUX: prefix fails the compliance checker. If this is a vendor-only patch (no upstream posting), this failure is a known checker limitation and can be waived by the reviewer. If it has been posted upstream, change to FROMLIST: + add Link:.
  • dtb-check — All failures are pre-existing tree-wide issues in hamoa-iot-evk.dtb and the CAMX IP nodes (missing upstream bindings). Not introduced by this PR. Can be waived.
  • checkpatch — Clean.
  • ⏭️ dt-binding-check / sparse-check / check-uapi-headers — Skipped (no relevant file changes).

Recommendation: The patch itself is correct. The check-patch-compliance failure is expected for a QCLINUX: vendor-only commit and should be waived. The dtb-check failures are pre-existing and not caused by this PR — waive or track separately. Ready to merge after reviewer sign-off on the QCLINUX: waiver.

Copy link
Copy Markdown

@shashim-quic shashim-quic left a comment

Choose a reason for hiding this comment

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

Diff looks clean. Commit shows committer == author (mignatiu@qti.qualcomm.com). Please have a separate integrator commit/sign off before merging.

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 x1e80100-crd
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants