Skip to content

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

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#1682
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 16:34
… 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>
@qcomlnxci
qcomlnxci requested review from a team, Amit Kucheria (idlethread), jingyiwang42 and yijiyang and removed request for a team August 12, 2026 08:39
@LXQUALCOMM
LXQUALCOMM merged commit b3a2dbf into qualcomm-linux:tech/all/dt/hamoa Aug 12, 2026
2 of 5 checks passed
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1682

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts Yes PR modifies the same file regions that were changed in the baseline integration branch, causing a content conflict when merging topic branch topic/tech/all/dt/hamoa
2 Merge conflict during automerge arch/arm64/boot/dts/qcom/purwa-iot-evk.dts Yes PR modifies the same file regions that were changed in the baseline integration branch, causing a content conflict when merging topic branch topic/tech/all/dt/hamoa

Verdict

This PR introduces 2 merge conflicts during the automerge integration phase. The build never reached compilation — it failed during the git merge step when attempting to integrate the topic branch with the baseline.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1682

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

Build Failure Type: Merge Conflict (Not a Compilation Error)

The build failed during the automerge phase when attempting to integrate the PR branch topic/tech/all/dt/hamoa with the baseline branch. The build never reached the compilation stage.

# Conflict File PR-introduced? Root Cause
1 Merge conflict arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts Yes PR modifies this file (removes wcn7850-pmu, adds M.2 connector) but the baseline branch has conflicting changes in the same regions
2 Merge conflict arch/arm64/boot/dts/qcom/purwa-iot-evk.dts Yes PR modifies this file (removes wcn7850-pmu, adds M.2 connector) but the baseline branch has conflicting changes in the same regions

Verdict

This PR introduces merge conflicts with the baseline integration branch. The conflicts are in the exact files modified by this PR. No compilation errors were detected because the build never reached the compilation stage.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1682 — validate-patch

PR: #1682

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 4 commits have correct Link: tags pointing to lore.kernel.org v4 series
  2. Lore link matches PR commits: Yes — diffs are functionally identical; line number deltas are context-only due to different base trees
  3. Upstream patch status: ✅ ACKed — all 4 patches have Reviewed-by: tags from subsystem maintainers (Konrad Dybcio, Manivannan Sadhasivam)
  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: #1682 - arm64: dts: qcom: hamoa-iot-evk, purwa-iot-evk: Enable M.2 Key E connector (4 commits)
Upstream commit: https://lore.kernel.org/all/20260804-hamoa-m2-dts-v2-v4-0-1b5ceac74538@oss.qualcomm.com/
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream All 4 subjects match lore v4 series (with FROMLIST: prefix added)
Body preserves rationale All commit bodies faithfully preserve lore descriptions
Fixes tag present/correct N/A No Fixes tags — these are new features, not bug fixes
Authorship preserved Original author Wei Deng in From:; both Wei Deng and submitter Xin Liu in Signed-off-by: (correct for FROMLIST:)
Backport note (if applicable) N/A Not a backport — FROMLIST: commits posted to mailing list but not yet merged upstream

Diff

File Status Notes
arch/arm64/boot/dts/qcom/hamoa.dtsi (commits 1, 2) Identical code changes; line number deltas are context-only (PR base differs from lore base)
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts (commit 3) Functionally identical to lore patch
arch/arm64/boot/dts/qcom/purwa-iot-evk.dts (commit 4) Functionally identical to lore patch

Upstream Patch Status

Commit Community Verdict
1/4: hamoa: Add graph port/endpoint anchors ✅ ACKed — Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam
2/4: hamoa: Add compatible to PCIe Root Port ✅ ACKed — Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam
3/4: hamoa-iot-evk: Describe PCIe M.2 Key E connector ✅ ACKed — Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam
4/4: purwa-iot-evk: Describe PCIe M.2 Key E connector ✅ ACKed — Reviewed-by: Konrad Dybcio, Manivannan Sadhasivam

Status summary: All 4 patches have formal maintainer reviews. No explicit "applied" message found in lore threads, but presence in qcom-next/topics (see below) confirms they are queued for merge.

qcom-next/topics Presence

Commit Status
1/4 ✅ Present in topics as e778e79 (exact patch-id match)
2/4 ✅ Present in qcom-next (all added lines verified)
3/4 ✅ Present in topics as 28373b3 (exact patch-id match)
4/4 ✅ Present in topics as 106f486e8deb (exact patch-id match)

Integration status: All 4 commits are present in qcom-next or kernel-topics branches.

Verdict

PASS — Merge as-is. All commits faithfully represent their lore upstream sources, have maintainer reviews, and are already present in the integration branches.

Final Summary

  1. Lore link present: Yes — all 4 commits have correct Link: tags pointing to lore.kernel.org v4 series
  2. Lore link matches PR commits: Yes — diffs are functionally identical; line number deltas are context-only due to different base trees
  3. Upstream patch status: ✅ ACKed — all 4 patches have Reviewed-by: tags from subsystem maintainers (Konrad Dybcio, Manivannan Sadhasivam)
  4. PR present in qcom-next/topics: Yes — all 4 commits verified present in qcom-next or topics branches (3 by exact patch-id, 1 by content verification)

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 #1682 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Cannot determine - no branch info available
automerge Merge conflicts in 2 files

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1682 - FROMLIST: arm64: dts: qcom: hamoa/purwa: Describe PCIe M.2 Key E connector
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31579286138

Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Cannot determine - no branch info available
automerge Merge conflicts in 2 files

❌ automerge (Pre-Checker Phase)

Root cause: The CI workflow failed during the automerge setup phase when attempting to merge topic branch topic/tech/all/dt/hamoa into the integration baseline (49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94). Merge conflicts in two DTS files prevented the integration branch from being created, which blocked all downstream checker jobs.

Failure details:

** Merging topic branch: topic/tech/all/dt/hamoa
Auto-merging Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
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.

Affected files:

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

Analysis:

This PR adds M.2 Key E connector descriptions to the Hamoa and Purwa IoT EVK boards. The patches modify:

  1. hamoa.dtsi - adds graph port/endpoint anchors to pcie4_port0 and uart14
  2. hamoa.dtsi - adds PCI bridge compatible string
  3. hamoa-iot-evk.dts - describes the M.2 connector, removes WCN7850-specific nodes
  4. purwa-iot-evk.dts - describes the M.2 connector, removes WCN7850-specific nodes

The merge conflicts in hamoa-iot-evk.dts and purwa-iot-evk.dts indicate that the integration baseline (49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94) contains overlapping changes in the same regions that this PR modifies. This is likely due to:

  • Another topic branch already merged into the baseline that modified the same board files
  • Changes to the WCN7850 PMU node, bluetooth serdev, or wifi@0 PCI child node regions
  • Changes to the M.2 connector or power sequencing infrastructure

Fix:

The PR author needs to rebase the topic branch onto the current integration baseline to resolve the conflicts:

# Fetch the latest baseline
git fetch origin

# Rebase the topic branch
git checkout topic/tech/all/dt/hamoa
git rebase 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94

# Resolve conflicts in hamoa-iot-evk.dts and purwa-iot-evk.dts
# The conflicts are likely in:
#   - wcn7850-pmu node removal
#   - bluetooth serdev under uart14
#   - wifi@0 PCI child node
#   - m2-connector node addition

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 origin topic/tech/all/dt/hamoa

Conflict resolution guidance:

When resolving the conflicts, ensure:

  1. The M.2 connector node is properly added with both PCIe (port@0) and UART (port@3) ports
  2. The WCN7850-specific nodes (wcn7850-pmu, static bluetooth serdev, wifi@0) are removed as intended by this PR
  3. Any new changes from the baseline that don't conflict with the M.2 connector approach are preserved
  4. The remote-endpoint references to pcie4_port0_ep and uart14_ep are correctly maintained

Reproduce locally:

# Clone the kernel-topics repo
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics

# Fetch the topic branch and baseline
git fetch origin topic/tech/all/dt/hamoa
git fetch origin 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94

# Attempt the merge to see the conflicts
git checkout -b test-merge 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
git merge origin/topic/tech/all/dt/hamoa

# Examine the conflict markers
git diff --check

📋 Checker Status Summary

No checkers were executed because the automerge phase failed. Once the merge conflicts are resolved and the topic branch is rebased, the CI will need to be re-triggered to run the actual checker jobs:

  • checkpatch - will validate commit message format, coding style, and DT vendor prefixes
  • dt-binding-check - will validate the crypto binding YAML (auto-merged cleanly)
  • dtb-check - will validate the compiled DTBs for hamoa-iot-evk and purwa-iot-evk
  • sparse-check - will be skipped (no C/H file changes)
  • check-uapi-headers - will be skipped (no UAPI changes)
  • check-patch-compliance - will validate FROMLIST: prefix and lore.kernel.org links

All four commits in this PR use the FROMLIST: prefix and include Link: tags pointing to lore.kernel.org, which is correct for patches posted upstream but not yet merged.


Verdict

Cannot merge - automerge conflicts must be resolved first.

The PR cannot be evaluated by the kernel checkers until the merge conflicts in hamoa-iot-evk.dts and purwa-iot-evk.dts are resolved. The author should rebase the topic branch onto the current integration baseline (49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94), resolve the conflicts, and force-push the updated branch. Once rebased, re-trigger the CI to run the full checker suite.

The patches themselves appear well-formed (proper FROMLIST: prefix, lore.kernel.org links, signed-off-by tags), so assuming the conflicts are resolved correctly and no new issues are introduced during rebase, the checker results should be clean.

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