* [PATCH v9 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support
@ 2025-12-01 17:22 Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
0 siblings, 2 replies; 6+ messages in thread
From: Sudarshan Shetty @ 2025-12-01 17:22 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Hi all,
This patch series adds device tree binding and board support for the
Qualcomm Technologies, Inc. Talos EVK SMARC platform based on the
QCS615 SoC.
The first patch introduces the DT binding entry for the Talos EVK
SMARC board, and the second patch adds the corresponding DTS
files for the platform.
Note:
USB(usb_1_dwc3) supports host-only mode based on the switch SW1 on
the SoM, which is purely a hardware controlled as USB-ID and USB-VBUS
is not connected the switching cannot be handled from SW.
Hence from SW Host-only mode is supported on Linux boot up.
Changes in v9:
- The updates in the following patch url is taken care in this
patch series.
https://lists.freedesktop.org/archives/dri-devel/2025-November/534473.html
- Ignore v8 patch
Changes in v8:
- This patch series depends on the below url
https://lists.freedesktop.org/archives/dri-devel/2025-November/534473.html
- Moved the contents of `talos-evk-cb.dtsi` to `talos-evk.dtsi`
which will describe all the standard configuration of the EVK.
- Introduced 'talos-evk-lvds-auo,g133han01.dtso' which has overlay
to disable HDMI and adds the LVDS-related on top of the base
dts file. (suggested by Bjorn)
- Ethernet and Wi-Fi/BT are not (yet) supported.
- Updated commit message.
- No functional change in bindings file.
Changes in v7:
- Added i2c clock frequency for i2c5 node.
- Moved adv7535 controller section to talos-evk.dts file.
- Reorder the usb nodes.
- GPI_DMA nodes added in the device tree files.
- No functional change in bindings file.
Changes in v6:
- Clarified description of `talos-evk-cb.dtsi` to explain that it
defines common carrier board interfaces shared between HDMI and
LVDS variants, And It’s a single carrier board. HDMI and LVDS
share the same DSI interface, and only one can be active at a
time depending on a DIP switch.
- Added missing newlines before 'status' and between the last property
and subnode (suggested by Konrad).
- Updated commit messages for clarity.
Changes in v5:
- Updated commit message. (suggested by Krzysztof)
- Introduced generic node name for can, dp, hdmi-bridge. (suggested by
Krzysztof)
- Introduced talos-evk-cb.dtsi, which has common carrier board
interfaces.
- No functional change in bindings file.
Changes in v4:
- Updated product name to full form per Krzysztof’s feedback in
dt-binding comment.
- Hook up the ADV7535 DSI-to-HDMI bridge to base DTS file.
- Add DP connector node and MDSS DisplayPort controller.
- Added USB note in the cover letter for maintainers' awareness.
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 (Krzysztof)
- Fixed subject and commit message to use imperative mood.
Thanks,
Sudarshan
Sudarshan Shetty (2):
dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 3 +
.../qcom/talos-evk-lvds-auo,g133han01.dtso | 131 +++++
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 447 ++++++++++++++++++
arch/arm64/boot/dts/qcom/talos-evk.dts | 137 ++++++
5 files changed, 719 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v9 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2025-12-01 17:22 [PATCH v9 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
@ 2025-12-01 17:22 ` Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
1 sibling, 0 replies; 6+ messages in thread
From: Sudarshan Shetty @ 2025-12-01 17:22 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty, Krzysztof Kozlowski
Add binding support for the Qualcomm Technologies, Inc. Talos EVK
SMARC platform based on the QCS615 SoC.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 0a3222d6f368..a323be3d2ba2 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -862,6 +862,7 @@ properties:
- items:
- enum:
- qcom,qcs615-ride
+ - qcom,talos-evk
- const: qcom,qcs615
- const: qcom,sm6150
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-01 17:22 [PATCH v9 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
@ 2025-12-01 17:22 ` Sudarshan Shetty
2025-12-05 10:52 ` Konrad Dybcio
2025-12-05 23:21 ` Dmitry Baryshkov
1 sibling, 2 replies; 6+ messages in thread
From: Sudarshan Shetty @ 2025-12-01 17:22 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Add the device tree for the QCS615-based Talos EVK platform. The
platform is composed of a System-on-Module following the SMARC
standard, and a Carrier Board.
The Carrier Board supports several display configurations, HDMI and
LVDS. Both configurations use the same base hardware, with the display
selection controlled by a DIP switch.
Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
overlay that disables HDMI and adds LVDS. The DTs file talos-evk
can describe the HDMI display configurations.
The initial device tree includes support for:
- CPU and memory
- UART
- GPIOs
- Regulators
- PMIC
- Early console
- AT24MAC602 EEPROM
- MCP2515 SPI to CAN
- ADV7535 DSI-to-HDMI bridge
- DisplayPort interface
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
arch/arm64/boot/dts/qcom/Makefile | 3 +
.../qcom/talos-evk-lvds-auo,g133han01.dtso | 131 +++++
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 447 ++++++++++++++++++
arch/arm64/boot/dts/qcom/talos-evk.dts | 137 ++++++
4 files changed, 718 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 5b52f9e4e5f3..94c20074397c 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -305,6 +305,9 @@ 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
+talos-evk-lvds-auo,g133han01-dtbs := talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.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
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
new file mode 100644
index 000000000000..2a90d61892e7
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
@@ -0,0 +1,131 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ backlight: backlight {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
+ hdmi-out {
+ status = "disabled";
+ };
+
+ lcd-pwm-en {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
+ panel-lvds {
+ compatible = "auo,g133han01";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* LVDS A (Odd pixels) */
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ lvds_panel_out_a: endpoint {
+ remote-endpoint = <&sn65dsi84_out_a>;
+ };
+ };
+
+ /* LVDS B (Even pixels) */
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ lvds_panel_out_b: endpoint {
+ remote-endpoint = <&sn65dsi84_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ bridge@3d {
+ status = "disabled";
+ };
+
+ bridge: bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+ ti,dsi-lanes = <4>;
+ ti,lvds-format = "jeida-24";
+ ti,lvds-bpp = <24>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sn65dsi84_in: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ sn65dsi84_out_a: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_a>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ sn65dsi84_out_b: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&sn65dsi84_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&tlmm {
+ lcd_bklt_en: lcd-bklt-en-state {
+ pins = "gpio115";
+ function = "gpio";
+ bias-disable;
+ };
+
+ lcd_bklt_pwm: lcd-bklt-pwm-state {
+ pins = "gpio59";
+ function = "gpio";
+ bias-disable;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
new file mode 100644
index 000000000000..91beafe37342
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
@@ -0,0 +1,447 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "talos.dtsi"
+#include "pm8150.dtsi"
+/ {
+ aliases {
+ mmc0 = &sdhc_1;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32764>;
+ #clock-cells = <0>;
+ };
+
+ xo_board_clk: xo-board-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <38400000>;
+ #clock-cells = <0>;
+ };
+ };
+
+ regulator-usb2-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "USB2_VBUS";
+ gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&usb2_en>;
+ pinctrl-names = "default";
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ vreg_v3p3_can: regulator-v3p3-can {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v3p3-can";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v5p0_can: regulator-v5p0-can {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v5p0-can";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm8150-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vreg_s3a: smps3 {
+ regulator-name = "vreg_s3a";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <650000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s4a: smps4 {
+ regulator-name = "vreg_s4a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1829000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s5a: smps5 {
+ regulator-name = "vreg_s5a";
+ regulator-min-microvolt = <1896000>;
+ regulator-max-microvolt = <2040000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s6a: smps6 {
+ regulator-name = "vreg_s6a";
+ regulator-min-microvolt = <1304000>;
+ regulator-max-microvolt = <1404000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1a: ldo1 {
+ regulator-name = "vreg_l1a";
+ regulator-min-microvolt = <488000>;
+ regulator-max-microvolt = <852000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2a: ldo2 {
+ regulator-name = "vreg_l2a";
+ regulator-min-microvolt = <1650000>;
+ regulator-max-microvolt = <3100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3a: ldo3 {
+ regulator-name = "vreg_l3a";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1248000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5a: ldo5 {
+ regulator-name = "vreg_l5a";
+ regulator-min-microvolt = <875000>;
+ regulator-max-microvolt = <975000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a: ldo7 {
+ regulator-name = "vreg_l7a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1900000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8a: ldo8 {
+ regulator-name = "vreg_l8a";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10a: ldo10 {
+ regulator-name = "vreg_l10a";
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11a: ldo11 {
+ regulator-name = "vreg_l11a";
+ regulator-min-microvolt = <1232000>;
+ regulator-max-microvolt = <1260000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12a: ldo12 {
+ regulator-name = "vreg_l12a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1890000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13a: ldo13 {
+ regulator-name = "vreg_l13a";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3230000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15a: ldo15 {
+ regulator-name = "vreg_l15a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16a: ldo16 {
+ regulator-name = "vreg_l16a";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17a: ldo17 {
+ regulator-name = "vreg_l17a";
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&gpi_dma0 {
+ status = "okay";
+};
+
+&gpi_dma1 {
+ status = "okay";
+};
+
+&i2c5 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ eeprom@57 {
+ compatible = "atmel,24c02";
+ reg = <0x57>;
+ pagesize = <16>;
+ };
+
+ eeprom@5f {
+ compatible = "atmel,24mac602";
+ reg = <0x5f>;
+ pagesize = <16>;
+ };
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp0 {
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
+ remote-endpoint = <&dp0_connector_in>;
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&pcie {
+ perst-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&pcie_default_state>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+
+ status = "okay";
+};
+
+&pm8150_gpios {
+ usb2_en: usb2-en-state {
+ pins = "gpio10";
+ function = "normal";
+ output-enable;
+ power-source = <0>;
+ };
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/qcs615/adsp.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/qcs615/cdsp.mbn";
+
+ status = "okay";
+};
+
+&sdhc_1 {
+ pinctrl-0 = <&sdc1_state_on>;
+ pinctrl-1 = <&sdc1_state_off>;
+ pinctrl-names = "default", "sleep";
+
+ bus-width = <8>;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ mmc-hs400-enhanced-strobe;
+ vmmc-supply = <&vreg_l17a>;
+ vqmmc-supply = <&vreg_s4a>;
+
+ non-removable;
+ no-sd;
+ no-sdio;
+
+ status = "okay";
+};
+
+&spi6 {
+ status = "okay";
+
+ can@0 {
+ compatible = "microchip,mcp2515";
+ reg = <0>;
+ clock-frequency = <20000000>;
+ interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>;
+ spi-max-frequency = <10000000>;
+ vdd-supply = <&vreg_v3p3_can>;
+ xceiver-supply = <&vreg_v5p0_can>;
+ };
+};
+
+&tlmm {
+ pcie_default_state: pcie-default-state {
+ clkreq-pins {
+ pins = "gpio90";
+ function = "pcie_clk_req";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio101";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ wake-pins {
+ pins = "gpio100";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_hsphy {
+ vdd-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+ vdda-phy-dpdm-supply = <&vreg_l13a>;
+
+ status = "okay";
+};
+
+&usb_2 {
+ status = "okay";
+};
+
+&usb_2_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_hsphy_2 {
+ 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_qmpphy_2 {
+ vdda-phy-supply = <&vreg_l11a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
+ vcc-supply = <&vreg_l17a>;
+ vcc-max-microamp = <600000>;
+ vccq2-supply = <&vreg_s4a>;
+ vccq2-max-microamp = <600000>;
+
+ status = "okay";
+};
+
+&ufs_mem_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+
+ status = "okay";
+};
+
+&venus {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/talos-evk.dts b/arch/arm64/boot/dts/qcom/talos-evk.dts
new file mode 100644
index 000000000000..02656bc3cdcb
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk.dts
@@ -0,0 +1,137 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+
+#include "talos-evk-som.dtsi"
+
+/ {
+ model = "Qualcomm QCS615 IQ 615 EVK";
+ compatible = "qcom,talos-evk", "qcom,qcs615", "qcom,sm6150";
+ chassis-type = "embedded";
+
+ aliases {
+ mmc1 = &sdhc_2;
+ };
+
+ dp0-connector {
+ compatible = "dp-connector";
+ label = "DP0";
+ type = "full-size";
+
+ hpd-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
+
+ port {
+ dp0_connector_in: endpoint {
+ remote-endpoint = <&mdss_dp0_out>;
+ };
+ };
+ };
+
+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "d";
+
+ port {
+ hdmi_con_out: endpoint {
+ remote-endpoint = <&adv7535_out>;
+ };
+ };
+ };
+
+ vreg_v1p8_out: regulator-v1p8-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v1p8-out";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vreg_v5p0_out>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v3p3_out: regulator-v3p3-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v3p3-out";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vreg_v5p0_out>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v5p0_out: regulator-v5p0-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v5p0-out";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ /* Powered by system 20V rail (USBC_VBUS_IN) */
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+ status = "okay";
+ bridge: bridge@3d {
+ compatible = "adi,adv7535";
+ reg = <0x3d>;
+ avdd-supply = <&vreg_v1p8_out>;
+ dvdd-supply = <&vreg_v1p8_out>;
+ pvdd-supply = <&vreg_v1p8_out>;
+ a2vdd-supply = <&vreg_v1p8_out>;
+ v3p3-supply = <&vreg_v3p3_out>;
+ interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
+ adi,dsi-lanes = <4>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ adv7535_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ adv7535_out: endpoint {
+ remote-endpoint = <&hdmi_con_out>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&adv7535_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+
+ status = "okay";
+};
+
+&sdhc_2 {
+ pinctrl-0 = <&sdc2_state_on>;
+ pinctrl-1 = <&sdc2_state_off>;
+ pinctrl-names = "default", "sleep";
+
+ bus-width = <4>;
+ cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
+
+ vmmc-supply = <&vreg_l10a>;
+ vqmmc-supply = <&vreg_s4a>;
+
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-01 17:22 ` [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
@ 2025-12-05 10:52 ` Konrad Dybcio
2025-12-15 13:30 ` tessolveupstream
2025-12-05 23:21 ` Dmitry Baryshkov
1 sibling, 1 reply; 6+ messages in thread
From: Konrad Dybcio @ 2025-12-05 10:52 UTC (permalink / raw)
To: Sudarshan Shetty, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 12/1/25 6:22 PM, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
[...]
> + hdmi-out {
You must refer to existing nodes by &label references - let's call
this one hdmi_connector: hdmi-out {}
[...]
> +&i2c1 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + bridge@3d {
> + status = "disabled";
> + };
Similarly here - hdmi_bridge: bridge@3d {}
> +
> + bridge: bridge@2c {
lvds_bridge:
[...]
+
> + sn65dsi84_in: endpoint {
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&mdss_dsi0_out>;
The formatting fell apart a little here - please give it a touch-up
[...]
> +&tlmm {
> + pcie_default_state: pcie-default-state {
> + clkreq-pins {
> + pins = "gpio90";
> + function = "pcie_clk_req";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio101";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-down;
bias-disable - this pin is active-low
[...]
> +&i2c1 {
> + clock-frequency = <400000>;
> + status = "okay";
> + bridge: bridge@3d {
This really needs a \n above
> + compatible = "adi,adv7535";
> + reg = <0x3d>;
> + avdd-supply = <&vreg_v1p8_out>;
> + dvdd-supply = <&vreg_v1p8_out>;
> + pvdd-supply = <&vreg_v1p8_out>;
> + a2vdd-supply = <&vreg_v1p8_out>;
> + v3p3-supply = <&vreg_v3p3_out>;
> + interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
> + adi,dsi-lanes = <4>;
> + ports {
And here
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-01 17:22 ` [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
2025-12-05 10:52 ` Konrad Dybcio
@ 2025-12-05 23:21 ` Dmitry Baryshkov
1 sibling, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2025-12-05 23:21 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On Mon, Dec 01, 2025 at 10:52:22PM +0530, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
>
> The Carrier Board supports several display configurations, HDMI and
> LVDS. Both configurations use the same base hardware, with the display
> selection controlled by a DIP switch.
>
> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
> can describe the HDMI display configurations.
>
> The initial device tree includes support for:
> - CPU and memory
> - UART
> - GPIOs
> - Regulators
> - PMIC
> - Early console
> - AT24MAC602 EEPROM
> - MCP2515 SPI to CAN
> - ADV7535 DSI-to-HDMI bridge
> - DisplayPort interface
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 3 +
> .../qcom/talos-evk-lvds-auo,g133han01.dtso | 131 +++++
> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 447 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/talos-evk.dts | 137 ++++++
> 4 files changed, 718 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 5b52f9e4e5f3..94c20074397c 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -305,6 +305,9 @@ 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
> +talos-evk-lvds-auo,g133han01-dtbs := talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.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
> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> new file mode 100644
> index 000000000000..2a90d61892e7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> @@ -0,0 +1,131 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
> +
> + hdmi-out {
> + status = "disabled";
> + };
> +
> + lcd-pwm-en {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
I really don't like the idea of describing two separate backlight
devices here. We have a single backlight on the panel, controlled by two
GPIOs. I think, using GPIO instead of a PWM is a sensible enough usecase
to let DT use two GPIOs in gpio-backlight (with corresponding changes to
the bindings and the driver).
> +
> + panel-lvds {
> + compatible = "auo,g133han01";
backlight = <&backlight>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* LVDS A (Odd pixels) */
> + port@0 {
> + reg = <0>;
> + dual-lvds-odd-pixels;
> +
> + lvds_panel_out_a: endpoint {
> + remote-endpoint = <&sn65dsi84_out_a>;
> + };
> + };
> +
> + /* LVDS B (Even pixels) */
> + port@1 {
> + reg = <1>;
> + dual-lvds-even-pixels;
> +
> + lvds_panel_out_b: endpoint {
> + remote-endpoint = <&sn65dsi84_out_b>;
> + };
> + };
> + };
> + };
> +};
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-05 10:52 ` Konrad Dybcio
@ 2025-12-15 13:30 ` tessolveupstream
0 siblings, 0 replies; 6+ messages in thread
From: tessolveupstream @ 2025-12-15 13:30 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 05-12-2025 16:22, Konrad Dybcio wrote:
> On 12/1/25 6:22 PM, Sudarshan Shetty wrote:
>> Add the device tree for the QCS615-based Talos EVK platform. The
>> platform is composed of a System-on-Module following the SMARC
>> standard, and a Carrier Board.
>
> [...]
>
>> + hdmi-out {
>
> You must refer to existing nodes by &label references - let's call
> this one hdmi_connector: hdmi-out {}
>
Okay, will update in v10 patch.
> [...]
>
>> +&i2c1 {
>> + clock-frequency = <400000>;
>> +
>> + status = "okay";
>> +
>> + bridge@3d {
>> + status = "disabled";
>> + };
>
> Similarly here - hdmi_bridge: bridge@3d {}
>
Okay.
>> +
>> + bridge: bridge@2c {
>
> lvds_bridge:
>
Okay, got it. > [...]
>
> +
>> + sn65dsi84_in: endpoint {
>> + data-lanes = <0 1 2 3>;
>> + remote-endpoint = <&mdss_dsi0_out>;
>
> The formatting fell apart a little here - please give it a touch-up
>
Okay, will update in v10 patch.
> [...]
> >> +&tlmm {
>> + pcie_default_state: pcie-default-state {
>> + clkreq-pins {
>> + pins = "gpio90";
>> + function = "pcie_clk_req";
>> + drive-strength = <2>;
>> + bias-pull-up;
>> + };
>> +
>> + perst-pins {
>> + pins = "gpio101";
>> + function = "gpio";
>> + drive-strength = <2>;
>> + bias-pull-down;
>
> bias-disable - this pin is active-low
>
Okay, got it. Will update in next patch
> [...]
>
>> +&i2c1 {
>> + clock-frequency = <400000>;
>> + status = "okay";
>> + bridge: bridge@3d {
>
> This really needs a \n above
Okay.
>> + compatible = "adi,adv7535";
>> + reg = <0x3d>;
>> + avdd-supply = <&vreg_v1p8_out>;
>> + dvdd-supply = <&vreg_v1p8_out>;
>> + pvdd-supply = <&vreg_v1p8_out>;
>> + a2vdd-supply = <&vreg_v1p8_out>;
>> + v3p3-supply = <&vreg_v3p3_out>;
>> + interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
>> + adi,dsi-lanes = <4>;
>> + ports {
>
> And here
Understood, will take care in v10 patch.
>
> Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-12-15 13:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-01 17:22 [PATCH v9 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
2025-12-01 17:22 ` [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
2025-12-05 10:52 ` Konrad Dybcio
2025-12-15 13:30 ` tessolveupstream
2025-12-05 23:21 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).