* [PATCH v4 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support @ 2025-10-28 5:32 Sudarshan Shetty 2025-10-28 5:32 ` [PATCH v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-10-28 5:32 ` [PATCH v4 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-10-28 5:32 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 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 | 1 + arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 442 ++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 134 ++++++ 4 files changed, 578 insertions(+) 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 v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform 2025-10-28 5:32 [PATCH v4 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty @ 2025-10-28 5:32 ` Sudarshan Shetty 2025-10-28 7:54 ` Krzysztof Kozlowski 2025-10-28 5:32 ` [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty 1 sibling, 1 reply; 6+ messages in thread From: Sudarshan Shetty @ 2025-10-28 5:32 UTC (permalink / raw) To: andersson, konradybcio Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, Sudarshan Shetty Add binding support for the Qualcomm Technologies, Inc. Talos EVK SMARC platform based on the QCS615 SoC. 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
* Re: [PATCH v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform 2025-10-28 5:32 ` [PATCH v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty @ 2025-10-28 7:54 ` Krzysztof Kozlowski 0 siblings, 0 replies; 6+ messages in thread From: Krzysztof Kozlowski @ 2025-10-28 7:54 UTC (permalink / raw) To: Sudarshan Shetty Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Tue, Oct 28, 2025 at 11:02:47AM +0530, Sudarshan Shetty wrote: > Add binding support for the Qualcomm Technologies, Inc. Talos EVK > SMARC platform based on the QCS615 SoC. > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 1 + > 1 file changed, 1 insertion(+) Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-10-28 5:32 [PATCH v4 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty 2025-10-28 5:32 ` [PATCH v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty @ 2025-10-28 5:32 ` Sudarshan Shetty 2025-10-28 7:59 ` Krzysztof Kozlowski 1 sibling, 1 reply; 6+ messages in thread From: Sudarshan Shetty @ 2025-10-28 5:32 UTC (permalink / raw) To: andersson, konradybcio Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, 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 - Hook up the ADV7535 DSI-to-HDMI bridge - Add DP connector node and MDSS DisplayPort controller. 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. Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 442 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 134 ++++++ 3 files changed, 577 insertions(+) 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..282d744acd73 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -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 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..21f9e4f4f5be --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi @@ -0,0 +1,442 @@ +// 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 "sm6150.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>; + }; + }; +}; + +&i2c5 { + 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_dp_phy { + vdda-phy-supply = <&vreg_l11a>; + vdda-pll-supply = <&vreg_l5a>; + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l11a>; + + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <&adv7535_in>; + data-lanes = <0 1 2 3>; +}; + +&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"; + + mcp2515@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_hsphy { + 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"; +}; + +&usb_1_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_2 { + status = "okay"; +}; + +&usb_2_dwc3 { + dr_mode = "host"; +}; + +&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..5c2ac67383e7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts @@ -0,0 +1,133 @@ +// 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_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) */ + }; + + 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_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; + }; +}; + +&i2c1 { + clock-frequency = <400000>; + + status = "okay"; + + adv7535: adv7535@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>; + }; + }; + }; + }; +}; + +&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 v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-10-28 5:32 ` [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty @ 2025-10-28 7:59 ` Krzysztof Kozlowski 2025-10-28 12:26 ` Tessolve Upstream 0 siblings, 1 reply; 6+ messages in thread From: Krzysztof Kozlowski @ 2025-10-28 7:59 UTC (permalink / raw) To: Sudarshan Shetty Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Tue, Oct 28, 2025 at 11:02:48AM +0530, Sudarshan Shetty wrote: > 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. Drop paragraph, completely redundant. Please write concise, informative messages, not something redundant and obvious. Or worse - marketing junk. > > 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. Drop paragraph, it is contradictory to the next one. > > The initial device tree includes basic support for: > > - CPU and memory > Drop blank lines between each of points. No need to inflate already huge commit msg. > - UART > > - GPIOs > > - Regulators > > - PMIC > > - Early console > > - AT24MAC602 EEPROM > > - MCP2515 SPI to CAN > > - Hook up the ADV7535 DSI-to-HDMI bridge > > - Add DP connector node and MDSS DisplayPort controller. > > 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. Drop plans, not related. I also do not understand why you mention here RIDE. Does it mean you are duplicating the board? > .. > +&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"; > + > + mcp2515@0 { Still no improvements. Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation If you cannot find a name matching your device, please check in kernel sources for similar cases or you can grow the spec (via pull request to DT spec repo). > + 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>; > + }; > +}; .. > 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..5c2ac67383e7 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts > @@ -0,0 +1,133 @@ > +// 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 { dp-connector, unless there is here dp1. But then follow standard practice of adding suffixes, so connector-0, connector-1, etc. I could understand dp-connector-1 if you find dp-connector here: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + 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>; > + }; > + }; > + }; ... > + > +&i2c1 { > + clock-frequency = <400000>; > + > + status = "okay"; > + > + adv7535: adv7535@3d { Still no improvements. Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation If you cannot find a name matching your device, please check in kernel sources for similar cases or you can grow the spec (via pull request to DT spec repo). Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-10-28 7:59 ` Krzysztof Kozlowski @ 2025-10-28 12:26 ` Tessolve Upstream 0 siblings, 0 replies; 6+ messages in thread From: Tessolve Upstream @ 2025-10-28 12:26 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On 28/10/25 13:29, Krzysztof Kozlowski wrote: > On Tue, Oct 28, 2025 at 11:02:48AM +0530, Sudarshan Shetty wrote: >> 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. > > Drop paragraph, completely redundant. Please write concise, informative > messages, not something redundant and obvious. Or worse - marketing > junk. Okay, will update in next patch. > >> >> 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. > > Drop paragraph, it is contradictory to the next one. Okay, will update in next patch. > >> >> The initial device tree includes basic support for: >> >> - CPU and memory >> > > Drop blank lines > > between > > each > > of > > points. No need to inflate already huge commit msg. Okay, will update in next patch. > > >> - UART >> >> - GPIOs >> >> - Regulators >> >> - PMIC >> >> - Early console >> >> - AT24MAC602 EEPROM >> >> - MCP2515 SPI to CAN >> >> - Hook up the ADV7535 DSI-to-HDMI bridge >> >> - Add DP connector node and MDSS DisplayPort controller. >> >> 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. > > Drop plans, not related. I also do not understand why you mention here > RIDE. Does it mean you are duplicating the board? > This comment is added as per Dmitry feedback. https://lore.kernel.org/all/qq4aak33bn3mqxd2edu6zgkkshby63mmitg7zqkly2rj4c2lh7@4s7sndb7e2jr/T/#m6f653d7b4bd9b014dcbd86a4680cfd64583e784d Let me know your thought on this again, I can remove and send the updated patch. >> > > .. > > >> +&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"; >> + >> + mcp2515@0 { > > Still no improvements. > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > If you cannot find a name matching your device, please check in kernel > sources for similar cases or you can grow the spec (via pull request to > DT spec repo). Understood, will update in next patch. > >> + 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>; >> + }; >> +}; > > .. > >> 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..5c2ac67383e7 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts >> @@ -0,0 +1,133 @@ >> +// 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 { > > dp-connector, unless there is here dp1. But then follow standard > practice of adding suffixes, so connector-0, connector-1, etc. I could > understand dp-connector-1 if you find dp-connector here: > > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation Understood, will update in next patch. > >> + 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>; >> + }; >> + }; >> + }; > > ... > >> + >> +&i2c1 { >> + clock-frequency = <400000>; >> + >> + status = "okay"; >> + >> + adv7535: adv7535@3d { > > Still no improvements. > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > If you cannot find a name matching your device, please check in kernel > sources for similar cases or you can grow the spec (via pull request to > DT spec repo). Understood, will update in next path. > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-10-28 12:26 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-28 5:32 [PATCH v4 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty 2025-10-28 5:32 ` [PATCH v4 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-10-28 7:54 ` Krzysztof Kozlowski 2025-10-28 5:32 ` [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty 2025-10-28 7:59 ` Krzysztof Kozlowski 2025-10-28 12:26 ` Tessolve Upstream
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).