mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

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>
559 lines
11 KiB
Plaintext
559 lines
11 KiB
Plaintext
// 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";
|
|
};
|