From: YijieYang <yijie.yang@oss.qualcomm.com>
To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, yijie.yang@oss.qualcomm.com
Subject: [PATCH v3 4/4] arm64: dts: qcom: Add base PURWA-IOT-EVK board
Date: Tue, 13 Jan 2026 18:28:16 +0800 [thread overview]
Message-ID: <20260113102822.590677-4-yijie.yang@oss.qualcomm.com> (raw)
In-Reply-To: <20260113-purwa-v3-0-16eefacbdce9@oss.qualcomm.com>
From: Yijie Yang <yijie.yang@oss.qualcomm.com>
The PURWA-IOT-EVK is an evaluation platform for IoT products, composed of
the Purwa IoT SoM and a carrier board. Together, they form a complete
embedded system capable of booting to UART.
PURWA-IOT-EVK uses the PS8833 as a retimer for USB0, unlike HAMOA-IOT-EVK.
Meanwhile, USB0 bypasses the SBU selector FSUSB42. As a result, the glink
topology differs from that of HAMOA-IOT-EVK.
Make the following peripherals on the carrier board enabled:
- UART
- On-board regulators
- USB Type-C mux
- Pinctrl
- Embedded USB (EUSB) repeaters
- NVMe
- pmic-glink
- USB DisplayPorts
- Bluetooth
- WLAN
- Audio
- PCIe ports for PCIe3 through PCIe6a
Signed-off-by: Yijie Yang <yijie.yang@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../{hamoa-iot-evk.dts => purwa-iot-evk.dts} | 102 +++++++++++-------
2 files changed, 65 insertions(+), 38 deletions(-)
copy arch/arm64/boot/dts/qcom/{hamoa-iot-evk.dts => purwa-iot-evk.dts} (95%)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index a5d6f451f85c..d276b3cf14ee 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -126,6 +126,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-lilac.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-maple.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
+dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
similarity index 95%
copy from arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
copy to arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
index 2390648a248f..6f779be3c6d7 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
@@ -6,12 +6,12 @@
/dts-v1/;
#include <dt-bindings/leds/common.h>
-#include "hamoa-iot-som.dtsi"
+#include "purwa-iot-som.dtsi"
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
/ {
- model = "Qualcomm Technologies, Inc. Hamoa IoT EVK";
- compatible = "qcom,hamoa-iot-evk", "qcom,hamoa-iot-som", "qcom,x1e80100";
+ model = "Qualcomm Technologies, Inc. Purwa IoT EVK";
+ compatible = "qcom,purwa-iot-evk", "qcom,purwa-iot-som", "qcom,x1p42100";
chassis-type = "embedded";
aliases {
@@ -118,15 +118,15 @@ port@1 {
reg = <1>;
pmic_glink_ss0_ss_in: endpoint {
- remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ remote-endpoint = <&retimer_ss0_ss_out>;
};
};
port@2 {
reg = <2>;
- pmic_glink_ss0_sbu: endpoint {
- remote-endpoint = <&usb_1_ss0_sbu_mux>;
+ pmic_glink_ss0_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss0_con_sbu_out>;
};
};
};
@@ -618,25 +618,6 @@ platform {
};
};
- usb-1-ss0-sbu-mux {
- compatible = "onnn,fsusb42", "gpio-sbu-mux";
-
- enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>;
- select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>;
-
- pinctrl-0 = <&usb_1_ss0_sbu_default>;
- pinctrl-names = "default";
-
- mode-switch;
- orientation-switch;
-
- port {
- usb_1_ss0_sbu_mux: endpoint {
- remote-endpoint = <&pmic_glink_ss0_sbu>;
- };
- };
- };
-
wcn7850-pmu {
compatible = "qcom,wcn7850-pmu";
@@ -753,6 +734,63 @@ retimer_ss2_con_sbu_out: endpoint {
};
};
+&i2c3 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK4>;
+
+ vdd-supply = <&vreg_rtmr0_1p15>;
+ vdd33-supply = <&vreg_rtmr0_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+ vddar-supply = <&vreg_rtmr0_1p15>;
+ vddat-supply = <&vreg_rtmr0_1p15>;
+ vddio-supply = <&vreg_rtmr0_1p8>;
+
+ reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&rtmr0_default>;
+ pinctrl-names = "default";
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss0_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss0_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss0_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
+ };
+ };
+ };
+ };
+};
+
&i2c5 {
clock-frequency = <400000>;
@@ -1102,9 +1140,7 @@ edp_bl_reg_en: edp-bl-reg-en-state {
pins = "gpio10";
function = "normal";
};
-};
-&pmc8380_3_gpios {
pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
pins = "gpio8";
function = "normal";
@@ -1171,16 +1207,6 @@ &smb2360_2_eusb2_repeater {
vdd3-supply = <&vreg_l8b_3p0>;
};
-&spi11 {
- status = "okay";
-
- tpm@0 {
- compatible = "st,st33htpm-spi", "tcg,tpm_tis-spi";
- reg = <0>;
- spi-max-frequency = <20000000>;
- };
-};
-
&swr0 {
status = "okay";
@@ -1470,7 +1496,7 @@ &usb_1_ss0_hsphy {
};
&usb_1_ss0_qmpphy_out {
- remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ remote-endpoint = <&retimer_ss0_ss_in>;
};
&usb_1_ss1_dwc3_hs {
--
2.34.1
next prev parent reply other threads:[~2026-01-13 10:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-13 10:28 [PATCH v3 0/4] Initial patch set for PURWA-IOT-EVK YijieYang
2026-01-13 10:28 ` [PATCH v3 1/4] dt-bindings: arm: qcom: Document PURWA-IOT-EVK board YijieYang
2026-01-13 10:28 ` [PATCH v3 2/4] firmware: qcom: scm: Allow QSEECOM on PURWA-IOT-EVK YijieYang
2026-01-13 10:28 ` [PATCH v3 3/4] arm64: dts: qcom: Add PURWA-IOT-SOM platform YijieYang
2026-01-13 10:47 ` Dmitry Baryshkov
2026-01-13 11:29 ` Konrad Dybcio
2026-01-13 17:50 ` Dmitry Baryshkov
2026-01-14 1:38 ` Yijie Yang
2026-01-21 13:10 ` Vikash Garodia
2026-01-13 10:28 ` YijieYang [this message]
2026-01-13 10:52 ` [PATCH v3 4/4] arm64: dts: qcom: Add base PURWA-IOT-EVK board Dmitry Baryshkov
2026-01-14 2:27 ` Yijie Yang
2026-01-14 3:14 ` Dmitry Baryshkov
2026-01-13 14:52 ` [PATCH v3 0/4] Initial patch set for PURWA-IOT-EVK Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260113102822.590677-4-yijie.yang@oss.qualcomm.com \
--to=yijie.yang@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®