* [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK
@ 2026-09-14 9:19 Wei Deng
2026-09-14 9:19 ` [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port Wei Deng
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Wei Deng @ 2026-09-14 9:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: quic_chezhou, cheng.jiang, shuai.zhang, jinwang.li, xiuzhuo.shang,
mengshi.wu, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Wei Deng, Dmitry Baryshkov
Add DT support for the PCIe M.2 Mechanical Key E connector on the
Monaco EVK, following the same pattern as the lemans-evk series
(already in linux-next, commits 67f06acf/a6d4bb0a).
Patch 1/2 adds 'compatible = "pciclass,0604"' to the pcieport0 node in
monaco.dtsi, required for downstream DT nodes to be matched to PCI
devices.
Patch 2/2 describes the connector-3 node in monaco-evk.dts, wires the
PCIe 0 Root Port and UART2 endpoints inline in the board file, adds the
vreg_wcn_3p3 regulator, and adds the serial1 = &uart2 alias for BT
serdev enumeration.
This series is based on next-20260726.
Changes in v4:
- Drop the DTSI anchor patch (formerly 2/4): upstream BT maintainer
Manivannan Sadhasivam indicated that changing the hci_qca.c detection
from of_graph_is_present() to of_graph_get_remote_endpoint() is not
warranted [1], so placing empty anchor nodes in the DTSI would cause
hci_qca to probe the M.2 pwrseq path on all monaco-based boards,
including those without an M.2 connector (e.g. qcs8300-ride). The
port/endpoint nodes are now written directly inline in monaco-evk.dts.
- Fold former patches 3 and 4 into a single EVK patch (now 2/2).
- Fix &uart2 node override ordering in monaco-evk.dts (alphabetical,
before &uart6).
- Link to v3: https://lore.kernel.org/r/20260819-b4-monaco-evk-m2-v1-v3-0-988145ef65cd@oss.qualcomm.com
[1] https://lore.kernel.org/all/isbrpaztfrgwfcleujrn4w26cshbi2mgn57tbh5bubvsegn6lc@jh3ab6htvd24/
Changes in v3:
- Drop vreg_dcin_12v from connector node; the 12V DC input is not
software-controllable (Konrad)
- Add patch 4/4: move graph port/endpoint anchors from monaco.dtsi to
monaco-evk.dts, so of_graph_is_present() only returns true on boards
with an M.2 Key E connector
- Link to v2: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-0-0548e1dab760@oss.qualcomm.com
Changes in v2:
- Move PCIe Root Port and UART2 graph port/endpoint declarations from
monaco-evk.dts into monaco.dtsi, per Konrad's suggestion.
- Link to v1: https://lore.kernel.org/all/20260727-b4-monaco-evk-m2-v1-v1-0-5429cce68599@oss.qualcomm.com/
---
Wei Deng (2):
arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
arch/arm64/boot/dts/qcom/monaco-evk.dts | 60 +++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/monaco.dtsi | 1 +
2 files changed, 61 insertions(+)
---
base-commit: 80489b8b7c62068b5223af10ead175367dcd127d
change-id: 20260727-b4-monaco-evk-m2-v1-dd56eb997378
Best regards,
--
Wei Deng <wei.deng@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
2026-09-14 9:19 [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Wei Deng
@ 2026-09-14 9:19 ` Wei Deng
2026-09-14 9:25 ` sashiko-bot
2026-09-14 9:19 ` [PATCH v4 2/2] arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector Wei Deng
2026-09-29 3:15 ` [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Bjorn Andersson
2 siblings, 1 reply; 5+ messages in thread
From: Wei Deng @ 2026-09-14 9:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: quic_chezhou, cheng.jiang, shuai.zhang, jinwang.li, xiuzhuo.shang,
mengshi.wu, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Wei Deng
Add 'compatible = "pciclass,0604"' to the pcieport0 node in monaco.dtsi
to allow the PCI subsystem to associate the DT node with the PCI-to-PCI
bridge device. This is required for downstream DT nodes (such as M.2
connectors described as graph endpoints of the Root Port) to be matched
to PCI devices.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/monaco.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index 64fc0d592282..438ccf6eba64 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -2393,6 +2393,7 @@ opp-32000000 {
};
pcieport0: pcie@0 {
+ compatible = "pciclass,0604";
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;
bus-range = <0x01 0xff>;
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
2026-09-14 9:19 ` [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port Wei Deng
@ 2026-09-14 9:25 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-09-14 9:25 UTC (permalink / raw)
To: Wei Deng; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch introduces an inconsistency in the SoC device tree by adding the `compatible = "pciclass,0604";` string only to `pcieport0` and omitting it for the identical secondary root port `pcieport1`.
--
commit af4d1e90e3b54337cb2c17a523874c97e4e2e7af
Author: Wei Deng <wei.deng@oss.qualcomm.com>
arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
This commit adds the compatible string pciclass,0604 to the pcieport0 node in
monaco.dtsi. This allows the PCI subsystem to associate the DT node with the
PCI-to-PCI bridge device, enabling downstream DT nodes to be matched to PCI
devices.
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index cfe39f923224f..e18b3ed54cd9e 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -2394,6 +2394,7 @@ opp-32000000 {
> };
>
> pcieport0: pcie@0 {
> + compatible = "pciclass,0604";
[Severity: Medium]
Should this compatible string also be added to pcieport1?
Looking at the device tree in arch/arm64/boot/dts/qcom/monaco.dtsi, there is an
identical secondary root port that misses this update:
pcieport1: pcie@0 {
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;
bus-range = <0x01 0xff>;
If a board design utilizes pcieport1 and adds a downstream endpoint, wouldn't it
fail to associate the DT node with the PCI-to-PCI bridge device in the same way?
> device_type = "pci";
> reg = <0x0 0x0 0x0 0x0 0x0>;
> bus-range = <0x01 0xff>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914-b4-monaco-evk-m2-v1-v4-0-dab83b048d03@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 2/2] arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
2026-09-14 9:19 [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Wei Deng
2026-09-14 9:19 ` [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port Wei Deng
@ 2026-09-14 9:19 ` Wei Deng
2026-09-29 3:15 ` [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Bjorn Andersson
2 siblings, 0 replies; 5+ messages in thread
From: Wei Deng @ 2026-09-14 9:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: quic_chezhou, cheng.jiang, shuai.zhang, jinwang.li, xiuzhuo.shang,
mengshi.wu, linux-arm-msm, devicetree, linux-kernel,
Dmitry Baryshkov, Wei Deng
The monaco EVK has a PCIe M.2 Mechanical Key E connector to connect
wireless connectivity cards over PCIe and UART interfaces. Hence,
describe the connector node and link it with the PCIe 0 Root Port and
UART2 nodes through graph port/endpoint.
The port/endpoint nodes are defined inline in the board file rather
than as empty anchor nodes in the SoC DTSI, so that
of_graph_is_present() only returns true for boards that have an M.2
Key E connector present, preventing unintended pwrseq probe on boards
with soldered wireless chips (e.g. qcs8300-ride).
The connector's 3.3V supply is described as a fixed always-on regulator
(vreg_wcn_3p3), which is required by the pcie-m2-e-connector binding.
Also add the serial1 = &uart2 alias, which is required for the
Bluetooth serdev device to be enumerated on the UART2 interface.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/monaco-evk.dts | 60 +++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index 9d17ef7d2caf..2228946a05c1 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -21,6 +21,7 @@ aliases {
ethernet0 = ðernet0;
i2c1 = &i2c1;
serial0 = &uart7;
+ serial1 = &uart2;
serial2 = &uart6;
};
@@ -47,6 +48,38 @@ usb2_con_hs_ep: endpoint {
};
};
+ connector-3 {
+ compatible = "pcie-m2-e-connector";
+ vpcie3v3-supply = <&vreg_wcn_3p3>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ m2_e_pcie_ep: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&pcieport0_ep>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ m2_e_uart_ep: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&uart2_ep>;
+ };
+ };
+ };
+ };
+
dmic: audio-codec-0 {
compatible = "dmic-codec";
#sound-dai-cells = <0>;
@@ -91,6 +124,17 @@ usb2_vbus: regulator-usb2-vbus {
enable-active-high;
};
+ vreg_wcn_3p3: regulator-wcn-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WCN_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
sound {
compatible = "qcom,qcs8275-sndcard";
model = "MONACO-EVK";
@@ -644,6 +688,12 @@ &pcie1_phy {
&pcieport0 {
reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
+
+ port {
+ pcieport0_ep: endpoint {
+ remote-endpoint = <&m2_e_pcie_ep>;
+ };
+ };
};
&pcieport1 {
@@ -862,6 +912,16 @@ expander4_int: expander4-int-state {
};
};
+&uart2 {
+ status = "okay";
+
+ port {
+ uart2_ep: endpoint {
+ remote-endpoint = <&m2_e_uart_ep>;
+ };
+ };
+};
+
&uart6 {
status = "okay";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK
2026-09-14 9:19 [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Wei Deng
2026-09-14 9:19 ` [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port Wei Deng
2026-09-14 9:19 ` [PATCH v4 2/2] arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector Wei Deng
@ 2026-09-29 3:15 ` Bjorn Andersson
2 siblings, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2026-09-29 3:15 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Wei Deng
Cc: quic_chezhou, cheng.jiang, shuai.zhang, jinwang.li, xiuzhuo.shang,
mengshi.wu, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
On Mon, 14 Sep 2026 14:49:12 +0530, Wei Deng wrote:
> Add DT support for the PCIe M.2 Mechanical Key E connector on the
> Monaco EVK, following the same pattern as the lemans-evk series
> (already in linux-next, commits 67f06acf/a6d4bb0a).
>
> Patch 1/2 adds 'compatible = "pciclass,0604"' to the pcieport0 node in
> monaco.dtsi, required for downstream DT nodes to be matched to PCI
> devices.
>
> [...]
Applied, thanks!
[1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
commit: 926c325da50588399a9ab08cc01b17600c1eb0c7
[2/2] arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
commit: 253afe26cdea0372755e5ba1c7a6f72ee730b50d
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-09-29 3:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 9:19 [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Wei Deng
2026-09-14 9:19 ` [PATCH v4 1/2] arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port Wei Deng
2026-09-14 9:25 ` sashiko-bot
2026-09-14 9:19 ` [PATCH v4 2/2] arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector Wei Deng
2026-09-29 3:15 ` [PATCH v4 0/2] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK Bjorn Andersson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.