aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2021-09-12 15:20:42 +0800
committerLoic Poulain <loic.poulain@linaro.org>2021-11-16 15:50:19 +0100
commit35ef36e17d3c259434d6c712a114f1027b4f24c2 (patch)
tree7a4d577fc163adcf97c21ad27b05c7155ca7a8d9
parentcfaf50b9a14260271fea80477141cf874ef88db8 (diff)
arm64: dts: Add initial TurboX CM2290 device tree
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r--arch/arm64/boot/dts/qcom/Makefile1
-rw-r--r--arch/arm64/boot/dts/qcom/qcm2290-turbox-cm2290.dts219
2 files changed, 220 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 70516508be56..a579f6bd0e30 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -39,6 +39,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-lenovo-miix-630.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-oneplus-cheeseburger.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-oneplus-dumpling.dtb
+dtb-$(CONFIG_ARCH_QCOM) += qcm2290-turbox-cm2290.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
diff --git a/arch/arm64/boot/dts/qcom/qcm2290-turbox-cm2290.dts b/arch/arm64/boot/dts/qcom/qcm2290-turbox-cm2290.dts
new file mode 100644
index 000000000000..8415642d0e89
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcm2290-turbox-cm2290.dts
@@ -0,0 +1,219 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2021, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "qcm2290.dtsi"
+
+/ {
+ model = "Thundercomm TurboX CM2290";
+ compatible = "thundercomm,cm2290", "qcom,qcm2290";
+
+ qcom,msm-id = <473 0x0>;
+ qcom,board-id = <34 0>;
+
+ aliases {
+ mmc0 = &sdhc_1;
+ mmc1 = &sdhc_2;
+ serial0 = &uart0;
+ };
+
+ vph_pwr: vph-pwr-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+ regulator-always-on;
+ };
+};
+
+&rpm_requests {
+ pm2250-regulators {
+ compatible = "qcom,rpm-pm2250-regulators";
+ vdd_s1-supply = <&vph_pwr>;
+ vdd_s2-supply = <&vph_pwr>;
+ vdd_s3-supply = <&vph_pwr>;
+ vdd_s4-supply = <&vph_pwr>;
+ vdd_l1_l2_l3_l5_l6_l7_l8_l9_l10_l11_l12-supply = <&vreg_s3a_1p352>;
+ vdd_l13_l14_l15_l16-supply = <&vreg_s4a_2p04>;
+ vdd_l4_l17_l18_l19_l20_l21_l22-supply = <&vph_pwr>;
+
+ vreg_s3a_1p352: s3 {
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <1662500>;
+ regulator-allow-set-load;
+ };
+
+ vreg_s4a_2p04: s4 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <2350000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l2a_1p128: l2 {
+ regulator-min-microvolt = <1060000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l3a_0p6: l3 {
+ regulator-min-microvolt = <570000>;
+ regulator-max-microvolt = <650000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l4a_2p96: l4 {
+ /*
+ * This regulator supports 1.65 ~ 3.05V on this board
+ * but we set a max voltage of anything less than 2.7V
+ * to satisfy a condition in sdhci-msm driver that will
+ * disable 3.3V SDHCI signaling, which happens to be not
+ * really supported on this board.
+ */
+ regulator-min-microvolt = <1650000>;
+ regulator-max-microvolt = <2696000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l5a_1p232: l5 {
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1312000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l6a_0p9: l6 {
+ regulator-min-microvolt = <488000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l7a_0p664: l7 {
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <728000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l10a_1p3: l10 {
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1380000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l11a_1p0: l11 {
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l12a_0p9: l12 {
+ regulator-min-microvolt = <925000>;
+ regulator-max-microvolt = <970000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l13a_1p8: l13 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vreg_l14a_1p8: l14 {
+ regulator-min-microvolt = <1700000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l15a_1p8: l15 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l16a_1p8: l16 {
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l17a_3p0: l17 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3600000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l18a_1p8: l18 {
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l19a_1p8: l19 {
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l20a_2p96: l20 {
+ regulator-min-microvolt = <2400000>;
+ regulator-max-microvolt = <3600000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l21a_2p96: l21 {
+ regulator-min-microvolt = <3075000>;
+ regulator-max-microvolt = <3200000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l22a_3p3: l22 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-allow-set-load;
+ };
+ };
+};
+
+&sdhc_1 {
+ vmmc-supply = <&vreg_l20a_2p96>;
+ vqmmc-supply = <&vreg_l14a_1p8>;
+ status = "okay";
+};
+
+&sdhc_2 {
+ vmmc-supply = <&vreg_l21a_2p96>;
+ vqmmc-supply = <&vreg_l4a_2p96>;
+ cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&tlmm {
+ gpio-reserved-ranges = <0 4>, <14 4>;
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usb_hsphy {
+ vdd-supply = <&vreg_l12a_0p9>;
+ vdda-pll-supply = <&vreg_l13a_1p8>;
+ vdda-phy-dpdm-supply = <&vreg_l21a_2p96>;
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&vreg_l13a_1p8>;
+ vdda-pll-supply = <&vreg_l12a_0p9>;
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+
+ usb@4e00000 {
+ dr_mode = "peripheral";
+ };
+};