* [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board
@ 2025-09-09 12:52 Sudarshan Shetty
2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty
` (3 more replies)
0 siblings, 4 replies; 28+ messages in thread
From: Sudarshan Shetty @ 2025-09-09 12:52 UTC (permalink / raw)
To: konradybcio
Cc: andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel, tingweiz, tessolveupstream
This adds binding support for the QCS615-based talos evk SMARC platform.
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 03a7d3c92ecd..a5dbe6af68ac 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -952,6 +952,12 @@ properties:
- const: qcom,qcs615
- const: qcom,sm6150
+ - items:
+ - enum:
+ - qcom,qcs615-iq-615-evk
+ - const: qcom,qcs615
+ - const: qcom,sm6150
+
- items:
- enum:
- qcom,sa8155p-adp
--
2.34.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 12:52 [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board Sudarshan Shetty @ 2025-09-09 12:52 ` Sudarshan Shetty 2025-09-09 13:58 ` Dmitry Baryshkov ` (2 more replies) 2025-09-09 13:50 ` [PATCH 1/2] dt-bindings: arm: qcom: add bindings " Dmitry Baryshkov ` (2 subsequent siblings) 3 siblings, 3 replies; 28+ messages in thread From: Sudarshan Shetty @ 2025-09-09 12:52 UTC (permalink / raw) To: konradybcio Cc: andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz, tessolveupstream 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 IQ-QCS615-SOM and the talos-evk carrier board. The IQ-QCS615-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 Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> --- This series depend on the below patch changes https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ 3 files changed, 457 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi new file mode 100644 index 000000000000..1b9b2581af42 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi @@ -0,0 +1,414 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> +#include <dt-bindings/gpio/gpio.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_LPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + 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>; + }; + }; +}; + +&gcc { + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&rpmhcc RPMH_CXO_CLK_A>, + <&sleep_clk>; +}; + +&i2c5 { + status = "okay"; + + eeprom@57 { + compatible = "atmel,24c02"; + reg = <0x57>; + pagesize = <16>; + }; + + eeprom@5f { + compatible = "atmel,24mac602"; + reg = <0x5f>; + pagesize = <16>; + }; +}; + +&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"; +}; + +&remoteproc_adsp { + firmware-name = "qcom/qcs615/adsp.mbn"; + status = "okay"; +}; + +&remoteproc_cdsp { + firmware-name = "qcom/qcs615/cdsp.mbn"; + status = "okay"; +}; + +&rpmhcc { + clocks = <&xo_board_clk>; +}; + +&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; + }; + }; +}; + +&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>; + }; +}; + +&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"; +}; + +&watchdog { + clocks = <&sleep_clk>; +}; 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..7500f051783f --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include "qcs615-som.dtsi" + +/ { + model = "Qualcomm QCS615 IQ 615 EVK"; + compatible = "qcom,qcs615-iq-615-evk", "qcom,qcs615", "qcom,sm6150"; + chassis-type = "embedded"; + + aliases { + mmc1 = &sdhc_2; + }; +}; + +&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] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty @ 2025-09-09 13:58 ` Dmitry Baryshkov 2025-09-16 5:52 ` Tessolve Upstream 2025-09-09 14:02 ` Dmitry Baryshkov 2025-09-09 14:26 ` Bjorn Andersson 2 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-09 13:58 UTC (permalink / raw) To: Sudarshan Shetty Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > > The IQ-QCS615-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 No WiFi/BT/ethernet? > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > > This series depend on the below patch changes > https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t > https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ This has been merged 9 months ago. Why do you mention it here? > https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t This one has been picked up in June. > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ > arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ > 3 files changed, 457 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo > diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > new file mode 100644 > index 000000000000..1b9b2581af42 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi talos-evk-som.dtsi? > @@ -0,0 +1,414 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/gpio/gpio.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_LPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + 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>; > + }; > + }; > +}; > + > +&gcc { > + clocks = <&rpmhcc RPMH_CXO_CLK>, > + <&rpmhcc RPMH_CXO_CLK_A>, > + <&sleep_clk>; Why do you need this? > +}; > + > +&i2c5 { > + status = "okay"; > + > + eeprom@57 { > + compatible = "atmel,24c02"; > + reg = <0x57>; > + pagesize = <16>; > + }; > + > + eeprom@5f { > + compatible = "atmel,24mac602"; > + reg = <0x5f>; > + pagesize = <16>; > + }; > +}; > + > +&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"; > +}; > + > +&remoteproc_adsp { > + firmware-name = "qcom/qcs615/adsp.mbn"; > + status = "okay"; Empty line before status, please. > +}; > + > +&remoteproc_cdsp { > + firmware-name = "qcom/qcs615/cdsp.mbn"; > + status = "okay"; > +}; > + > +&rpmhcc { > + clocks = <&xo_board_clk>; Why do you need this? > +}; > + > +&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; > + }; > + }; > +}; > + > +&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>; > + }; > +}; > + > +&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"; Is it actually the host-only interface? > +}; > + > +&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"; And this one? > +}; > + > +&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"; > +}; > + > +&watchdog { > + clocks = <&sleep_clk>; Why do you need this? > +}; -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 13:58 ` Dmitry Baryshkov @ 2025-09-16 5:52 ` Tessolve Upstream 2025-09-16 10:25 ` Dmitry Baryshkov 0 siblings, 1 reply; 28+ messages in thread From: Tessolve Upstream @ 2025-09-16 5:52 UTC (permalink / raw) To: Dmitry Baryshkov Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:28, Dmitry Baryshkov wrote: > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >> >> The IQ-QCS615-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 > > No WiFi/BT/ethernet? Networking peripherals such as WiFi/BT and Ethernet will be enabled in follow-up patches. > >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> >> This series depend on the below patch changes >> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t >> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ > > This has been merged 9 months ago. Why do you mention it here? > >> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t > > This one has been picked up in June. > >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >> 3 files changed, 457 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb >> >> qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo >> diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi >> new file mode 100644 >> index 000000000000..1b9b2581af42 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > > talos-evk-som.dtsi? Ack, will rename it to talos-evk-som.dtsi, Thanks > >> @@ -0,0 +1,414 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. >> + */ >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include <dt-bindings/gpio/gpio.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_LPM>; >> + regulator-allow-set-load; >> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM >> + 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>; >> + }; >> + }; >> +}; >> + >> +&gcc { >> + clocks = <&rpmhcc RPMH_CXO_CLK>, >> + <&rpmhcc RPMH_CXO_CLK_A>, >> + <&sleep_clk>; > > Why do you need this? This block is already present in sm6150.dtsi, will drop this in v2 patch. > >> +}; >> + >> +&i2c5 { >> + status = "okay"; >> + >> + eeprom@57 { >> + compatible = "atmel,24c02"; >> + reg = <0x57>; >> + pagesize = <16>; >> + }; >> + >> + eeprom@5f { >> + compatible = "atmel,24mac602"; >> + reg = <0x5f>; >> + pagesize = <16>; >> + }; >> +}; >> + >> +&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"; >> +}; >> + >> +&remoteproc_adsp { >> + firmware-name = "qcom/qcs615/adsp.mbn"; >> + status = "okay"; > > Empty line before status, please. Sure, will take care in v2 patch. > >> +}; >> + >> +&remoteproc_cdsp { >> + firmware-name = "qcom/qcs615/cdsp.mbn"; >> + status = "okay"; >> +}; >> + >> +&rpmhcc { >> + clocks = <&xo_board_clk>; > > Why do you need this? This block is already present in sm6150.dtsi, will drop this in v2 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; >> + }; >> + >> + wake-pins { >> + pins = "gpio100"; >> + function = "gpio"; >> + drive-strength = <2>; >> + bias-pull-up; >> + }; >> + }; >> +}; >> + >> +&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>; >> + }; >> +}; >> + >> +&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"; > > Is it actually the host-only interface? Yes, It is host-only interface. > >> +}; >> + >> +&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"; > > And this one? Yes, It is host-only interface. > >> +}; >> + >> +&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"; >> +}; >> + >> +&watchdog { >> + clocks = <&sleep_clk>; > > Why do you need this? This block is already present in sm6150.dtsi, will drop this in v2 patch. > >> +}; > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-16 5:52 ` Tessolve Upstream @ 2025-09-16 10:25 ` Dmitry Baryshkov 2025-09-17 5:30 ` Tessolve Upstream 0 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-16 10:25 UTC (permalink / raw) To: Tessolve Upstream Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 16, 2025 at 11:22:02AM +0530, Tessolve Upstream wrote: > > > On 09/09/25 19:28, Dmitry Baryshkov wrote: > > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > >> > >> The IQ-QCS615-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 > > > > No WiFi/BT/ethernet? > > Networking peripherals such as WiFi/BT and Ethernet will be enabled in follow-up patches. Why? WiFi/BT are supported for the RIDE platform. Is EVK using something different? -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-16 10:25 ` Dmitry Baryshkov @ 2025-09-17 5:30 ` Tessolve Upstream 2025-09-17 13:38 ` Dmitry Baryshkov 0 siblings, 1 reply; 28+ messages in thread From: Tessolve Upstream @ 2025-09-17 5:30 UTC (permalink / raw) To: Dmitry Baryshkov Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 16/09/25 15:55, Dmitry Baryshkov wrote: > On Tue, Sep 16, 2025 at 11:22:02AM +0530, Tessolve Upstream wrote: >> >> >> On 09/09/25 19:28, Dmitry Baryshkov wrote: >>> On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >>>> >>>> The IQ-QCS615-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 >>> >>> No WiFi/BT/ethernet? >> >> Networking peripherals such as WiFi/BT and Ethernet will be enabled in follow-up patches. > > Why? WiFi/BT are supported for the RIDE platform. Is EVK using something > different? We used a Quectel based AF68E module (PCIe for WiFi and UART for Bluetooth), which is different from what is used on the RIDE platform. I plan to enable these in a follow-up patch series. > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-17 5:30 ` Tessolve Upstream @ 2025-09-17 13:38 ` Dmitry Baryshkov 2025-09-18 5:23 ` Sudarshan Shetty 0 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-17 13:38 UTC (permalink / raw) To: Tessolve Upstream Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Wed, Sep 17, 2025 at 11:00:36AM +0530, Tessolve Upstream wrote: > > > On 16/09/25 15:55, Dmitry Baryshkov wrote: > > On Tue, Sep 16, 2025 at 11:22:02AM +0530, Tessolve Upstream wrote: > >> > >> > >> On 09/09/25 19:28, Dmitry Baryshkov wrote: > >>> On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > >>>> > >>>> The IQ-QCS615-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 > >>> > >>> No WiFi/BT/ethernet? > >> > >> Networking peripherals such as WiFi/BT and Ethernet will be enabled in follow-up patches. > > > > Why? WiFi/BT are supported for the RIDE platform. Is EVK using something > > different? > > We used a Quectel based AF68E module (PCIe for WiFi and UART for Bluetooth), > which is different from what is used on the RIDE platform. I plan to > enable these in a follow-up patch series. It would be nice if you mention this in the commit message. -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-17 13:38 ` Dmitry Baryshkov @ 2025-09-18 5:23 ` Sudarshan Shetty 0 siblings, 0 replies; 28+ messages in thread From: Sudarshan Shetty @ 2025-09-18 5:23 UTC (permalink / raw) To: dmitry.baryshkov Cc: andersson, conor+dt, devicetree, konradybcio, krzk+dt, linux-arm-msm, linux-kernel, robh, tessolveupstream, tingweiz Thank you for the suggestion. Sure, I will update the commit message in v2 to mention that the QCS615 talos-evk uses a Quectel AF68E module (PCIe for WiFi and UART for Bluetooth), which is different from the RIDE platform. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty 2025-09-09 13:58 ` Dmitry Baryshkov @ 2025-09-09 14:02 ` Dmitry Baryshkov 2025-09-09 14:05 ` Krzysztof Kozlowski 2025-09-15 12:11 ` Tessolve Upstream 2025-09-09 14:26 ` Bjorn Andersson 2 siblings, 2 replies; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-09 14:02 UTC (permalink / raw) To: Sudarshan Shetty Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > > The IQ-QCS615-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 > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > > This series depend on the below patch changes > https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t > https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ > https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ > arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ > 3 files changed, 457 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb BTW, 'talos' > 'qsc6490'. I think the list is expected to be sorted. -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 14:02 ` Dmitry Baryshkov @ 2025-09-09 14:05 ` Krzysztof Kozlowski 2025-09-15 12:23 ` Tessolve Upstream 2025-09-15 12:11 ` Tessolve Upstream 1 sibling, 1 reply; 28+ messages in thread From: Krzysztof Kozlowski @ 2025-09-09 14:05 UTC (permalink / raw) To: Dmitry Baryshkov, Sudarshan Shetty Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/2025 16:02, Dmitry Baryshkov wrote: > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >> >> The IQ-QCS615-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 >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> >> This series depend on the below patch changes >> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t >> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ >> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t Huge dependency list... basically unmergeable. But some of these were applied months ago, so you claiming there is dependency is just misleading. Or you are working on some old, downstream fork... In such case it would be NAK. >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >> 3 files changed, 457 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > BTW, 'talos' > 'qsc6490'. I think the list is expected to be sorted. Yes it is. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 14:05 ` Krzysztof Kozlowski @ 2025-09-15 12:23 ` Tessolve Upstream 0 siblings, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-15 12:23 UTC (permalink / raw) To: Krzysztof Kozlowski, Dmitry Baryshkov Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:35, Krzysztof Kozlowski wrote: > On 09/09/2025 16:02, Dmitry Baryshkov wrote: >> On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >>> >>> The IQ-QCS615-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 >>> >>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >>> --- >>> >>> This series depend on the below patch changes >>> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t >>> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ >>> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t > > Huge dependency list... basically unmergeable. But some of these were > applied months ago, so you claiming there is dependency is just > misleading. Or you are working on some old, downstream fork... In such > case it would be NAK. Thanks — you’re right. I mistakenly listed patches as dependencies that are already merged. I’ll rebase this series on top of current upstream/qcom, remove merged entries from the cover letter, and resend a cleaned-up series.>>> --- >>> arch/arm64/boot/dts/qcom/Makefile | 1 + >>> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >>> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >>> 3 files changed, 457 insertions(+) >>> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >>> --- a/arch/arm64/boot/dts/qcom/Makefile >>> +++ b/arch/arm64/boot/dts/qcom/Makefile >>> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >>> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb >>> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb >> >> BTW, 'talos' > 'qsc6490'. I think the list is expected to be sorted. > Yes it is. > > Best regards, > Krzysztof ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 14:02 ` Dmitry Baryshkov 2025-09-09 14:05 ` Krzysztof Kozlowski @ 2025-09-15 12:11 ` Tessolve Upstream 1 sibling, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-15 12:11 UTC (permalink / raw) To: Dmitry Baryshkov Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:32, Dmitry Baryshkov wrote: > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >> >> The IQ-QCS615-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 >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> >> This series depend on the below patch changes >> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t >> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ >> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >> 3 files changed, 457 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > BTW, 'talos' > 'qsc6490'. I think the list is expected to be sorted. Yes it is, Will sort it in v2 patch. Thanks > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty 2025-09-09 13:58 ` Dmitry Baryshkov 2025-09-09 14:02 ` Dmitry Baryshkov @ 2025-09-09 14:26 ` Bjorn Andersson 2025-09-16 5:47 ` Tessolve Upstream 2 siblings, 1 reply; 28+ messages in thread From: Bjorn Andersson @ 2025-09-09 14:26 UTC (permalink / raw) To: Sudarshan Shetty Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > > The IQ-QCS615-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 > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > > This series depend on the below patch changes > https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t This was merged August 11. > https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ This was merged December 27. > https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t This was merged July 16. You just wasted 5 minutes of my time, tracking down the status of these dependencies. Don't list dependencies that are already in linux-next (or actual releases), or even better, only send patches once the dependencies has landed (or send them together with the dependencies). > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ > arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ > 3 files changed, 457 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb > +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb If you look a little bit harder, you can see that all other entries in this file is sorted alphabetically. > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo > diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > new file mode 100644 > index 000000000000..1b9b2581af42 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > @@ -0,0 +1,414 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. This is not the correct copyright statement. > + */ > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/gpio/gpio.h> Once is probably sufficient. > +#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; I forget where we are on this, but is there no way you can describe this to be the vbus for the connector and have it be consumed and enabled properly? > + }; > + > + 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; Why can't the MCP2515 driver enable these when it's needed? > + }; > + > + 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; Ditto > + }; > +}; > + > +&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 Are you 100% certain that you (in contrast to all other boards) are ready to enable LPM - and make it the default mode? > + 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_LPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + 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>; > + }; > + }; > +}; > + > +&gcc { > + clocks = <&rpmhcc RPMH_CXO_CLK>, > + <&rpmhcc RPMH_CXO_CLK_A>, > + <&sleep_clk>; This is already specified in sm6150.dtsi, why repeat them here? PS. This list is incomplete and needs to be corrected. > +}; > + [..] > 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..7500f051783f > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts > @@ -0,0 +1,41 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. Fix this please. Regards, Bjorn > + */ > +/dts-v1/; > + > +#include "qcs615-som.dtsi" > + > +/ { > + model = "Qualcomm QCS615 IQ 615 EVK"; > + compatible = "qcom,qcs615-iq-615-evk", "qcom,qcs615", "qcom,sm6150"; > + chassis-type = "embedded"; > + > + aliases { > + mmc1 = &sdhc_2; > + }; > +}; > + > +&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 [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-09 14:26 ` Bjorn Andersson @ 2025-09-16 5:47 ` Tessolve Upstream 2025-09-16 10:29 ` Dmitry Baryshkov 0 siblings, 1 reply; 28+ messages in thread From: Tessolve Upstream @ 2025-09-16 5:47 UTC (permalink / raw) To: Bjorn Andersson Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:56, Bjorn Andersson wrote: > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >> >> The IQ-QCS615-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 >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> >> This series depend on the below patch changes >> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t > > This was merged August 11. > >> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ > > This was merged December 27. > >> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t > > This was merged July 16. > > You just wasted 5 minutes of my time, tracking down the status of these > dependencies. Don't list dependencies that are already in linux-next (or > actual releases), or even better, only send patches once the > dependencies has landed (or send them together with the dependencies). > >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >> 3 files changed, 457 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb > > If you look a little bit harder, you can see that all other entries in > this file is sorted alphabetically. Yes, Will sort it in v2 patch. > >> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb >> >> qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo >> diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi >> new file mode 100644 >> index 000000000000..1b9b2581af42 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi >> @@ -0,0 +1,414 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. > > This is not the correct copyright statement. Thanks for the review. I used above copyright since qcs615-ride.dts in the same platform tree already follows this format. If you’d prefer me to switch to The Linux Foundation for consistency with older DTS files, I can respin the patch accordingly. > >> + */ >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include <dt-bindings/gpio/gpio.h> > > Once is probably sufficient. Yes, will update in v2 patch. > >> +#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; > > I forget where we are on this, but is there no way you can describe this > to be the vbus for the connector and have it be consumed and enabled > properly? Thanks for the comment. I followed the approach used in qcs615-ride.dts, where the VBUS regulator is defined as always-on. I understand your point about describing it as the VBUS supply for the connector so that it can be consumed/enabled properly. I’ll need to test whether the USB controller/connector on this platform works correctly if I switch to the vbus-supply model instead of forcing it on. If it works, I’ll update the patch in v2. If not, could you advise whether keeping the current style (as in qcs615-ride.dts) is acceptable for now? > >> + }; >> + >> + 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; > > Why can't the MCP2515 driver enable these when it's needed? They reflecting the always-on rails that are downstream from the main DC/battery input, and the supplies always-on by design. > >> + }; >> + >> + 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; > > Ditto They reflecting the always-on rails that are downstream from the main DC/battery input, and the supplies always-on by design. > >> + }; >> +}; >> + >> +&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 > > Are you 100% certain that you (in contrast to all other boards) are > ready to enable LPM - and make it the default mode? > >> + 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_LPM>; >> + regulator-allow-set-load; >> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM >> + 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>; >> + }; >> + }; >> +}; >> + >> +&gcc { >> + clocks = <&rpmhcc RPMH_CXO_CLK>, >> + <&rpmhcc RPMH_CXO_CLK_A>, >> + <&sleep_clk>; > > This is already specified in sm6150.dtsi, why repeat them here? > > PS. This list is incomplete and needs to be corrected. Thanks for pointing this out. I copied the clocks list here from an earlier reference, but you’re right — it’s already defined in sm6150.dtsi. Since I don’t need to override or extend it for this board, I’ll drop this block in v2. > >> +}; >> + > [..] >> 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..7500f051783f >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts >> @@ -0,0 +1,41 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. > > Fix this please. Thanks for the review. I used above copyright since qcs615-ride.dts in the same platform tree already follows this format. If you’d prefer me to switch to The Linux Foundation for consistency with older DTS files, I can respin the patch accordingly. > > Regards, > Bjorn > >> + */ >> +/dts-v1/; >> + >> +#include "qcs615-som.dtsi" >> + >> +/ { >> + model = "Qualcomm QCS615 IQ 615 EVK"; >> + compatible = "qcom,qcs615-iq-615-evk", "qcom,qcs615", "qcom,sm6150"; >> + chassis-type = "embedded"; >> + >> + aliases { >> + mmc1 = &sdhc_2; >> + }; >> +}; >> + >> +&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 [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-16 5:47 ` Tessolve Upstream @ 2025-09-16 10:29 ` Dmitry Baryshkov 2025-09-22 8:54 ` Tessolve Upstream 0 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-16 10:29 UTC (permalink / raw) To: Tessolve Upstream Cc: Bjorn Andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 16, 2025 at 11:17:31AM +0530, Tessolve Upstream wrote: > > > On 09/09/25 19:56, Bjorn Andersson wrote: > > On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. > >> > >> The IQ-QCS615-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 > >> > >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > >> --- > >> > >> This series depend on the below patch changes > >> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t > > > > This was merged August 11. > > > >> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ > > > > This was merged December 27. > > > >> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t > > > > This was merged July 16. > > > > You just wasted 5 minutes of my time, tracking down the status of these > > dependencies. Don't list dependencies that are already in linux-next (or > > actual releases), or even better, only send patches once the > > dependencies has landed (or send them together with the dependencies). > > > >> --- > >> arch/arm64/boot/dts/qcom/Makefile | 1 + > >> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ > >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ > >> 3 files changed, 457 insertions(+) > >> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 > >> --- a/arch/arm64/boot/dts/qcom/Makefile > >> +++ b/arch/arm64/boot/dts/qcom/Makefile > >> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb > >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > >> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > >> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb > >> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb > > > > If you look a little bit harder, you can see that all other entries in > > this file is sorted alphabetically. > > Yes, Will sort it in v2 patch. > > > >> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > >> > >> qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo > >> diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > >> new file mode 100644 > >> index 000000000000..1b9b2581af42 > >> --- /dev/null > >> +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi > >> @@ -0,0 +1,414 @@ > >> +// SPDX-License-Identifier: BSD-3-Clause > >> +/* > >> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. > > > > This is not the correct copyright statement. > > Thanks for the review. > I used above copyright since qcs615-ride.dts in the same platform tree already follows this format. > If you’d prefer me to switch to The Linux Foundation for consistency with older DTS files, I can respin the patch accordingly. Please check current marketing guidelines, then you won't have to ask such a question. Also please fix your mailer to wrap your responses on a useful boundary (usually 72-75 chars per line). -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-09-16 10:29 ` Dmitry Baryshkov @ 2025-09-22 8:54 ` Tessolve Upstream 0 siblings, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-22 8:54 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Bjorn Andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 16/09/25 15:59, Dmitry Baryshkov wrote: > On Tue, Sep 16, 2025 at 11:17:31AM +0530, Tessolve Upstream wrote: >> >> >> On 09/09/25 19:56, Bjorn Andersson wrote: >>> On Tue, Sep 09, 2025 at 06:22:55PM +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 IQ-QCS615-SOM and the talos-evk carrier board. >>>> >>>> The IQ-QCS615-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 >>>> >>>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >>>> --- >>>> >>>> This series depend on the below patch changes >>>> https://lore.kernel.org/linux-arm-msm/20250625063213.1416442-1-quic_ziyuzhan@quicinc.com/T/#t >>> >>> This was merged August 11. >>> >>>> https://lore.kernel.org/all/20241224-fix-board-clocks-v3-0-e9b08fbeadd3@linaro.org/ >>> >>> This was merged December 27. >>> >>>> https://lore.kernel.org/linux-arm-msm/20250604-qcs615-sm6150-v1-0-2f01fd46c365@oss.qualcomm.com/T/#t >>> >>> This was merged July 16. >>> >>> You just wasted 5 minutes of my time, tracking down the status of these >>> dependencies. Don't list dependencies that are already in linux-next (or >>> actual releases), or even better, only send patches once the >>> dependencies has landed (or send them together with the dependencies). >>> >>>> --- >>>> arch/arm64/boot/dts/qcom/Makefile | 1 + >>>> arch/arm64/boot/dts/qcom/qcs615-som.dtsi | 414 +++++++++++++++++++++++ >>>> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 +++ >>>> 3 files changed, 457 insertions(+) >>>> create mode 100644 arch/arm64/boot/dts/qcom/qcs615-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 4bfa926b6a08..588dc55995c5 100644 >>>> --- a/arch/arm64/boot/dts/qcom/Makefile >>>> +++ b/arch/arm64/boot/dts/qcom/Makefile >>>> @@ -117,6 +117,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb >>>> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb >>>> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb >>>> dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb >>>> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb >>> >>> If you look a little bit harder, you can see that all other entries in >>> this file is sorted alphabetically. >> >> Yes, Will sort it in v2 patch. >>> >>>> dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb >>>> >>>> qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo >>>> diff --git a/arch/arm64/boot/dts/qcom/qcs615-som.dtsi b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi >>>> new file mode 100644 >>>> index 000000000000..1b9b2581af42 >>>> --- /dev/null >>>> +++ b/arch/arm64/boot/dts/qcom/qcs615-som.dtsi >>>> @@ -0,0 +1,414 @@ >>>> +// SPDX-License-Identifier: BSD-3-Clause >>>> +/* >>>> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved. >>> >>> This is not the correct copyright statement. >> >> Thanks for the review. >> I used above copyright since qcs615-ride.dts in the same platform tree already follows this format. >> If you’d prefer me to switch to The Linux Foundation for consistency with older DTS files, I can respin the patch accordingly. > > Please check current marketing guidelines, then you won't have to ask > such a question. Also please fix your mailer to wrap your responses on a > useful boundary (usually 72-75 chars per line). Thanks for the clarification. I’ll update the copyright to match the current marketing guidelines in the v2 patch and also fix my mailer settings for proper line wrapping. > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 12:52 [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board Sudarshan Shetty 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty @ 2025-09-09 13:50 ` Dmitry Baryshkov 2025-09-15 5:51 ` Tessolve Upstream 2025-09-09 13:57 ` Krzysztof Kozlowski 2025-09-09 14:27 ` Bjorn Andersson 3 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-09-09 13:50 UTC (permalink / raw) To: Sudarshan Shetty Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 09, 2025 at 06:22:54PM +0530, Sudarshan Shetty wrote: > This adds binding support for the QCS615-based talos evk SMARC platform. > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index 03a7d3c92ecd..a5dbe6af68ac 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -952,6 +952,12 @@ properties: > - const: qcom,qcs615 > - const: qcom,sm6150 > > + - items: > + - enum: > + - qcom,qcs615-iq-615-evk Should it follow the recent example and be named "qcom,talos-evk" ? > + - const: qcom,qcs615 > + - const: qcom,sm6150 > + > - items: > - enum: > - qcom,sa8155p-adp > -- > 2.34.1 > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 13:50 ` [PATCH 1/2] dt-bindings: arm: qcom: add bindings " Dmitry Baryshkov @ 2025-09-15 5:51 ` Tessolve Upstream 0 siblings, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-15 5:51 UTC (permalink / raw) To: Dmitry Baryshkov Cc: konradybcio, andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:20, Dmitry Baryshkov wrote: > On Tue, Sep 09, 2025 at 06:22:54PM +0530, Sudarshan Shetty wrote: >> This adds binding support for the QCS615-based talos evk SMARC platform. >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml >> index 03a7d3c92ecd..a5dbe6af68ac 100644 >> --- a/Documentation/devicetree/bindings/arm/qcom.yaml >> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml >> @@ -952,6 +952,12 @@ properties: >> - const: qcom,qcs615 >> - const: qcom,sm6150 >> >> + - items: >> + - enum: >> + - qcom,qcs615-iq-615-evk > > Should it follow the recent example and be named "qcom,talos-evk" ? Yes, I’ll update the board compatible to "qcom,talos-evk" in v2. Thanks for the suggestion. > >> + - const: qcom,qcs615 >> + - const: qcom,sm6150 >> + >> - items: >> - enum: >> - qcom,sa8155p-adp >> -- >> 2.34.1 >> > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 12:52 [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board Sudarshan Shetty 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty 2025-09-09 13:50 ` [PATCH 1/2] dt-bindings: arm: qcom: add bindings " Dmitry Baryshkov @ 2025-09-09 13:57 ` Krzysztof Kozlowski 2025-09-15 5:53 ` Tessolve Upstream 2025-09-09 14:27 ` Bjorn Andersson 3 siblings, 1 reply; 28+ messages in thread From: Krzysztof Kozlowski @ 2025-09-09 13:57 UTC (permalink / raw) To: Sudarshan Shetty, konradybcio Cc: andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/2025 14:52, Sudarshan Shetty wrote: > This adds binding support for the QCS615-based talos evk SMARC platform. Please do not use "This commit/patch/change", but imperative mood. See longer explanation here: https://elixir.bootlin.com/linux/v6.16/source/Documentation/process/submitting-patches.rst#L94 A nit, subject: drop second/last, redundant "bindings". The "dt-bindings" prefix is already stating that these are bindings. See also: https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18 So simple patch and so many trivial mistakes which are already covered in documentation. Did you read the docs? > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index 03a7d3c92ecd..a5dbe6af68ac 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -952,6 +952,12 @@ properties: > - const: qcom,qcs615 > - const: qcom,sm6150 > > + - items: > + - enum: > + - qcom,qcs615-iq-615-evk That's enum with previous entry. > + - const: qcom,qcs615 > + - const: qcom,sm6150 > + > - items: > - enum: > - qcom,sa8155p-adp Best regards, Krzysztof ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 13:57 ` Krzysztof Kozlowski @ 2025-09-15 5:53 ` Tessolve Upstream 0 siblings, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-15 5:53 UTC (permalink / raw) To: Krzysztof Kozlowski, konradybcio Cc: andersson, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:27, Krzysztof Kozlowski wrote: > On 09/09/2025 14:52, Sudarshan Shetty wrote: >> This adds binding support for the QCS615-based talos evk SMARC platform. > > Please do not use "This commit/patch/change", but imperative mood. See > longer explanation here: > https://elixir.bootlin.com/linux/v6.16/source/Documentation/process/submitting-patches.rst#L94 > > A nit, subject: drop second/last, redundant "bindings". The > "dt-bindings" prefix is already stating that these are bindings. > See also: > https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18 > > So simple patch and so many trivial mistakes which are already covered > in documentation. Did you read the docs? > >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml >> index 03a7d3c92ecd..a5dbe6af68ac 100644 >> --- a/Documentation/devicetree/bindings/arm/qcom.yaml >> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml >> @@ -952,6 +952,12 @@ properties: >> - const: qcom,qcs615 >> - const: qcom,sm6150 >> >> + - items: >> + - enum: >> + - qcom,qcs615-iq-615-evk > > That's enum with previous entry. Ack, I’ll fix the commit message style, drop the redundant "bindings" from the subject, and correct the enum placement in v2. Thanks for pointing it out. > >> + - const: qcom,qcs615 >> + - const: qcom,sm6150 >> + >> - items: >> - enum: >> - qcom,sa8155p-adp > > > Best regards, > Krzysztof ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 12:52 [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board Sudarshan Shetty ` (2 preceding siblings ...) 2025-09-09 13:57 ` Krzysztof Kozlowski @ 2025-09-09 14:27 ` Bjorn Andersson 2025-09-15 5:54 ` Tessolve Upstream 2025-10-10 11:47 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 3 siblings, 2 replies; 28+ messages in thread From: Bjorn Andersson @ 2025-09-09 14:27 UTC (permalink / raw) To: Sudarshan Shetty Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On Tue, Sep 09, 2025 at 06:22:54PM +0530, Sudarshan Shetty wrote: > This adds binding support for the QCS615-based talos evk SMARC platform. > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index 03a7d3c92ecd..a5dbe6af68ac 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -952,6 +952,12 @@ properties: > - const: qcom,qcs615 > - const: qcom,sm6150 > > + - items: > + - enum: > + - qcom,qcs615-iq-615-evk Can't we make that qcom,talos-evk? Regards, Bjorn > + - const: qcom,qcs615 > + - const: qcom,sm6150 > + > - items: > - enum: > - qcom,sa8155p-adp > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board 2025-09-09 14:27 ` Bjorn Andersson @ 2025-09-15 5:54 ` Tessolve Upstream 2025-10-10 11:47 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 1 sibling, 0 replies; 28+ messages in thread From: Tessolve Upstream @ 2025-09-15 5:54 UTC (permalink / raw) To: Bjorn Andersson Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tingweiz On 09/09/25 19:57, Bjorn Andersson wrote: > On Tue, Sep 09, 2025 at 06:22:54PM +0530, Sudarshan Shetty wrote: >> This adds binding support for the QCS615-based talos evk SMARC platform. >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml >> index 03a7d3c92ecd..a5dbe6af68ac 100644 >> --- a/Documentation/devicetree/bindings/arm/qcom.yaml >> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml >> @@ -952,6 +952,12 @@ properties: >> - const: qcom,qcs615 >> - const: qcom,sm6150 >> >> + - items: >> + - enum: >> + - qcom,qcs615-iq-615-evk > > Can't we make that qcom,talos-evk? Yes, I’ll rename the board compatible to "qcom,talos-evk" in v2 > > Regards, > Bjorn > >> + - const: qcom,qcs615 >> + - const: qcom,sm6150 >> + >> - items: >> - enum: >> - qcom,sa8155p-adp >> -- >> 2.34.1 >> ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform 2025-09-09 14:27 ` Bjorn Andersson 2025-09-15 5:54 ` Tessolve Upstream @ 2025-10-10 11:47 ` Sudarshan Shetty 2025-10-10 11:47 ` [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board Sudarshan Shetty 2025-10-10 12:13 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Dmitry Baryshkov 1 sibling, 2 replies; 28+ messages in thread From: Sudarshan Shetty @ 2025-10-10 11:47 UTC (permalink / raw) To: andersson Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tessolveupstream Add binding support for the QCS615-based Talos EVK SMARC platform. 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] 28+ messages in thread
* [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-10-10 11:47 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty @ 2025-10-10 11:47 ` Sudarshan Shetty 2025-10-10 12:19 ` Dmitry Baryshkov 2025-10-10 12:13 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Dmitry Baryshkov 1 sibling, 1 reply; 28+ messages in thread From: Sudarshan Shetty @ 2025-10-10 11:47 UTC (permalink / raw) To: andersson Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, tessolveupstream 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. Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> --- Changes in v2: - Rename compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn) - Merge enum entry with existing qcs615-ride block (suggested by Krzysztof) - Fix subject and commit message to use imperative mood arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 406 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 42 ++ 3 files changed, 449 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..77c4a474e64b --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi @@ -0,0 +1,406 @@ +// 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>; + }; +}; + +&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"; +}; + +&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; + }; + }; +}; + +&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>; + }; +}; + +&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..25057f4f6a91 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts @@ -0,0 +1,41 @@ +// 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; + }; +}; + +&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] 28+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-10-10 11:47 ` [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board Sudarshan Shetty @ 2025-10-10 12:19 ` Dmitry Baryshkov 2025-10-13 9:04 ` Tessolve Upstream 0 siblings, 1 reply; 28+ messages in thread From: Dmitry Baryshkov @ 2025-10-10 12:19 UTC (permalink / raw) To: Sudarshan Shetty Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Fri, Oct 10, 2025 at 05:17:45PM +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. > > 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. > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Changes in v2: > - Rename compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn) > - Merge enum entry with existing qcs615-ride block (suggested by Krzysztof) > - Fix subject and commit message to use imperative mood > > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 406 ++++++++++++++++++++ > arch/arm64/boot/dts/qcom/talos-evk.dts | 42 ++ > 3 files changed, 449 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts > > + > + 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; > + }; Is there a way to control those regulators or are they always enabled by the hardware? > +}; > + [...] > + > +&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; > + }; > + }; > +}; > + > +&sdhc_1 { tlmm > 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>; > + }; > +}; > + > +&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"; > +}; Please keep all the nodes sorted. > + > +&usb_1 { > + status = "okay"; > +}; > + > +&usb_1_dwc3 { > + dr_mode = "host"; Is it really host-only? > +}; > + > +&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"; Is it really host-only? > +}; > + > +&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"; > +}; -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-10-10 12:19 ` Dmitry Baryshkov @ 2025-10-13 9:04 ` Tessolve Upstream 2025-10-13 9:42 ` Dmitry Baryshkov 0 siblings, 1 reply; 28+ messages in thread From: Tessolve Upstream @ 2025-10-13 9:04 UTC (permalink / raw) To: Dmitry Baryshkov Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On 10/10/25 17:49, Dmitry Baryshkov wrote: > On Fri, Oct 10, 2025 at 05:17:45PM +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. >> >> 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. >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> Changes in v2: >> - Rename compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn) >> - Merge enum entry with existing qcs615-ride block (suggested by Krzysztof) >> - Fix subject and commit message to use imperative mood >> >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 406 ++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 42 ++ >> 3 files changed, 449 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi >> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts >> >> + >> + 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; >> + }; > > Is there a way to control those regulators or are they always enabled by > the hardware? The regulator are always enabled by the hardware. > >> +}; >> + > > [...] > >> + >> +&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; >> + }; >> + }; >> +}; >> + >> +&sdhc_1 { > > tlmm > sdhc_1 ok, will sort it in v3 path. > >> + 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>; >> + }; >> +}; >> + >> +&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"; >> +}; > > Please keep all the nodes sorted. ok, will sort it. > >> + >> +&usb_1 { >> + status = "okay"; >> +}; >> + >> +&usb_1_dwc3 { >> + dr_mode = "host"; > > Is it really host-only? The USB1 port supports both device and host modes, and the ID pin is available on the hardware. By default, it operates in device mode, and switching to host mode requires a hardware switch on the SoM. In the current patch, I’ve set dr_mode = "host" for host operation. I plan to add proper role-switch logic (using the ID pin) in the next patch version, so the controller can dynamically switch between device and host modes. > >> +}; >> + >> +&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"; > > Is it really host-only? Yes, it is host-only. > >> +}; >> + >> +&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"; >> +}; > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board 2025-10-13 9:04 ` Tessolve Upstream @ 2025-10-13 9:42 ` Dmitry Baryshkov 0 siblings, 0 replies; 28+ messages in thread From: Dmitry Baryshkov @ 2025-10-13 9:42 UTC (permalink / raw) To: Tessolve Upstream Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Mon, Oct 13, 2025 at 02:34:10PM +0530, Tessolve Upstream wrote: > > > On 10/10/25 17:49, Dmitry Baryshkov wrote: > > On Fri, Oct 10, 2025 at 05:17:45PM +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. > >> > >> 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. > >> > >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > >> --- > >> Changes in v2: > >> - Rename compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn) > >> - Merge enum entry with existing qcs615-ride block (suggested by Krzysztof) > >> - Fix subject and commit message to use imperative mood > >> > > > >> + > >> +&usb_1 { > >> + status = "okay"; > >> +}; > >> + > >> +&usb_1_dwc3 { > >> + dr_mode = "host"; > > > > Is it really host-only? > > The USB1 port supports both device and host modes, and the ID pin > is available on the hardware. By default, it operates in device mode, > and switching to host mode requires a hardware switch on the SoM. > In the current patch, I’ve set dr_mode = "host" for host operation. Please provide this info as a comment (e.g. switch xyz should be switched to 'ON' for this to work). > I plan to add proper role-switch logic (using the ID pin) in the > next patch version, so the controller can dynamically switch between > device and host modes. Yes, please. There are a lot of users who depend on USB device mode to work (e.g. to connect to the board via ADB). -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform 2025-10-10 11:47 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-10-10 11:47 ` [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board Sudarshan Shetty @ 2025-10-10 12:13 ` Dmitry Baryshkov 1 sibling, 0 replies; 28+ messages in thread From: Dmitry Baryshkov @ 2025-10-10 12:13 UTC (permalink / raw) To: Sudarshan Shetty Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Fri, Oct 10, 2025 at 05:17:44PM +0530, Sudarshan Shetty wrote: > Add binding support for the QCS615-based Talos EVK SMARC platform. > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 1 + > 1 file changed, 1 insertion(+) Please don't send new versions of your series as a response to a previous iteration. Always start a new thread for each iteration, otherwise some of the tools (and developers) might get confused. > > 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 > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2025-10-13 9:42 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-09-09 12:52 [PATCH 1/2] dt-bindings: arm: qcom: add bindings for QCS615 talos evk board Sudarshan Shetty 2025-09-09 12:52 ` [PATCH 2/2] arm64: dts: qcom: Add support " Sudarshan Shetty 2025-09-09 13:58 ` Dmitry Baryshkov 2025-09-16 5:52 ` Tessolve Upstream 2025-09-16 10:25 ` Dmitry Baryshkov 2025-09-17 5:30 ` Tessolve Upstream 2025-09-17 13:38 ` Dmitry Baryshkov 2025-09-18 5:23 ` Sudarshan Shetty 2025-09-09 14:02 ` Dmitry Baryshkov 2025-09-09 14:05 ` Krzysztof Kozlowski 2025-09-15 12:23 ` Tessolve Upstream 2025-09-15 12:11 ` Tessolve Upstream 2025-09-09 14:26 ` Bjorn Andersson 2025-09-16 5:47 ` Tessolve Upstream 2025-09-16 10:29 ` Dmitry Baryshkov 2025-09-22 8:54 ` Tessolve Upstream 2025-09-09 13:50 ` [PATCH 1/2] dt-bindings: arm: qcom: add bindings " Dmitry Baryshkov 2025-09-15 5:51 ` Tessolve Upstream 2025-09-09 13:57 ` Krzysztof Kozlowski 2025-09-15 5:53 ` Tessolve Upstream 2025-09-09 14:27 ` Bjorn Andersson 2025-09-15 5:54 ` Tessolve Upstream 2025-10-10 11:47 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-10-10 11:47 ` [PATCH v2 2/2] arm64: dts: qcom: Add support for QCS615 talos evk board Sudarshan Shetty 2025-10-10 12:19 ` Dmitry Baryshkov 2025-10-13 9:04 ` Tessolve Upstream 2025-10-13 9:42 ` Dmitry Baryshkov 2025-10-10 12:13 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Add QCS615 Talos EVK SMARC platform 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).