Skip to content

QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor#643

Open
mmitkovquicinc wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mmitkovquicinc:6.18
Open

QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor#643
mmitkovquicinc wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mmitkovquicinc:6.18

Conversation

@mmitkovquicinc
Copy link
Copy Markdown

Adds deserializer and camera sensor nodes to the Talos device tree. Talos features a single GMSL deserializer and exposes a single GMSL camera.

CRs-Fixed: 4555961

Adds deserializer and camera sensor nodes to the Talos device tree.
Talos features a single GMSL deserializer and exposes
a single GMSL camera.

CRs-Fixed: 4555961

Signed-off-by: Milen Mitkov <mmitkov@qti.qualcomm.com>
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4555961 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4555961

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qlijarvis
Copy link
Copy Markdown

PR #643 — validate-patch

PR: #643

Verdict Issues Detailed Report
N/A 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #643 - QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Upstream commit: N/A (vendor-only commit)
Verdict: ⏭️ SKIP (validation not applicable)

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: prefix — vendor-only commit
Body preserves rationale N/A No upstream source to compare
Fixes tag present/correct N/A No Fixes tag; not a bugfix
Authorship preserved N/A Original vendor commit
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi N/A Vendor-specific device tree additions

Issues

None — this is a vendor-only commit with the correct QCLINUX: prefix.

Verdict

This commit uses the QCLINUX: prefix, indicating it is vendor-only code with no upstream equivalent. Validation against lore.kernel.org is not applicable. The commit adds GMSL deserializer and camera sensor device tree nodes specific to the Talos platform, which is appropriate for vendor-specific hardware enablement.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis
Copy link
Copy Markdown

PR #643 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Graph port errors: missing #address-cells/#size-cells, reg format, missing binding
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (QCLINUX:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #643 — QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26755526533
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Graph port errors: missing #address-cells/#size-cells, reg format, missing binding
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (QCLINUX:)

❌ checkpatch

Root cause: Compatible string "qcom,cam-gmsl-sensor" is not documented in vendor-prefixes.yaml or a binding file.

Failure details:

WARNING: DT compatible string "qcom,cam-gmsl-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#69: FILE: arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:188:
+		compatible = "qcom,cam-gmsl-sensor";

58c21cb357950cec8f3dc19a3ae92ec98ff08bab total: 0 errors, 1 warnings, 0 checks, 60 lines checked

Fix: Add a device tree binding YAML for qcom,cam-gmsl-sensor in Documentation/devicetree/bindings/media/ or the appropriate subsystem directory. If this is a vendor-specific compatible string with no upstream binding, the warning can be noted but may not block merge for vendor-only branches.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git b7cce9a3884a873855693af8591d4c9c469cd17e..58c21cb357950cec8f3dc19a3ae92ec98ff08bab

❌ dtb-check

Root cause: The port@0 node under qcom,cam-gmsl-deserializer0 is missing explicit #address-cells and #size-cells properties, causing graph port validation failures and reg format mismatches.

Failure details:

talos-camera-sensor.dtsi:178:4-14: Warning (reg_format): 
  /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0:reg: 
  property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

talos-camera-sensor.dtsi:177:10-182:5: Warning (avoid_default_addr_size): 
  /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: 
  Relying on default #address-cells value

talos-camera-sensor.dtsi:177:10-182:5: Warning (graph_port): 
  /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: 
  graph node '#address-cells' is -1, must be 1

talos-camera-sensor.dtsi:177:10-182:5: Warning (graph_port): 
  /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: 
  graph node '#size-cells' is -1, must be 0

arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb: 
  qcom,cci@ac4a000 (qcom,cci): qcom,cam-gmsl-deserializer0: 'ranges' is a required property

arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb: 
  qcom,cci@ac4a000 (qcom,cci): qcom,cam-gmsl-sensor0: 'ranges' is a required property

arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb: 
  /soc@0/qcom,cci@ac4a000/qcom,cam-gmsl-sensor0: 
  failed to match any schema with compatible: ['qcom,cam-gmsl-sensor']

Fix:

  1. Add explicit #address-cells and #size-cells to the port node in arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:177:

    +	qcom,cam-gmsl-deserializer0 {
    +		...
    +		port@0 {
    +			#address-cells = <1>;
    +			#size-cells = <0>;
    +			reg = <0>;
    +			...
    +		};
    +	};
  2. Add ranges property to qcom,cam-gmsl-deserializer0 and qcom,cam-gmsl-sensor0 nodes if they have child nodes with reg properties. If no address translation is needed, use ranges; (empty).

  3. Add a binding YAML for qcom,cam-gmsl-sensor in Documentation/devicetree/bindings/ to resolve the "failed to match any schema" error.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/talos-evk-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb

❌ check-patch-compliance

Root cause: The commit subject uses the QCLINUX: prefix, which is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Commit summary does not start with a required prefix

Fix: This is a known limitation of the check-patch-compliance checker. The QCLINUX: prefix is a vendor-internal tag used for vendor-only changes with no upstream equivalent. The checker enforces only upstream-linkable prefixes.

Options:

  • If this patch has been posted upstream or is derived from an upstream patch, change the prefix to FROMLIST: or UPSTREAM: and add a Link: tag pointing to the lore.kernel.org URL.
  • If this is genuinely a vendor-only change, the checker will always fail. This is expected behavior for vendor-only commits and does not indicate a patch defect.

Note: For vendor-only branches, this failure can be accepted as a known limitation.


✅ tag-check

Status: PASS

Analysis: The target branch is qcom-6.18.y, which is not qcom-next or qcom-next-staging, so the subject-prefix check is mandatory. The commit subject starts with QCLINUX:, which is a valid prefix tag. ✅


Verdict

3 blockers must be fixed before merge:

  1. dtb-check (critical): Add #address-cells = <1>; #size-cells = <0>; to the port@0 node and add ranges properties to parent nodes as required by the binding.
  2. dtb-check (critical): Add a device tree binding YAML for qcom,cam-gmsl-sensor to resolve the "failed to match any schema" error.
  3. checkpatch (warning): Document the qcom,cam-gmsl-sensor compatible string in a binding file (same as Adding Email Checker  #2).

Non-blocker:

  • check-patch-compliance: The QCLINUX: prefix failure is a known checker limitation for vendor-only commits. If this is a vendor-only change, this failure is expected and can be accepted.

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.

Add CRs-Fixed: 4555961 to git hub PR description . you can remove from commit log.

@qlijarvis
Copy link
Copy Markdown

PR #643 — validate-patch

PR: #643

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #643 - QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Upstream commit: N/A (vendor-only QCLINUX: commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear description of hardware addition
Fixes tag present/correct N/A New feature, not a fix
Authorship preserved Milen Mitkov mmitkov@qti.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi Adds GMSL deserializer and sensor nodes; additive change only

Verdict

Merge as-is. This is a well-formed vendor-only device tree addition with proper commit message structure, clear rationale, and correct authorship.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis
Copy link
Copy Markdown

PR #643 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Undocumented DT compatible string warning
dt-binding-check No changes in bindings
dtb-check Multiple DT validation errors: missing #address-cells/#size-cells, invalid reg format, missing ranges property, no schema match
sparse-check ⏭️ Skipped (no C code changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Subject prefix violation: "QCLINUX:" not allowed
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable for this branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #643 - QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26755526533

Checker Result Summary
checkpatch Undocumented DT compatible string warning
dt-binding-check No changes in bindings
dtb-check Multiple DT validation errors: missing #address-cells/#size-cells, invalid reg format, missing ranges property, no schema match
sparse-check ⏭️ Skipped (no C code changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Subject prefix violation: "QCLINUX:" not allowed
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable for this branch

❌ checkpatch

Root cause: The compatible string "qcom,cam-gmsl-sensor" is used in the device tree but has no corresponding binding documentation.

Failure details:

WARNING: DT compatible string "qcom,cam-gmsl-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#69: FILE: arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:188:
+		compatible = "qcom,cam-gmsl-sensor";

58c21cb357950cec8f3dc19a3ae92ec98ff08bab total: 0 errors, 1 warnings, 0 checks, 60 lines checked

Fix: Add a device tree binding document for qcom,cam-gmsl-sensor in Documentation/devicetree/bindings/media/ or use an existing documented compatible string if this device is already supported.

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES --git b7cce9a3884a873855693af8591d4c9c469cd17e..5180f850d259271e12db75a1ef8f637d342a1b02

❌ dtb-check

Root cause: The port@0 node in qcom,cam-gmsl-deserializer0 is missing required #address-cells and #size-cells properties, causing graph port validation failures and schema mismatches.

Failure details:

../arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:178.4-14: Warning (reg_format): /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

../arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:177.10-182.5: Warning (avoid_default_addr_size): /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: Relying on default #address-cells value

../arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:177.10-182.5: Warning (graph_port): /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: graph node '#address-cells' is -1, must be 1

../arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:177.10-182.5: Warning (graph_port): /fragment@0/__overlay__/qcom,cci@ac4a000/qcom,cam-gmsl-deserializer0/port@0: graph node '#size-cells' is -1, must be 0

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb: qcom,cci@ac4a000 (qcom,cci): qcom,cam-gmsl-deserializer0: 'ranges' is a required property

arch/arm64/boot/dts/qcom/qcs615-ride-camx.dtb: /soc@0/qcom,cci@ac4a000/qcom,cam-gmsl-sensor0: failed to match any schema with compatible: ['qcom,cam-gmsl-sensor']

Fix:

  1. Add #address-cells = <1>; and #size-cells = <0>; to the qcom,cam-gmsl-deserializer0 node (parent of port@0)
  2. Add ranges; property to both qcom,cam-gmsl-deserializer0 and qcom,cam-gmsl-sensor0 nodes to satisfy the CCI bus schema requirements
  3. Ensure the port@0 node's reg property uses a single cell value (e.g., reg = <0>;) consistent with the parent's address/size cells

Example fix for arch/arm64/boot/dts/qcom/talos-camera-sensor.dtsi:147:

qcom,cam-gmsl-deserializer0 {
	cell-index = <2>;
	#address-cells = <1>;
	#size-cells = <0>;
	ranges;
	/* ... other properties ... */
	
	port@0 {
		reg = <0>;
		deser0_port0: endpoint {
			remote-endpoint = <&gmsl_sensor0_ep>;
		};
	};
};

qcom,cam-gmsl-sensor0 {
	cell-index = <3>;
	compatible = "qcom,cam-gmsl-sensor";
	ranges;
	/* ... other properties ... */
};

Reproduce locally:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/media/

❌ check-patch-compliance

Root cause: The commit subject uses the "QCLINUX:" prefix, which is not an allowed prefix for Qualcomm Linux kernel commits.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: talos: Add GMSL deserializer and sensor
Commit summary does not start with a required prefix

Fix: Change the subject prefix from QCLINUX: to one of the allowed prefixes. For device tree changes, use:

  • FROMLIST: if the patch is posted to an upstream mailing list but not yet merged
  • UPSTREAM: if the patch is already merged in an upstream tree (mainline, linux-next, or subsystem tree)
  • BACKPORT: if cherry-picking from an upstream release
  • No prefix if this is a downstream-only change for qcom-next or qcom-next-staging branches

For this case, since it appears to be a downstream device tree addition, either:

  1. Remove the QCLINUX: prefix entirely if targeting qcom-next/qcom-next-staging
  2. Use FROMLIST: if you plan to upstream this change and have posted it to devicetree@vger.kernel.org

Reproduce locally:

# Check the commit message format
git log --oneline -1 58c21cb357950cec8f3dc19a3ae92ec98ff08bab

Verdict

3 blockers must be fixed before merge:

  1. checkpatch: Add DT binding documentation for qcom,cam-gmsl-sensor or use an existing compatible string
  2. dtb-check: Fix device tree structure by adding required #address-cells, #size-cells, and ranges properties
  3. check-patch-compliance: Remove or replace the QCLINUX: subject prefix with an allowed prefix

The dtb-check failures are the most critical as they indicate structural issues with the device tree that will cause runtime validation warnings. The missing binding documentation should be added to properly document the hardware interface.

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.

3 participants