Re: [PATCH 2/3] arm64: dts: qcom: Add Talos Lyra EVK SoM platform
Rakesh Kota <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-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 > >