OSDN Git Service

arm64: dts: qcom: Introduce SM8350 HDK
authorBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 8 Mar 2021 18:21:13 +0000 (10:21 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 12 Mar 2021 02:22:42 +0000 (20:22 -0600)
Add initial DTS for the Snapdragon 888 Mobile Hardware Development Kit,
aka SM8350 HDK. This initial version describes debug UART, UFS storage,
the three USB connectors and remoteprocs.

Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210308182113.1284966-1-bjorn.andersson@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/sm8350-hdk.dts [new file with mode: 0644]

index a81966d..cf1128c 100644 (file)
@@ -70,4 +70,5 @@ dtb-$(CONFIG_ARCH_QCOM)       += sm8150-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8150-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8250-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8250-mtp.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += sm8350-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8350-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
new file mode 100644 (file)
index 0000000..f23a0cf
--- /dev/null
@@ -0,0 +1,319 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020-2021, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "sm8350.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. SM8350 HDK";
+       compatible = "qcom,sm8350-hdk", "qcom,sm8350";
+
+       aliases {
+               serial0 = &uart2;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       vph_pwr: vph-pwr-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vph_pwr";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+
+               regulator-always-on;
+               regulator-boot-on;
+       };
+};
+
+&adsp {
+       status = "okay";
+       firmware-name = "qcom/sm8350/adsp.mbn";
+};
+
+&apps_rsc {
+       pm8350-rpmh-regulators {
+               compatible = "qcom,pm8350-rpmh-regulators";
+               qcom,pmic-id = "b";
+
+               vdd-s1-supply = <&vph_pwr>;
+               vdd-s2-supply = <&vph_pwr>;
+               vdd-s3-supply = <&vph_pwr>;
+               vdd-s4-supply = <&vph_pwr>;
+               vdd-s5-supply = <&vph_pwr>;
+               vdd-s6-supply = <&vph_pwr>;
+               vdd-s7-supply = <&vph_pwr>;
+               vdd-s8-supply = <&vph_pwr>;
+               vdd-s9-supply = <&vph_pwr>;
+               vdd-s10-supply = <&vph_pwr>;
+               vdd-s11-supply = <&vph_pwr>;
+               vdd-s12-supply = <&vph_pwr>;
+
+               vdd-l1-l4-supply = <&vreg_s11b_0p95>;
+               vdd-l2-l7-supply = <&vreg_bob>;
+               vdd-l3-l5-supply = <&vreg_bob>;
+               vdd-l6-l9-l10-supply = <&vreg_s11b_0p95>;
+
+               vreg_s10b_1p8: smps10 {
+                       regulator-name = "vreg_s10b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s11b_0p95: smps11 {
+                       regulator-name = "vreg_s11b_0p95";
+                       regulator-min-microvolt = <952000>;
+                       regulator-max-microvolt = <952000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s12b_1p25: smps12 {
+                       regulator-name = "vreg_s12b_1p25";
+                       regulator-min-microvolt = <1256000>;
+                       regulator-max-microvolt = <1256000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1b_0p88: ldo1 {
+                       regulator-name = "vreg_l1b_0p88";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2b_3p07: ldo2 {
+                       regulator-name = "vreg_l2b_3p07";
+                       regulator-min-microvolt = <3072000>;
+                       regulator-max-microvolt = <3072000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3b_0p9: ldo3 {
+                       regulator-name = "vreg_l3b_0p9";
+                       regulator-min-microvolt = <904000>;
+                       regulator-max-microvolt = <904000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l5b_0p88: ldo5 {
+                       regulator-name = "vreg_l5b_0p88";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <888000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               vreg_l6b_1p2: ldo6 {
+                       regulator-name = "vreg_l6b_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1208000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               vreg_l7b_2p96: ldo7 {
+                       regulator-name = "vreg_l7b_2p96";
+                       regulator-min-microvolt = <2504000>;
+                       regulator-max-microvolt = <2504000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               vreg_l9b_1p2: ldo9 {
+                       regulator-name = "vreg_l9b_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+       };
+
+       pm8350c-rpmh-regulators {
+               compatible = "qcom,pm8350c-rpmh-regulators";
+               qcom,pmic-id = "c";
+
+               vdd-s1-supply = <&vph_pwr>;
+               vdd-s2-supply = <&vph_pwr>;
+               vdd-s3-supply = <&vph_pwr>;
+               vdd-s4-supply = <&vph_pwr>;
+               vdd-s5-supply = <&vph_pwr>;
+               vdd-s6-supply = <&vph_pwr>;
+               vdd-s7-supply = <&vph_pwr>;
+               vdd-s8-supply = <&vph_pwr>;
+               vdd-s9-supply = <&vph_pwr>;
+               vdd-s10-supply = <&vph_pwr>;
+
+               vdd-l1-l12-supply = <&vreg_s1c_1p86>;
+               vdd-l2-l8-supply = <&vreg_s1c_1p86>;
+               vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
+               vdd-l6-l9-l11-supply = <&vreg_bob>;
+               vdd-l10-supply = <&vreg_s12b_1p25>;
+
+               vdd-bob-supply = <&vph_pwr>;
+
+               vreg_s1c_1p86: smps1 {
+                       regulator-name = "vreg_s1c_1p86";
+                       regulator-min-microvolt = <1856000>;
+                       regulator-max-microvolt = <1880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_bob: bob {
+                       regulator-name = "vreg_bob";
+                       regulator-min-microvolt = <3008000>;
+                       regulator-max-microvolt = <3960000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l1c_1p8: ldo1 {
+                       regulator-name = "vreg_l1c_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2c_1p8: ldo2 {
+                       regulator-name = "vreg_l2c_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6c_1p8: ldo6 {
+                       regulator-name = "vreg_l6c_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <2960000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l9c_2p96: ldo9 {
+                       regulator-name = "vreg_l9c_2p96";
+                       regulator-min-microvolt = <2960000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l10c_1p2: ldo10 {
+                       regulator-name = "vreg_l10c_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+};
+
+&cdsp {
+       status = "okay";
+       firmware-name = "qcom/sm8350/cdsp.mbn";
+};
+
+&mpss {
+       status = "okay";
+       firmware-name = "qcom/sm8350/modem.mbn";
+};
+
+&qupv3_id_1 {
+       status = "okay";
+};
+
+&slpi {
+       status = "okay";
+       firmware-name = "qcom/sm8350/slpi.mbn";
+};
+
+&tlmm {
+       gpio-reserved-ranges = <52 8>;
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&ufs_mem_hc {
+       status = "okay";
+
+       reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>;
+
+       vcc-supply = <&vreg_l7b_2p96>;
+       vcc-max-microamp = <800000>;
+       vccq-supply = <&vreg_l9b_1p2>;
+       vccq-max-microamp = <900000>;
+};
+
+&ufs_mem_phy {
+       status = "okay";
+
+       vdda-phy-supply = <&vreg_l5b_0p88>;
+       vdda-max-microamp = <91600>;
+       vdda-pll-supply = <&vreg_l6b_1p2>;
+       vdda-pll-max-microamp = <19000>;
+};
+
+&usb_1 {
+       status = "okay";
+};
+
+&usb_1_dwc3 {
+       /* TODO: Define USB-C connector properly */
+       dr_mode = "peripheral";
+};
+
+&usb_1_hsphy {
+       status = "okay";
+
+       vdda-pll-supply = <&vreg_l5b_0p88>;
+       vdda18-supply = <&vreg_l1c_1p8>;
+       vdda33-supply = <&vreg_l2b_3p07>;
+};
+
+&usb_1_qmpphy {
+       status = "okay";
+
+       vdda-phy-supply = <&vreg_l6b_1p2>;
+       vdda-pll-supply = <&vreg_l1b_0p88>;
+};
+
+&usb_2 {
+       status = "okay";
+};
+
+&usb_2_dwc3 {
+       dr_mode = "host";
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb_hub_enabled_state>;
+};
+
+&usb_2_hsphy {
+       status = "okay";
+
+       vdda-pll-supply = <&vreg_l5b_0p88>;
+       vdda18-supply = <&vreg_l1c_1p8>;
+       vdda33-supply = <&vreg_l2b_3p07>;
+};
+
+&usb_2_qmpphy {
+       status = "okay";
+
+       vdda-phy-supply = <&vreg_l6b_1p2>;
+       vdda-pll-supply = <&vreg_l5b_0p88>;
+};
+
+/* PINCTRL - additions to nodes defined in sm8350.dtsi */
+
+&tlmm {
+       usb_hub_enabled_state: usb-hub-enabled-state {
+               pins = "gpio42";
+               function = "gpio";
+
+               drive-strength = <2>;
+               output-low;
+       };
+};