Skip to content

FROMGIT: arm64: dts: qcom: hamoa: Fix incomplete Root Port property migration#571

Merged
sgaud-quic merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
ximiali:pcie_crd
May 13, 2026
Merged

FROMGIT: arm64: dts: qcom: hamoa: Fix incomplete Root Port property migration#571
sgaud-quic merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
ximiali:pcie_crd

Conversation

@ximiali
Copy link
Copy Markdown

@ximiali ximiali commented May 12, 2026

Historically, the Qualcomm PCIe controller node (Host bridge) described all Root Port properties, such as PHY, PERST#, and WAKE#. But to provide a more accurate hardware description and to support future multi-Root Port controllers, these properties were moved to the Root Port node in the devicetree bindings.

Commit 960609b ("arm64: dts: qcom: hamoa: Move PHY, PERST, and Wake GPIOs to PCIe port nodes and add port Nodes for all PCIe ports") initiated this transition for the Hamoa platform by moving the PHY property to the Root Port node in hamoa.dtsi. However, it only updated some platform specific DTS files for PERST# and WAKE#, leaving others in a "mixed" binding state.

While the PCIe controller driver supports both legacy and Root Port bindings, It cannot correctly handle a mix of both. In these cases, the driver parses the PHY from the Root Port node, but fails to find the PERST# property (which it then assumes is not present, as it is optional). Consequently, the controller probe succeeds, but PERST# remains uncontrolled, preventing PCIe endpoints from functioning.

So, fix the incomplete migration by moving the PERST# and WAKE# properties from the controller node to the Root Port node in all remaining Hamoa platform DTS files.

Fixes: 960609b ("arm64: dts: qcom: hamoa: Move PHY, PERST, and Wake GPIOs to PCIe port nodes and add port Nodes for all PCIe ports")

Reviewed-by: Manivannan Sadhasivam mani@kernel.org
Reviewed-by: Konrad Dybcio konrad.dybcio@oss.qualcomm.com
Link: https://lore.kernel.org/r/20260330020934.3501247-1-ziyue.zhang@oss.qualcomm.com

CRs-Fixed: 4533083

…igration

Historically, the Qualcomm PCIe controller node (Host bridge) described
all Root Port properties, such as PHY, PERST#, and WAKE#. But to provide
a more accurate hardware description and to support future multi-Root Port
controllers, these properties were moved to the Root Port node in the
devicetree bindings.

Commit 960609b ("arm64: dts: qcom: hamoa: Move PHY, PERST, and Wake
GPIOs to PCIe port nodes and add port Nodes for all PCIe ports")
initiated this transition for the Hamoa platform by moving the PHY
property to the Root Port node in hamoa.dtsi. However, it only updated
some platform specific DTS files for PERST# and WAKE#, leaving others in
a "mixed" binding state.

While the PCIe controller driver supports both legacy and Root Port
bindings, It cannot correctly handle a mix of both. In these cases, the
driver parses the PHY from the Root Port node, but fails to find the
PERST# property (which it then assumes is not present, as it is optional).
Consequently, the controller probe succeeds, but PERST# remains
uncontrolled, preventing PCIe endpoints from functioning.

So, fix the incomplete migration by moving the PERST# and WAKE# properties
from the controller node to the Root Port node in all remaining Hamoa
platform DTS files.

Fixes: 960609b ("arm64: dts: qcom: hamoa: Move PHY, PERST, and Wake GPIOs to PCIe port nodes and add port Nodes for all PCIe ports")
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260330020934.3501247-1-ziyue.zhang@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
@ximiali ximiali requested review from a team, jingyiwang42, shashim-quic and yijiyang May 12, 2026 09:22
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qcomlnxci qcomlnxci requested review from a team and trsoni May 12, 2026 14:09
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

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

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

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

@sgaud-quic sgaud-quic merged commit 10deebe into qualcomm-linux:qcom-6.18.y May 13, 2026
6 of 8 checks passed
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.

4 participants