Skip to content

arm64: dts: qcom: hamoa, purwa: Describe the PCIe M.2 Key E connector - #1680

Merged
LXQUALCOMM merged 4 commits into
qualcomm-linux:tech/all/dt/hamoafrom
LXQUALCOMM:tech/all/dt/hamoa
Aug 12, 2026
Merged

arm64: dts: qcom: hamoa, purwa: Describe the PCIe M.2 Key E connector#1680
LXQUALCOMM merged 4 commits into
qualcomm-linux:tech/all/dt/hamoafrom
LXQUALCOMM:tech/all/dt/hamoa

Conversation

@LXQUALCOMM

Copy link
Copy Markdown

Describe the PCIe M.2 Key E connector on the Hamoa and Purwa IoT EVKs

4 commits:

hamoa: Add graph port/endpoint anchors to pcie4_port0 and uart14 — endpoint stubs in hamoa.dtsi (Suggested-by: Konrad)
hamoa: Add compatible to the PCIe Root Port — pciclass,0604 on pcie4_port0 (Reviewed-by: Konrad)
hamoa-iot-evk: Describe the PCIe M.2 Key E connector — port@0 PCIe + port@3 UART; remove wcn7850-pmu/static BT (Reviewed-by: Konrad, Mani)
purwa-iot-evk: Describe the PCIe M.2 Key E connector — same connector layout; Purwa inherits hamoa.dtsi
Upstream V4: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-0-1b5ceac74538@oss.qualcomm.com/

CRs-Fixed: 4630764

Note: Corrected rebase of #1629. Commit 1 had pcie4_port0_ep placed in the wrong node (pcie5_port0 instead of pcie4_port0) due to a cherry-pick context-matching error. Only commit 1 changed; commits 2-4 are identical in content.

To apply (no extra remote needed):

git fetch origin pull/1674/head
git push --force origin FETCH_HEAD:refs/heads/tech/all/dt/hamoa

Wei Deng added 4 commits August 12, 2026 15:04
… pcie4_port0 and uart14

Add empty graph port/endpoint nodes to pcie4_port0 and uart14 in hamoa.dtsi
so that board files can reference the endpoint labels (pcie4_port0_ep,
uart14_ep) to describe connections to M.2 Key E connectors via
remote-endpoint overrides.

Suggested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-1-1b5ceac74538@oss.qualcomm.com/
Signed-off-by: Xin Liu <xin.liu@oss.qualcomm.com>
Add 'compatible = "pciclass,0604"' to the pcie4_port0 node in hamoa.dtsi
to allow the PCI subsystem to associate the DT node with the PCI-to-PCI
bridge device, which is required for M.2 connector graph endpoint
association.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-2-1b5ceac74538@oss.qualcomm.com/
Signed-off-by: Xin Liu <xin.liu@oss.qualcomm.com>
…E connector

The Hamoa IoT EVK has a PCIe M.2 Mechanical Key E connector for wireless
connectivity cards exposing Wi-Fi over PCIe and Bluetooth over UART.

Describe the connector node with:
- port@0: PCIe for Wi-Fi, linked to pcie4_port0
- port@3: UART for Bluetooth, linked to uart14

This allows the pwrseq-pcie-m2 driver to manage card power and
dynamically create the UART serdev for UART BT variants of the M.2 card.

Remove the chip-specific wcn7850-pmu node, the static bluetooth serdev
under uart14, and the wifi@0 PCI child node, as the M.2 connector
approach replaces WCN7850-specific power sequencing with a chip-agnostic
model.

Also remove the now-unused vreg_wcn_0p95 and vreg_wcn_1p9 dummy fixed
regulators whose only consumers were the wcn7850-pmu node.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-3-1b5ceac74538@oss.qualcomm.com/
Signed-off-by: Xin Liu <xin.liu@oss.qualcomm.com>
…E connector

The Purwa IoT EVK has a PCIe M.2 Mechanical Key E connector for wireless
connectivity cards exposing Wi-Fi over PCIe and Bluetooth over UART.
Purwa inherits hamoa.dtsi via purwa.dtsi and therefore reuses the PCIe
root port compatible and the uart14_ep / pcie4_port0_ep endpoint stub
labels added there.

Describe the connector node with:
- port@0: PCIe for Wi-Fi, linked to pcie4_port0
- port@3: UART for Bluetooth, linked to uart14

This allows the pwrseq-pcie-m2 driver to manage card power and
dynamically create the UART serdev for UART BT variants of the M.2 card.

Remove the chip-specific wcn7850-pmu node, the static bluetooth serdev
under uart14, and the wifi@0 PCI child node, as the M.2 connector
approach replaces WCN7850-specific power sequencing with a chip-agnostic
model.

Also remove the now-unused vreg_wcn_0p95 and vreg_wcn_1p9 dummy fixed
regulators whose only consumers were the wcn7850-pmu node.

Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-4-1b5ceac74538@oss.qualcomm.com/
Signed-off-by: Xin Liu <xin.liu@oss.qualcomm.com>
@LXQUALCOMM
LXQUALCOMM merged commit b3a2dbf into qualcomm-linux:tech/all/dt/hamoa Aug 12, 2026
3 of 8 checks passed
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1680

PR: #1680
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31576107663

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts No Integration conflict between PR changes and baseline branch modifications
2 Merge conflict during automerge arch/arm64/boot/dts/qcom/purwa-iot-evk.dts No Integration conflict between PR changes and baseline branch modifications

Verdict

This is not a compilation failure. The build failed during the automerge/integration phase due to merge conflicts in 2 device tree files. These conflicts occur because both the PR and the baseline integration branch modify the same sections of these files. This is a pre-existing integration issue, not a code defect introduced by the PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1680

PR: #1680
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31576107663

Build Status: ❌ Merge Conflict (Pre-compilation Failure)

The build failed during the automerge phase before any compilation could occur. The PR branch topic/tech/all/dt/hamoa could not be automatically merged with the integration baseline due to content conflicts.

# Issue Type File Root Cause
1 Merge Conflict arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts PR modifies sections that have conflicting changes in the baseline branch
2 Merge Conflict arch/arm64/boot/dts/qcom/purwa-iot-evk.dts PR modifies sections that have conflicting changes in the baseline branch

Verdict

No compilation errors detected. The build failed during git merge before compilation started. Both conflicts are in files modified by this PR and require manual resolution.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1680 — validate-patch

PR: #1680

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes - all 4 commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Yes - diff content is faithful to lore v4 patches; commit messages preserve upstream rationale; authorship correctly handled per FROMLIST prefix rules
  3. Upstream patch status: ✅ ACKed (3/4 commits have Reviewed-by from subsystem maintainers Konrad Dybcio and Manivannan Sadhasivam; commit 4/4 is part of the same v4 series posted Aug 4, 2026 and under review)
  4. PR present in qcom-next/topics: Yes - all 4 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1680 - arm64: dts: qcom: hamoa-iot-evk, purwa-iot-evk: Enable M.2 Key E connector
Upstream commits: 4 patches from lore.kernel.org (v4 series)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream All 4 commits: subjects match lore v4 with FROMLIST: prefix added
Body preserves rationale All commit bodies faithfully preserve upstream descriptions
Fixes tag present/correct N/A No Fixes tags in upstream patches
Authorship preserved All commits: From: Wei Deng <wei.deng@oss.qualcomm.com> matches lore author; original author's Signed-off-by: present (FROMLIST prefix allows submitter Xin Liu to add second SoB)
Backport note (if applicable) N/A FROMLIST prefix used (patches posted to mailing list, not yet merged)
Co-developed-by usage Not used; authorship correctly handled via From: and Signed-off-by: chain

Diff

File Status Notes
arch/arm64/boot/dts/qcom/hamoa.dtsi (commit 1/4) Identical to lore patch - adds empty graph port/endpoint nodes to uart14 and pcie4_port0
arch/arm64/boot/dts/qcom/hamoa.dtsi (commit 2/4) Identical to lore patch - adds compatible = "pciclass,0604" to pcie4_port0
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts (commit 3/4) Faithful representation - replaces WCN7850-specific nodes with M.2 connector description
arch/arm64/boot/dts/qcom/purwa-iot-evk.dts (commit 4/4) Faithful representation - same M.2 connector approach for Purwa board

Upstream Patch Status

Commit Community Verdict
1/4: hamoa: Add graph port/endpoint anchors ✅ ACKed - Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam in lore thread
2/4: hamoa: Add compatible to PCIe Root Port ✅ ACKed - Reviewed-by: Konrad Dybcio in lore thread
3/4: hamoa-iot-evk: Describe M.2 Key E connector ✅ ACKed - Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam in lore thread
4/4: purwa-iot-evk: Describe M.2 Key E connector ⏳ Decision Pending - no explicit Reviewed-by in lore thread; part of v4 series posted Aug 4, 2026

Integration Presence (qcom-next/topics)

Commit Status
1/4: hamoa: Add graph port/endpoint anchors ✅ Present in topics as e778e79
2/4: hamoa: Add compatible to PCIe Root Port ✅ Present in qcom-next
3/4: hamoa-iot-evk: Describe M.2 Key E connector ✅ Present in topics as 28373b3
4/4: purwa-iot-evk: Describe M.2 Key E connector ✅ Present in topics as 106f486

Issues Found

None. All commits are faithful to their upstream lore sources.

Verdict

Merge as-is. All four commits correctly represent their upstream lore.kernel.org sources with proper FROMLIST: prefix, preserved authorship, complete commit message bodies, and faithful diff content. The submitter (Xin Liu) correctly added their Signed-off-by: after the original author's, which is the expected pattern for FROMLIST: commits. All patches have received upstream review (3 of 4 have explicit Reviewed-by tags; commit 4/4 is part of the same v4 series and is under review). Integration presence check confirms all commits are already present in qcom-next or topics branches.

Final Summary

  1. Lore link present: Yes - all 4 commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Yes - diff content is faithful to lore v4 patches; commit messages preserve upstream rationale; authorship correctly handled per FROMLIST prefix rules
  3. Upstream patch status: ✅ ACKed (3/4 commits have Reviewed-by from subsystem maintainers Konrad Dybcio and Manivannan Sadhasivam; commit 4/4 is part of the same v4 series posted Aug 4, 2026 and under review)
  4. PR present in qcom-next/topics: Yes - all 4 commits present (1 in qcom-next, 3 in topics branch with exact patch-id matches)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] FROMLIST: arm64: dts: qcom: hamoa: Add graph partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e778e79 present
2/4 [PATCH 2/4] FROMLIST: arm64: dts: qcom: hamoa: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
3/4 [PATCH 3/4] FROMLIST: arm64: dts: qcom: hamoa-iot-evk: Describe the partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 28373b3 present
4/4 [PATCH 4/4] FROMLIST: arm64: dts: qcom: purwa-iot-evk: Describe the partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 106f486 present

Final Status

overall_status: PASS
present_commits: 4/4
partial_commits: 0/4
missing_commits: 0/4
topics_checked_for_commits: 3/4
final_summary: PR present in qcom-next/topics: Yes - all 4 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #1680 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - merge conflict prevented execution
dt-binding-check ⏭️ Skipped - merge conflict prevented execution
dtb-check ⏭️ Skipped - merge conflict prevented execution
sparse-check ⏭️ Skipped - merge conflict prevented execution
check-uapi-headers ⏭️ Skipped - merge conflict prevented execution
check-patch-compliance ⏭️ Skipped - merge conflict prevented execution
tag-check N/A Not applicable - target branch is qcom-next

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1680 - FROMLIST: arm64: dts: qcom: hamoa/purwa: Describe PCIe M.2 Key E connectors
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31576107621
Target branch: qcom-next

Checker Result Summary
checkpatch ⏭️ Skipped - merge conflict prevented execution
dt-binding-check ⏭️ Skipped - merge conflict prevented execution
dtb-check ⏭️ Skipped - merge conflict prevented execution
sparse-check ⏭️ Skipped - merge conflict prevented execution
check-uapi-headers ⏭️ Skipped - merge conflict prevented execution
check-patch-compliance ⏭️ Skipped - merge conflict prevented execution
tag-check N/A Not applicable - target branch is qcom-next

❌ Merge Conflict (CI Infrastructure Issue)

Root cause: The PR could not be merged into the qcom-next baseline due to content conflicts in two DTS files.

Failure details:

Auto-merging arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
Auto-merging arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
Automatic merge failed; fix conflicts and then commit the result.
Merge failed, manual merge

Analysis:

All six checker jobs failed at the merge stage before any actual checker validation could run. The CI workflow attempts to merge the PR branch into the qcom-next baseline (tag qcom-next-7.2-rc5-20260812, commit 49dbe0dae5cf) before running checkers. This merge failed due to conflicting changes in:

  1. arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
  2. arch/arm64/boot/dts/qcom/purwa-iot-evk.dts

This indicates that the qcom-next baseline has diverged from the PR's base commit, and the same regions of these DTS files have been modified in both branches.

Fix:

The PR author needs to rebase the PR branch onto the latest qcom-next:

# In the PR branch working tree
git fetch origin qcom-next
git rebase origin/qcom-next

# Resolve conflicts in arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
# Resolve conflicts in arch/arm64/boot/dts/qcom/purwa-iot-evk.dts

git add arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
git add arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
git rebase --continue

# Force-push the rebased branch
git push --force-with-lease

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git checkout qcom-next
git pull
git fetch origin pull/1680/head:pr-1680
git merge pr-1680
# Conflicts will appear in hamoa-iot-evk.dts and purwa-iot-evk.dts

ℹ️ Patch Quality (Pre-Merge Assessment)

Since the checkers did not run, I performed a manual review of the PR patch file:

✅ Positive findings:

  • All 4 commits have proper FROMLIST: prefix tags
  • All commits include Link: trailers pointing to lore.kernel.org
  • All commits have Signed-off-by: trailers
  • Commit messages are well-structured with clear descriptions
  • Changes are DTS-only (devicetree source files)
  • Patch series is logically organized (base changes → board-specific changes)

Commits in this PR:

  1. FROMLIST: arm64: dts: qcom: hamoa: Add graph port/endpoint anchors to pcie4_port0 and uart14
  2. FROMLIST: arm64: dts: qcom: hamoa: Add compatible to the PCIe Root Port
  3. FROMLIST: arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector
  4. FROMLIST: arm64: dts: qcom: purwa-iot-evk: Describe the PCIe M.2 Key E connector

Expected checker results after rebase:

  • checkpatch: Likely ✅ PASS (DTS changes, proper formatting observed)
  • dt-binding-check: ⏭️ SKIP (no binding YAML changes)
  • dtb-check: Likely ✅ PASS or ⚠️ (may flag graph port schema issues if present)
  • sparse-check: ⏭️ SKIP (no C source changes)
  • check-uapi-headers: ⏭️ SKIP (no UAPI header changes)
  • check-patch-compliance: Likely ✅ PASS (all commits have FROMLIST + Link)

Verdict

Blocker: Merge conflict must be resolved before checkers can run.

The PR cannot be validated by CI until the author rebases onto the latest qcom-next and resolves the conflicts in hamoa-iot-evk.dts and purwa-iot-evk.dts. Once rebased and force-pushed, CI will re-run and the checkers will execute normally.

The patch content itself appears well-formed based on manual inspection, but formal checker validation is required after the rebase.

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.

2 participants