]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: qcs615: add base RIDE board
authorLijuan Gao <quic_lijuang@quicinc.com>
Mon, 4 Nov 2024 09:10:11 +0000 (17:10 +0800)
committerBjorn Andersson <andersson@kernel.org>
Mon, 2 Dec 2024 04:19:41 +0000 (22:19 -0600)
Add initial support for Qualcomm QCS615 RIDE board and enable
the QCS615 RIDE board to shell with uart console.

Written with help from Tingguo Cheng (added regulator nodes).

Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20241104-add_initial_support_for_qcs615-v5-4-9dde8d7b80b0@quicinc.com
[bjorn: Fix subject]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/qcs615-ride.dts [new file with mode: 0644]

index 9bb8b191aeb517e8f1e3a11bca98a3d0c39c5398..2484c7754f1d82dad76e9a8c934f82953ca4f7d7 100644 (file)
@@ -113,6 +113,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)        += qcs9100-ride.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 (file)
index 0000000..ee6cab3
--- /dev/null
@@ -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>;
+};