Re: [PATCH 2/3] arm64: dts: qcom: Add Talos Lyra EVK SoM platform

Rakesh Kota <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.ports.arm.msm,gmane.linux.drivers.devicetree
Message-ID <[email protected]>
On Thu, Sep 03, 2026 at 09:54:36AM -0500, Bjorn Andersson wrote:
> On Tue, Sep 01, 2026 at 07:14:02PM +0530, Avaneesh Kumar Dwivedi wrote:
> 
> Please make subject prefix arm64: dts: qcom: talos: ... so that it
> groups nicely in a git log --oneline.
> 
> > Introduce the device tree for the QCS615-based Talos Lyra EVK SoM.
> > Lyra EVK SoM a compact compute module integrating the QCS615 SoC,
> > PMIC, and essential connectivity, designed to mount on carrier boards.
> > 
> > The initial SoM device tree includes basic support for:
> > 
> > - CPU and memory
> > - PMIC and board-level regulators
> > - UFS and SD card storage
> > - QUPv3 (I2C/SPI/UART) instances
> > - ADSP/CDSP remoteprocs
> > - GPU
> > 
> > Co-developed-by: Monish Chunara <[email protected]>
> > Signed-off-by: Monish Chunara <[email protected]>
> > Co-developed-by: Rakesh Kota <[email protected]>
> > Signed-off-by: Rakesh Kota <[email protected]>
> > Co-developed-by: Sayali Lokhande <[email protected]>
> > Signed-off-by: Sayali Lokhande <[email protected]>
> > Signed-off-by: Nirmesh Kumar Singh <[email protected]>
> > Signed-off-by: Avaneesh Kumar Dwivedi <[email protected]>
> 
> This s-o-b chain says Monish, Rakesh, Sayali, and Nirmesh first wrote
> the patch, but the way you sent it claims you authored it. Retain
> Nirmesh as author or fix the chain.
> 
> > ---
> >  arch/arm64/boot/dts/qcom/talos-lyra-evk-som.dtsi | 282 +++++++++++++++++++++++
> >  1 file changed, 282 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-lyra-evk-som.dtsi
> > new file mode 100644
> > index 000000000000..8c19f050d5b3
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk-som.dtsi
> > @@ -0,0 +1,282 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > + */
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> > +#include "talos.dtsi"
> > +#include "pm8150.dtsi"
> > +/ {
> > +	aliases {
> > +		mmc0 = &sdhc_1;
> > +		mmc1 = &sdhc_2;
> > +		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>;
> > +		};
> > +	};
> > +};
> > +
> > +&apps_rsc {
> > +	regulators-0 {
> > +		compatible = "qcom,pm8150-rpmh-regulators";
> > +		qcom,pmic-id = "a";
> > +
> > +		vreg_s3a: smps3 {
> 
> I don't see anything referencing s3a, s5a, and s6a, are you sure that
> rpmh doesn't handle the SMPSs for us automatically?
> 
> Do we actually want to vote for s4a from Linux?
>

We’ll remove these unused rails in the next patch set.

> > +			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>;
> 
> That's a wide span, narrow it to what the consumers need.

we will fix's min and max in the next patch set.

> 
> > +			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> 
> Are you sure you want to go LPM here?
 
we’ll keep HPM as the initial mode in the next patch set.

regards
Rakesh Kota
> 
> > +			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>;
> > +		};
> > +	};
> > +};
> > +
> > +&gcc {
> > +	clocks = <&rpmhcc RPMH_CXO_CLK>,
> > +		 <&rpmhcc RPMH_CXO_CLK_A>,
> > +		 <&sleep_clk>;
> 
> I'm failing to see how that differs from that talos.dtsi already says.
> 
> That said, this list is incomplete and needs to be corrected - can be
> done separately.
> 
> > +};
> > +
> > +&gpu {
> > +	status = "okay";
> > +};
> > +
> > +&gpu_zap_shader {
> > +	firmware-name = "qcom/qcs615/a612_zap.mbn";
> > +};
> > +
> > +&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";
> > +};
> > +
> > +&rpmhcc {
> > +	clocks = <&xo_board_clk>;
> 
> That's what it says in talos.dtsi already. I must be misunderstanding
> something?
> 
> > +};
> > +
> > +&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";
> > +};
> > +
> > +&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";
> > +};
> > +
> > +&uart0 {
> > +	status = "okay";
> > +};
> > +
> > +&ufs_mem_hc {
> > +	reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
> > +	vcc-supply = <&vreg_l17a>;
> > +	vcc-max-microamp = <600000>;
> > +	vccq2-supply = <&vreg_s4a>;
> > +	vccq2-max-microamp = <600000>;
> > +
> > +	status = "okay";
> > +};
> > +
> > +&ufs_mem_phy {
> > +	vdda-phy-supply = <&vreg_l5a>;
> > +	vdda-pll-supply = <&vreg_l12a>;
> > +
> > +	status = "okay";
> > +};
> > 
> > -- 
> > 2.34.1
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.