]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sar2130p: add QAR2130P board file
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sat, 2 Nov 2024 03:03:14 +0000 (05:03 +0200)
committerBjorn Andersson <andersson@kernel.org>
Wed, 6 Nov 2024 00:28:39 +0000 (16:28 -0800)
Add board DT file for the Qualcomm Snapdragon AR2 Gen1 Smart Viewer
Development Kit.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20241102-sar2130p-dt-v4-3-60b7220fd0dd@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dts [new file with mode: 0644]

index 2454d236eb453de2b042782acaab1977c4aa6d4a..942b6a8e90dfad6cb876566f7cdb5c9b8a67eae7 100644 (file)
@@ -3,6 +3,8 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb
 
 apq8016-sbc-usb-host-dtbs      := apq8016-sbc.dtb apq8016-sbc-usb-host.dtbo
 
+dtb-$(CONFIG_ARCH_QCOM) += sar2130p-qar2130p.dtb
+
 dtb-$(CONFIG_ARCH_QCOM)        += apq8016-sbc-usb-host.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8016-sbc-d3-camera-mezzanine.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8016-schneider-hmibsc.dtb
diff --git a/arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dts b/arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dts
new file mode 100644 (file)
index 0000000..74778a5
--- /dev/null
@@ -0,0 +1,558 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "sar2130p.dtsi"
+#include "pm8150.dtsi"
+
+/ {
+       model = "Qualcomm Snapdragon AR2 Gen1 Smart Viewer Development Kit";
+       compatible = "qcom,qar2130p", "qcom,sar2130p";
+       chassis-type = "embedded";
+
+       aliases {
+               serial0 = &uart11;
+               serial1 = &uart7;
+               i2c0 = &i2c8;
+               i2c1 = &i2c10;
+               mmc1 = &sdhc_1;
+               spi0 = &spi0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       vph_pwr: regulator-vph-pwr {
+               compatible = "regulator-fixed";
+               regulator-name = "vph_pwr";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+               regulator-always-on;
+       };
+
+       /* pm3003a on I2C0, should not be controlled */
+       vreg_ext_1p3: regulator-ext-1p3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vph_ext_1p3";
+               regulator-min-microvolt = <1300000>;
+               regulator-max-microvolt = <1300000>;
+               regulator-always-on;
+               vin-supply = <&vph_pwr>;
+       };
+
+       /* EBI rail, used as LDO input, can not be part of PMIC config */
+       vreg_s10a_0p89: regulator-s10a-0p89 {
+               compatible = "regulator-fixed";
+               regulator-name = "vph_s10a_0p89";
+               regulator-min-microvolt = <890000>;
+               regulator-max-microvolt = <890000>;
+               regulator-always-on;
+               vin-supply = <&vph_pwr>;
+       };
+
+       thermal-zones {
+               sar2130p-thermal {
+                       thermal-sensors = <&pm8150_adc_tm 1>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <100000>;
+                                       hysteresis = <1000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               wifi-thermal {
+                       thermal-sensors = <&pm8150_adc_tm 2>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <52000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               xo-thermal {
+                       thermal-sensors = <&pm8150_adc_tm 0>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <50000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+       };
+
+       wcn7850-pmu {
+               compatible = "qcom,wcn7850-pmu";
+
+               pinctrl-0 = <&wlan_en_state>, <&bt_en_state>;
+               pinctrl-names = "default";
+
+               wlan-enable-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
+               bt-enable-gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
+
+               vdd-supply = <&vreg_s4a_0p95>;
+               vddio-supply = <&vreg_l15a_1p8>;
+               vddaon-supply = <&vreg_s4a_0p95>;
+               vdddig-supply = <&vreg_s4a_0p95>;
+               vddrfa1p2-supply = <&vreg_s4a_0p95>;
+               vddrfa1p8-supply = <&vreg_s5a_1p88>;
+
+               regulators {
+                       vreg_pmu_rfa_cmn: ldo0 {
+                               regulator-name = "vreg_pmu_rfa_cmn";
+                       };
+
+                       vreg_pmu_aon_0p59: ldo1 {
+                               regulator-name = "vreg_pmu_aon_0p59";
+                       };
+
+                       vreg_pmu_wlcx_0p8: ldo2 {
+                               regulator-name = "vreg_pmu_wlcx_0p8";
+                       };
+
+                       vreg_pmu_wlmx_0p85: ldo3 {
+                               regulator-name = "vreg_pmu_wlmx_0p85";
+                       };
+
+                       vreg_pmu_btcmx_0p85: ldo4 {
+                               regulator-name = "vreg_pmu_btcmx_0p85";
+                       };
+
+                       vreg_pmu_rfa_0p8: ldo5 {
+                               regulator-name = "vreg_pmu_rfa_0p8";
+                       };
+
+                       vreg_pmu_rfa_1p2: ldo6 {
+                               regulator-name = "vreg_pmu_rfa_1p2";
+                       };
+
+                       vreg_pmu_rfa_1p8: ldo7 {
+                               regulator-name = "vreg_pmu_rfa_1p8";
+                       };
+
+                       vreg_pmu_pcie_0p9: ldo8 {
+                               regulator-name = "vreg_pmu_pcie_0p9";
+                       };
+
+                       vreg_pmu_pcie_1p8: ldo9 {
+                               regulator-name = "vreg_pmu_pcie_1p8";
+                       };
+               };
+       };
+};
+
+&apps_rsc {
+       regulators-0 {
+               compatible = "qcom,pm8150-rpmh-regulators";
+               qcom,pmic-id = "a";
+
+               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-l8-l11-supply = <&vreg_s4a_0p95>;
+               vdd-l3-l4-l5-l18-supply = <&vreg_ext_1p3>;
+               vdd-l6-l9-supply = <&vreg_s10a_0p89>;
+               vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p88>;
+
+               vreg_s4a_0p95: smps6 {
+                       regulator-name = "vreg_s4a_0p95";
+                       regulator-min-microvolt = <950000>;
+                       regulator-max-microvolt = <1170000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s5a_1p88: smps5 {
+                       regulator-name = "vreg_s5a_1p88";
+                       regulator-min-microvolt = <1856000>;
+                       regulator-max-microvolt = <2040000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1a_0p91: ldo1 {
+                       regulator-name = "vreg_l1a_0p91";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2a_3p1: ldo2 {
+                       regulator-name = "vreg_l2a_3p1";
+                       regulator-min-microvolt = <3080000>;
+                       regulator-max-microvolt = <3544000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3a_1p2: ldo3 {
+                       regulator-name = "vreg_l3a_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1304000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* ldo4 1.26 - system ? */
+
+               vreg_l5a_1p13: ldo5 {
+                       regulator-name = "vreg_l5a_1p13";
+                       regulator-min-microvolt = <1128000>;
+                       regulator-max-microvolt = <1170000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6a_0p6: ldo6 {
+                       regulator-name = "vreg_l6a_0p6";
+                       regulator-min-microvolt = <600000>;
+                       regulator-max-microvolt = <650000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7a_1p8: ldo7 {
+                       regulator-name = "vreg_l7a_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8a_0p88: ldo8 {
+                       regulator-name = "vreg_l8a_0p88";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* ldo9 - LCX */
+
+               vreg_l10a_2p95: ldo10 {
+                       regulator-name = "vreg_l10a_2p95";
+                       regulator-min-microvolt = <2952000>;
+                       regulator-max-microvolt = <3544000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* ldo11 - LMX */
+
+               vreg_l12a_1p8: ldo12 {
+                       regulator-name = "vreg_l12a_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* no ldo13 */
+
+               vreg_l14a_1p8: ldo14 {
+                       regulator-name = "vreg_l14a_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l15a_1p8: ldo15 {
+                       regulator-name = "vreg_l15a_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* no ldo16 - system */
+
+               vreg_l17a_3p26: ldo17 {
+                       regulator-name = "vreg_l17a_3p26";
+                       regulator-min-microvolt = <3200000>;
+                       regulator-max-microvolt = <3544000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l18a_1p2: ldo18 {
+                       regulator-name = "vreg_l18a_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1304000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+};
+
+&gpi_dma0 {
+       status = "okay";
+};
+
+&gpi_dma1 {
+       status = "okay";
+};
+
+&gpu {
+       status = "okay";
+};
+
+&gpu_zap_shader {
+       firmware-name = "qcom/sar2130p/a620_zap.mbn";
+};
+
+&pon_pwrkey {
+       status = "okay";
+};
+
+&pon_resin {
+       linux,code = <KEY_VOLUMEDOWN>;
+
+       status = "okay";
+};
+
+&qupv3_id_0 {
+       status = "okay";
+};
+
+&qupv3_id_1 {
+       status = "okay";
+};
+
+&i2c4 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+};
+
+&i2c8 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+
+       ptn3222: redriver@4f {
+               compatible = "nxp,ptn3222";
+               reg = <0x4f>;
+
+               reset-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
+
+               vdd3v3-supply = <&vreg_l2a_3p1>;
+               vdd1v8-supply = <&vreg_l15a_1p8>;
+
+               #phy-cells = <0>;
+       };
+};
+
+&i2c10 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+};
+
+&pcie0 {
+       perst-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
+
+       pinctrl-0 = <&pcie0_default_state>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pcieport0 {
+       wifi@0 {
+               compatible = "pci17cb,1107";
+               reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+               vddaon-supply = <&vreg_pmu_aon_0p59>;
+               vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+               vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+               vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+               vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+               vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+               vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+               vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
+               vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+       };
+};
+
+&pcie0_phy {
+       vdda-phy-supply = <&vreg_l8a_0p88>;
+       vdda-pll-supply = <&vreg_l3a_1p2>;
+
+       status = "okay";
+};
+
+&pm8150_adc {
+       channel@4c {
+               reg = <ADC5_XO_THERM_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time = <200>;
+               label = "xo_therm";
+       };
+
+       channel@4d {
+               reg = <ADC5_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time = <200>;
+               qcom,pre-scaling = <1 1>;
+               label = "skin_therm";
+       };
+
+       channel@4e {
+               /* msm-5.10 uses ADC5_AMUX_THM2 / 0x0e, although there is a pullup */
+               reg = <ADC5_AMUX_THM2_100K_PU>;
+               qcom,hw-settle-time = <200>;
+               qcom,pre-scaling = <1 1>;
+               label = "wifi_therm";
+       };
+};
+
+&pm8150_adc_tm {
+       status = "okay";
+
+       xo-therm@0 {
+               reg = <0>;
+               io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       skin-therm@1 {
+               reg = <1>;
+               io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       wifi-therm@2 {
+               reg = <2>;
+               /* msm-5.10 uses ADC5_AMUX_THM2, although there is a pullup */
+               io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
+               qcom,hw-settle-time-us = <200>;
+       };
+};
+
+&remoteproc_adsp {
+       firmware-name = "qcom/sar2130p/adsp.mbn";
+
+       status = "okay";
+};
+
+&sdhc_1 {
+       vmmc-supply = <&vreg_l10a_2p95>;
+       vqmmc-supply = <&vreg_l7a_1p8>;
+
+       status = "okay";
+};
+
+&tlmm {
+       bt_en_state: bt-enable-state {
+               pins = "gpio46";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+       };
+
+       pcie0_default_state: pcie0-default-state {
+               perst-pins {
+                       pins = "gpio55";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               clkreq-pins {
+                       pins = "gpio56";
+                       function = "pcie0_clkreqn";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               wake-pins {
+                       pins = "gpio57";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie1_default_state: pcie1-default-state {
+               perst-pins {
+                       pins = "gpio58";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               clkreq-pins {
+                       pins = "gpio59";
+                       function = "pcie1_clkreqn";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               wake-pins {
+                       pins = "gpio60";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       wlan_en_state: wlan-enable-state {
+               pins = "gpio45";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+       };
+};
+
+&uart7 {
+       status = "okay";
+
+       bluetooth {
+               compatible = "qcom,wcn7850-bt";
+
+               vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+               vddaon-supply = <&vreg_pmu_aon_0p59>;
+               vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+               vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+               vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+               vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+               vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+
+               max-speed = <3200000>;
+       };
+};
+
+&uart11 {
+       status = "okay";
+};
+
+&usb_1 {
+       status = "okay";
+};
+
+&usb_1_hsphy {
+       vdd-supply = <&vreg_l8a_0p88>;
+       vdda12-supply = <&vreg_l3a_1p2>;
+
+       phys = <&ptn3222>;
+
+       status = "okay";
+};
+
+&usb_dp_qmpphy {
+       vdda-phy-supply = <&vreg_l3a_1p2>;
+       vdda-pll-supply = <&vreg_l1a_0p91>;
+
+       status = "okay";
+};