Skip to contentSkip to conversation

arm64: dts: qcom: Add support for QCS615 Talos EVK platform

PATCH Superseded Sudarshan Shetty 3 participants 9 messages Oct 14, 2025 – Oct 22, 2025

Subsystems (3)

v3 of 16 Superseded Latest is v16 →

lore
Share & tools
lore
#0 lore raw

v3 cover arm64: dts: qcom: Add support for QCS615 Talos EVK platform

Hi all,

This patch series adds initial device tree and binding support for the QCS615-based Talos EVK SMARC platform.

The Talos EVK is based on the QCS615 SoC and follows the SMARC standard, consisting of a SoM and a carrier board. The SoM integrates the SoC, PMIC, and GPIO interfaces, while the carrier board provides peripherals such as UART, USB, and CAN for evaluation and development.

---

### Changes in v3:
- Addressed comments from Dmitry regarding USB1 dr_mode and added a DTS comment.
- No functional change in bindings file.

### Changes in v2:
- Renamed compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn)
- Merged enum entry with existing qcs615-ride block (suggested by Krzysztof)
- Fixed subject and commit message to use imperative mood.

---

### Patch summary:
1. **dt-bindings: arm: qcom: Add Talos EVK SMARC platform**
2. **arm64: dts: qcom: Add support for QCS615 Talos EVK board**

---

Best regards,
Sudarshan Shetty
Tessolve

---

**[PATCH v3 1/2]** — dt-bindings: arm: qcom: Add Talos EVK SMARC platform **[PATCH v3 2/2]** — arm64: dts: qcom: Add support for QCS615 Talos EVK board

#1 lore raw

PATCH v3 1/2 dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform

Add binding support for the QCS615-based Talos EVK SMARC platform.

---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
index 0a3222d6f368..a323be3d2ba2 100644
@@ -862,6 +862,7 @@ properties:
       - items:
           - enum:
               - qcom,qcs615-ride
+              - qcom,talos-evk
           - const: qcom,qcs615
           - const: qcom,sm6150
 
Signature · 1 line
2.34.1
#2 lore raw

Re: [PATCH v3 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform

Quoted 2 lines · Sudarshan Shetty

Add binding support for the QCS615-based Talos EVK SMARC platform.

Nothing here nor in DTS commit tells me who made talos evk. Please use full names of products, e.g. "Samsung Talos EVK SMARC".

Best regards,
Krzysztof

#3 lore raw

Re: [PATCH v3 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform

Quoted 6 lines · Krzysztof Kozlowski
Quoted 2 lines · Sudarshan Shetty

Add binding support for the QCS615-based Talos EVK SMARC platform.

Nothing here nor in DTS commit tells me who made talos evk. Please use full names of products, e.g. "Samsung Talos EVK SMARC".

Thanks for the feedback!
Sure will update in v4 patch.

Quoted 4 lines

Best regards,
Krzysztof

#4 lore raw

PATCH v3 2/2 arm64: dts: qcom: Add support for QCS615 talos evk board

In reply to Sudarshan Shetty

Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware
components: the talos-evk-som and the talos-evk carrier board.

The talos-evk-som is a compact System on Module that integrates the QCS615 SoC, PMIC, and essential GPIO connectivity. It follows the SMARC standard, which defines a modular form factor allowing the SoM to be paired with different carrier boards for varied applications.

The talos-evk is one such carrier board, designed for evaluation and development purposes. It provides additional peripherals such as UART, USB, and other interfaces to enable rapid prototyping and hardware bring-up.

This initial device tree provides the basic configuration needed to boot the platform to a UART shell. Further patches will extend support for additional peripherals and subsystems.

The initial device tree includes basic support for:

- CPU and memory

- UART

- GPIOs

- Regulators

- PMIC

- Early console

- AT24MAC602 EEPROM

- MCP2515 SPI to CAN

QCS615 talos-evk uses a Quectel AF68E WiFi/BT module (PCIe for WiFi and UART for Bluetooth), which is different from the RIDE platform. Plan to enable these in a follow-up patch series.

---
 arch/arm64/boot/dts/qcom/Makefile           |   1 +
 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 435 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/talos-evk.dts      |  42 ++
 3 files changed, 478 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
index 5b52f9e4e5f3..282d744acd73 100644
@@ -305,6 +305,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8650-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8650-qrd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8750-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8750-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= talos-evk.dtb
 x1e001de-devkit-el2-dtbs	:= x1e001de-devkit.dtb x1-el2.dtbo
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
 x1e78100-lenovo-thinkpad-t14s-el2-dtbs	:= x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +435 -0

435 lines not on this page · raw message

arch/arm64/boot/dts/qcom/talos-evk.dts new file +41 -0

41 lines not on this page · raw message

Signature · 1 line
2.34.1
#5 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board

Quoted 50 lines · Sudarshan Shetty

Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware
components: the talos-evk-som and the talos-evk carrier board.

The talos-evk-som is a compact System on Module that integrates the QCS615 SoC, PMIC, and essential GPIO connectivity. It follows the SMARC standard, which defines a modular form factor allowing the SoM to be paired with different carrier boards for varied applications.

The talos-evk is one such carrier board, designed for evaluation and development purposes. It provides additional peripherals such as UART, USB, and other interfaces to enable rapid prototyping and hardware bring-up.

This initial device tree provides the basic configuration needed to boot the platform to a UART shell. Further patches will extend support for additional peripherals and subsystems.

The initial device tree includes basic support for:

- CPU and memory

- UART

- GPIOs

- Regulators

- PMIC

- Early console

- AT24MAC602 EEPROM

- MCP2515 SPI to CAN

QCS615 talos-evk uses a Quectel AF68E WiFi/BT module (PCIe for WiFi and UART for Bluetooth), which is different from the RIDE platform. Plan to enable these in a follow-up patch series.

---
 arch/arm64/boot/dts/qcom/Makefile           |   1 +
 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 435 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/talos-evk.dts      |  42 ++
 3 files changed, 478 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 41

Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +8 -0
+
+	extcon_usb_1: extcon-usb-1 {
+		compatible = "linux,extcon-usb-gpio";
+		vbus-gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
+		id-gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
+		pinctrl-0 = <&usb1_vbus_det_default &usb1_id_det_default>;
+		pinctrl-names = "default";
+	};

Given that we are trying to switch to flattened DWC3 nodes and we are not going to support extcon in such a configuration (commit aeb0169217eb ("usb: dwc3: qcom: Remove extcon functionality from glue layer")), I don't think this is a way to go. Please add a proper gpio-usb-b-connector node.

Also... This is not correct if SW1 is switched to the USB-Host. The ID is still connected to the micro-USB port and so it might generate some unpredicted interference. Unfortunately, DT isn't well-fitting for describing board options and SW1 is definitely an SoM option. Depending on its position the EVK should either use this gpio-usb-b-connector or an onboard USB hub (which ideally should also be described in DT). So, it feels like you need two different DT files, one for each SW1 position.

Quoted 12 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +12 -0
+
+&pm8150_gpios {
+	usb2_en: usb2-en-state {
+		pins = "gpio10";
+		function = "normal";
+		output-enable;
+		power-source = <0>;
+	};
+
+	usb1_vbus_det_default: usb1-vbus-det-default-state {
+		pins = "gpio6";
+		function = "normal";

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 284

Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10 -0
+		output-enable;
+		power-source = <0>;
+	};
+
+	usb1_id_det_default: usb1-id-det-default-state {
+		pins = "gpio7";
+		function = "normal";
+		output-enable;
+		power-source = <0>;
+	};

Do you want to also describe gpio8 here?

Quoted 2 lines
(quoted diff) +2 -0
+};
+

[...]

Quoted 13 lines

+&usb_1_hsphy {

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +12 -0
+	vdd-supply = <&vreg_l5a>;
+	vdda-pll-supply = <&vreg_l12a>;
+	vdda-phy-dpdm-supply = <&vreg_l13a>;
+
+	status = "okay";
+};
+
+&usb_qmpphy {
+	vdda-phy-supply = <&vreg_l5a>;
+	vdda-pll-supply = <&vreg_l12a>;
+
+	status = "okay";

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 392

Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10 -0
+};
+
+&usb_1 {
+	status = "okay";
+};
+
+/*
+ * USB1 port supports both host and device modes.
+ * By default, it operates in device mode.
+ * To enable host mode, set switch SW1 to 'ON' position on the SoM.

Is it device mode or is it an OTG mode? I don't have carrier board schematics, so I don't see if it is possible to enable VBUS on the micro-USB or not.

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 396

Quoted 4 lines

+ */

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +3 -0
+
+&usb_1_dwc3 {
+	dr_mode = "otg";

JFYI: it's a default and can be omitted. Only host / peripheral needs to be specified explicitly.

Quoted 3 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +3 -0
+	extcon = <&extcon_usb_1>;
+};
+
Signature · 2 lines
With best wishes
Dmitry
#6 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board

Quoted 66 lines · Dmitry Baryshkov
Quoted 50 lines · Sudarshan Shetty

Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware
components: the talos-evk-som and the talos-evk carrier board.

The talos-evk-som is a compact System on Module that integrates the QCS615 SoC, PMIC, and essential GPIO connectivity. It follows the SMARC standard, which defines a modular form factor allowing the SoM to be paired with different carrier boards for varied applications.

The talos-evk is one such carrier board, designed for evaluation and development purposes. It provides additional peripherals such as UART, USB, and other interfaces to enable rapid prototyping and hardware bring-up.

This initial device tree provides the basic configuration needed to boot the platform to a UART shell. Further patches will extend support for additional peripherals and subsystems.

The initial device tree includes basic support for:

- CPU and memory

- UART

- GPIOs

- Regulators

- PMIC

- Early console

- AT24MAC602 EEPROM

- MCP2515 SPI to CAN

QCS615 talos-evk uses a Quectel AF68E WiFi/BT module (PCIe for WiFi and UART for Bluetooth), which is different from the RIDE platform. Plan to enable these in a follow-up patch series.

---
 arch/arm64/boot/dts/qcom/Makefile           |   1 +
 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 435 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/talos-evk.dts      |  42 ++
 3 files changed, 478 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 41

Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +8 -0
+
+	extcon_usb_1: extcon-usb-1 {
+		compatible = "linux,extcon-usb-gpio";
+		vbus-gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
+		id-gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
+		pinctrl-0 = <&usb1_vbus_det_default &usb1_id_det_default>;
+		pinctrl-names = "default";
+	};

Given that we are trying to switch to flattened DWC3 nodes and we are not going to support extcon in such a configuration (commit aeb0169217eb ("usb: dwc3: qcom: Remove extcon functionality from glue layer")), I don't think this is a way to go. Please add a proper gpio-usb-b-connector node.

Quoted 8 lines

Also... This is not correct if SW1 is switched to the USB-Host. The ID is still connected to the micro-USB port and so it might generate some unpredicted interference. Unfortunately, DT isn't well-fitting for describing board options and SW1 is definitely an SoM option. Depending on its position the EVK should either use this gpio-usb-b-connector or an onboard USB hub (which ideally should also be described in DT). So, it feels like you need two different DT files, one for each SW1 position.

Thanks for the review.
The USB1 port on this board supports both host and device roles, selectable using the SW1 switch on the SoM.

The board does not have VBUS or ID detect GPIOs — role selection is purely manual via the hardware switch

The VBUS 5 V is sourced from the fixed 5 V rail (V5P0_OUT), which is always on and not controlled by GPIO or regulator.

As suggested,
it feels like need two different DT files, one for each SW1 position. talos-evk-som.dtsi - device-only mode talos-evk-usbhost.dts - host-only mode

will it be okay to proceed with above scenario?

Quoted 51 lines
Quoted 13 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +12 -0
+
+&pm8150_gpios {
+	usb2_en: usb2-en-state {
+		pins = "gpio10";
+		function = "normal";
+		output-enable;
+		power-source = <0>;
+	};
+
+	usb1_vbus_det_default: usb1-vbus-det-default-state {
+		pins = "gpio6";
+		function = "normal";

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 284

Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10 -0
+		output-enable;
+		power-source = <0>;
+	};
+
+	usb1_id_det_default: usb1-id-det-default-state {
+		pins = "gpio7";
+		function = "normal";
+		output-enable;
+		power-source = <0>;
+	};

Do you want to also describe gpio8 here?

Quoted 2 lines
(quoted diff) +2 -0
+};
+

[...]

Quoted 19 lines

+&usb_1_hsphy {

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +18 -0
+	vdd-supply = <&vreg_l5a>;
+	vdda-pll-supply = <&vreg_l12a>;
+	vdda-phy-dpdm-supply = <&vreg_l13a>;
+
+	status = "okay";
+};
+
+&usb_qmpphy {
+	vdda-phy-supply = <&vreg_l5a>;
+	vdda-pll-supply = <&vreg_l12a>;
+
+	status = "okay";
+};
+
+&usb_1 {
+	status = "okay";
+};
+
Quoted 8 lines
Quoted 4 lines

+/*
+ * USB1 port supports both host and device modes.
+ * By default, it operates in device mode.
+ * To enable host mode, set switch SW1 to 'ON' position on the SoM.

Is it device mode or is it an OTG mode? I don't have carrier board schematics, so I don't see if it is possible to enable VBUS on the micro-USB or not.

The board default in device mode.
The USB1 port role is determined entirely by the hardware switch SW1 on the SoM:

There are no ID or VBUS detect pins, so dynamic OTG switching is not possible. dr_mode in the DTS is therefore set explicitly to "peripheral" for device mode or "host" for host mode.

Quoted 8 lines

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 396

Quoted 5 lines

+ */

arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +3 -0
+
+&usb_1_dwc3 {
+	dr_mode = "otg";

JFYI: it's a default and can be omitted. Only host / peripheral needs to be specified explicitly.

Sure, will update in v4 patch accordingly,

Quoted 5 lines
Quoted 4 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +3 -0
+	extcon = <&extcon_usb_1>;
+};
+
#7 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board

In reply to Sudarshan Shetty
Quoted 9 lines · Sudarshan Shetty

Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware
components: the talos-evk-som and the talos-evk carrier board.

The talos-evk-som is a compact System on Module that integrates the QCS615 SoC, PMIC, and essential GPIO connectivity. It follows the SMARC standard, which defines a modular form factor allowing the SoM to be paired with different carrier boards for varied applications.

You already sent next patch so this is simply incomplete. Please squash other work here.

Best regards,
Krzysztof

#8 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board

Quoted 6 lines · Krzysztof Kozlowski
Quoted 5 lines · Sudarshan Shetty

Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware
components: the talos-evk-som and the talos-evk carrier board.

Quoted 7 lines
Quoted 4 lines

The talos-evk-som is a compact System on Module that integrates the QCS615 SoC, PMIC, and essential GPIO connectivity. It follows the SMARC standard, which defines a modular form factor allowing the SoM to be paired with different carrier boards for varied applications.

You already sent next patch so this is simply incomplete. Please squash other work here.

Understood!
Will squash other work here in v4 patch.

Quoted 3 lines

Best regards,
Krzysztof