Message ID | 20241022-add_initial_support_for_qcs615-v4-6-0a551c6dd342@quicinc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add initial support for QCS615 SoC and QCS615 RIDE board | expand |
On Tue, Oct 22, 2024 at 04:54:34PM GMT, Lijuan Gao wrote: "arm64: dts: qcom: add base QCS615 RIDE dts" ^ You already have dts here ^ no need to put it here again I'd suggest that we make the subject "arm64: dts: qcom: Add QCS615 RIDE board" > Add initial support for Qualcomm QCS615 RIDE board and enable > the QCS615 RIDE board to shell with uart console. > > [Tingguo: added regulator nodes] Are you saying: - Lijuan wrote the patch - Lijuan signed the certificate of origin (i.e. he's allowed to contribute its content) - Tingguo added regulator nodes - Tingguo signed the certificate of origin (i.e. patch was based on work that was certified) Or are you saying: "Tingguo and I developed this patch in pair programming fashion" If so, I'd suggest dropping the "[Tingguo:...]" line. > Co-developed-by: Tingguo Cheng <quic_tingguoc@quicinc.com> > Signed-off-by: Tingguo Cheng <quic_tingguoc@quicinc.com> > Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/qcs615-ride.dts | 219 +++++++++++++++++++++++++++++++ > 2 files changed, 220 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 065bb19481c1..f14643187cac 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb > 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) += qcs6490-rb3gen2.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts > new file mode 100644 > index 000000000000..ee6cab3924a6 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts > @@ -0,0 +1,219 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include "qcs615.dtsi" > +/ { > + model = "Qualcomm Technologies, Inc. QCS615 Ride"; > + compatible = "qcom,qcs615-ride", "qcom,qcs615"; > + chassis-type = "embedded"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + clocks { > + sleep_clk: sleep-clk { > + compatible = "fixed-clock"; > + clock-frequency = <32000>; > + #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 { You don't reference any of these regulators. Can you please confirm that when you boot the qcs615 ride device with this dtb it actually boots with a debug uart and does not crash when the regulator framework disable all these "unused" regulators? Regards, Bjorn > + 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>; > +}; > + > +&qupv3_id_0 { > + status = "okay"; > +}; > + > +&rpmhcc { > + clocks = <&xo_board_clk>; > +}; > + > +&uart0 { > + status = "okay"; > +}; > + > +&watchdog { > + clocks = <&sleep_clk>; > +}; > > -- > 2.46.0 >
在 10/23/2024 10:09 AM, Bjorn Andersson 写道: > On Tue, Oct 22, 2024 at 04:54:34PM GMT, Lijuan Gao wrote: > > "arm64: dts: qcom: add base QCS615 RIDE dts" > ^ You already have dts here ^ no need to put it here again > > > I'd suggest that we make the subject "arm64: dts: qcom: Add QCS615 RIDE board" > Got it, I will update the title in the next version. >> Add initial support for Qualcomm QCS615 RIDE board and enable >> the QCS615 RIDE board to shell with uart console. >> >> [Tingguo: added regulator nodes] > > Are you saying: > - Lijuan wrote the patch > - Lijuan signed the certificate of origin (i.e. he's allowed to > contribute its content) > - Tingguo added regulator nodes > - Tingguo signed the certificate of origin (i.e. patch was based on work > that was certified) > > Or are you saying: > "Tingguo and I developed this patch in pair programming fashion" > > If so, I'd suggest dropping the "[Tingguo:...]" line. > Yes, I wrote the base patch and Tingguo added the regulator nodes. I will update the commit message with "Written with help from Tingguo Cheng (added regulator nodes)" as suggested in the initial dtsi comments >> Co-developed-by: Tingguo Cheng <quic_tingguoc@quicinc.com> >> Signed-off-by: Tingguo Cheng <quic_tingguoc@quicinc.com> >> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/qcs615-ride.dts | 219 +++++++++++++++++++++++++++++++ >> 2 files changed, 220 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >> index 065bb19481c1..f14643187cac 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb >> 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) += qcs6490-rb3gen2.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb >> dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb >> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts >> new file mode 100644 >> index 000000000000..ee6cab3924a6 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts >> @@ -0,0 +1,219 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. >> + */ >> +/dts-v1/; >> + >> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include "qcs615.dtsi" >> +/ { >> + model = "Qualcomm Technologies, Inc. QCS615 Ride"; >> + compatible = "qcom,qcs615-ride", "qcom,qcs615"; >> + chassis-type = "embedded"; >> + >> + aliases { >> + serial0 = &uart0; >> + }; >> + >> + chosen { >> + stdout-path = "serial0:115200n8"; >> + }; >> + >> + clocks { >> + sleep_clk: sleep-clk { >> + compatible = "fixed-clock"; >> + clock-frequency = <32000>; >> + #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 { > > You don't reference any of these regulators. > > Can you please confirm that when you boot the qcs615 ride device with > this dtb it actually boots with a debug uart and does not crash when the > regulator framework disable all these "unused" regulators? > > Regards, > Bjorn > Yes, the device booted successfully. The regulator is part of Tingguo’s PMIC-related modifications. The RPMhpd, which UART depends on, is also part of this series of changes. The regulator will be used later, so both of them were added. >> + 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>; >> +}; >> + >> +&qupv3_id_0 { >> + status = "okay"; >> +}; >> + >> +&rpmhcc { >> + clocks = <&xo_board_clk>; >> +}; >> + >> +&uart0 { >> + status = "okay"; >> +}; >> + >> +&watchdog { >> + clocks = <&sleep_clk>; >> +}; >> >> -- >> 2.46.0 >>
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 065bb19481c1..f14643187cac 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb 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) += qcs6490-rb3gen2.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts new file mode 100644 index 000000000000..ee6cab3924a6 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts @@ -0,0 +1,219 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> +#include "qcs615.dtsi" +/ { + model = "Qualcomm Technologies, Inc. QCS615 Ride"; + compatible = "qcom,qcs615-ride", "qcom,qcs615"; + chassis-type = "embedded"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + clocks { + sleep_clk: sleep-clk { + compatible = "fixed-clock"; + clock-frequency = <32000>; + #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 { + 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>; +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&rpmhcc { + clocks = <&xo_board_clk>; +}; + +&uart0 { + status = "okay"; +}; + +&watchdog { + clocks = <&sleep_clk>; +};