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

Add UFS host controller and PHY nodes for SM8750 QRD board. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Co-developed-by: Manish Pandey <quic_mapa@quicinc.com> Signed-off-by: Manish Pandey <quic_mapa@quicinc.com> Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com> Signed-off-by: Melody Olvera <melody.olvera@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250327-sm8750_ufs_master-v3-4-bad1f5398d0a@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1057 lines
27 KiB
Plaintext
1057 lines
27 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
|
#include "sm8750.dtsi"
|
|
#include "pm8010.dtsi"
|
|
#include "pm8550.dtsi"
|
|
#define PMK8550VE_SID 8
|
|
#include "pm8550ve.dtsi"
|
|
#include "pmd8028.dtsi"
|
|
#include "pmih0108.dtsi"
|
|
#include "pmk8550.dtsi"
|
|
#include "pmr735d_a.dtsi"
|
|
#include "sm8750-pmics.dtsi"
|
|
|
|
/ {
|
|
model = "Qualcomm Technologies, Inc. SM8750 QRD";
|
|
compatible = "qcom,sm8750-qrd", "qcom,sm8750";
|
|
chassis-type = "handset";
|
|
|
|
aliases {
|
|
serial0 = &uart7;
|
|
};
|
|
|
|
wcd939x: audio-codec {
|
|
compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec";
|
|
|
|
pinctrl-0 = <&wcd_default>;
|
|
pinctrl-names = "default";
|
|
|
|
qcom,micbias1-microvolt = <1800000>;
|
|
qcom,micbias2-microvolt = <1800000>;
|
|
qcom,micbias3-microvolt = <1800000>;
|
|
qcom,micbias4-microvolt = <1800000>;
|
|
qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
|
|
qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
|
|
qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
|
|
qcom,rx-device = <&wcd_rx>;
|
|
qcom,tx-device = <&wcd_tx>;
|
|
|
|
reset-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
|
|
|
|
vdd-buck-supply = <&vreg_l15b_1p8>;
|
|
vdd-rxtx-supply = <&vreg_l15b_1p8>;
|
|
vdd-io-supply = <&vreg_l15b_1p8>;
|
|
vdd-mic-bias-supply = <&vreg_bob1>;
|
|
/*
|
|
* Mismatch with schematics - downstream DTS has L15B at 1.8 V,
|
|
* schematics L2I at 1.2 V
|
|
*/
|
|
vdd-px-supply = <&vreg_l15b_1p8>;
|
|
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
clocks {
|
|
xo_board: xo-board {
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <76800000>;
|
|
#clock-cells = <0>;
|
|
};
|
|
|
|
sleep_clk: sleep-clk {
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <32000>;
|
|
#clock-cells = <0>;
|
|
};
|
|
|
|
bi_tcxo_div2: bi-tcxo-div2-clk {
|
|
compatible = "fixed-factor-clock";
|
|
#clock-cells = <0>;
|
|
|
|
clocks = <&rpmhcc RPMH_CXO_CLK>;
|
|
clock-mult = <1>;
|
|
clock-div = <2>;
|
|
};
|
|
|
|
bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
|
|
compatible = "fixed-factor-clock";
|
|
#clock-cells = <0>;
|
|
|
|
clocks = <&rpmhcc RPMH_CXO_CLK_A>;
|
|
clock-mult = <1>;
|
|
clock-div = <2>;
|
|
};
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
pinctrl-0 = <&volume_up_n>;
|
|
pinctrl-names = "default";
|
|
|
|
key-volume-up {
|
|
label = "Volume Up";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "qcom,sm8750-sndcard", "qcom,sm8450-sndcard";
|
|
model = "SM8750-QRD";
|
|
audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
|
|
"SpkrRight IN", "WSA_SPK2 OUT",
|
|
"IN1_HPHL", "HPHL_OUT",
|
|
"IN2_HPHR", "HPHR_OUT",
|
|
"AMIC1", "MIC BIAS1",
|
|
"AMIC2", "MIC BIAS2",
|
|
"AMIC3", "MIC BIAS3",
|
|
"AMIC4", "MIC BIAS3",
|
|
"AMIC5", "MIC BIAS4",
|
|
"TX SWR_INPUT0", "ADC1_OUTPUT",
|
|
"TX SWR_INPUT1", "ADC2_OUTPUT",
|
|
"TX SWR_INPUT2", "ADC3_OUTPUT",
|
|
"TX SWR_INPUT3", "ADC4_OUTPUT";
|
|
|
|
wcd-playback-dai-link {
|
|
link-name = "WCD Playback";
|
|
|
|
codec {
|
|
sound-dai = <&wcd939x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
|
|
};
|
|
|
|
cpu {
|
|
sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
|
|
};
|
|
|
|
platform {
|
|
sound-dai = <&q6apm>;
|
|
};
|
|
};
|
|
|
|
wcd-capture-dai-link {
|
|
link-name = "WCD Capture";
|
|
|
|
codec {
|
|
sound-dai = <&wcd939x 1>, <&swr2 0>, <&lpass_txmacro 0>;
|
|
};
|
|
|
|
cpu {
|
|
sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
|
|
};
|
|
|
|
platform {
|
|
sound-dai = <&q6apm>;
|
|
};
|
|
};
|
|
|
|
wsa-dai-link {
|
|
link-name = "WSA Playback";
|
|
|
|
codec {
|
|
sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
|
|
};
|
|
|
|
cpu {
|
|
sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
|
|
};
|
|
|
|
platform {
|
|
sound-dai = <&q6apm>;
|
|
};
|
|
};
|
|
|
|
va-dai-link {
|
|
link-name = "VA Capture";
|
|
|
|
codec {
|
|
sound-dai = <&lpass_vamacro 0>;
|
|
};
|
|
|
|
cpu {
|
|
sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
|
|
};
|
|
|
|
platform {
|
|
sound-dai = <&q6apm>;
|
|
};
|
|
};
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
&apps_rsc {
|
|
regulators-0 {
|
|
compatible = "qcom,pm8550-rpmh-regulators";
|
|
|
|
vdd-bob1-supply = <&vph_pwr>;
|
|
vdd-bob2-supply = <&vph_pwr>;
|
|
vdd-l1-l4-l10-supply = <&vreg_s3g_1p8>;
|
|
vdd-l2-l13-l14-supply = <&vreg_bob1>;
|
|
vdd-l3-supply = <&vreg_s7i_1p2>;
|
|
vdd-l5-l16-supply = <&vreg_bob1>;
|
|
vdd-l6-l7-supply = <&vreg_bob1>;
|
|
vdd-l8-l9-supply = <&vreg_bob1>;
|
|
vdd-l11-supply = <&vreg_s7i_1p2>;
|
|
vdd-l12-supply = <&vreg_s3g_1p8>;
|
|
vdd-l15-supply = <&vreg_s3g_1p8>;
|
|
vdd-l17-supply = <&vreg_bob2>;
|
|
|
|
qcom,pmic-id = "b";
|
|
|
|
vreg_bob1: bob1 {
|
|
regulator-name = "vreg_bob1";
|
|
regulator-min-microvolt = <3008000>;
|
|
regulator-max-microvolt = <4000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_bob2: bob2 {
|
|
regulator-name = "vreg_bob2";
|
|
regulator-min-microvolt = <2704000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1b_1p8: ldo1 {
|
|
regulator-name = "vreg_l1b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2b_3p0: ldo2 {
|
|
regulator-name = "vreg_l2b_3p0";
|
|
regulator-min-microvolt = <3008000>;
|
|
regulator-max-microvolt = <3048000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l4b_1p8: ldo4 {
|
|
regulator-name = "vreg_l4b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l5b_3p1: ldo5 {
|
|
regulator-name = "vreg_l5b_3p1";
|
|
regulator-min-microvolt = <3100000>;
|
|
regulator-max-microvolt = <3148000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6b_1p8: ldo6 {
|
|
regulator-name = "vreg_l6b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l7b_1p8: ldo7 {
|
|
regulator-name = "vreg_l7b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l8b_1p8: ldo8 {
|
|
regulator-name = "vreg_l8b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l9b_2p9: ldo9 {
|
|
regulator-name = "vreg_l9b_2p9";
|
|
regulator-min-microvolt = <2960000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l10b_1p8: ldo10 {
|
|
regulator-name = "vreg_l10b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l11b_1p0: ldo11 {
|
|
regulator-name = "vreg_l11b_1p0";
|
|
regulator-min-microvolt = <1064000>;
|
|
regulator-max-microvolt = <1292000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l12b_1p8: ldo12 {
|
|
regulator-name = "vreg_l12b_1p8";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l13b_3p0: ldo13 {
|
|
regulator-name = "vreg_l13b_3p0";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l14b_3p2: ldo14 {
|
|
regulator-name = "vreg_l14b_3p2";
|
|
regulator-min-microvolt = <3200000>;
|
|
regulator-max-microvolt = <3200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l15b_1p8: ldo15 {
|
|
regulator-name = "vreg_l15b_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l16b_2p8: ldo16 {
|
|
regulator-name = "vreg_l16b_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l17b_2p5: ldo17 {
|
|
regulator-name = "vreg_l17b_2p5";
|
|
regulator-min-microvolt = <2504000>;
|
|
regulator-max-microvolt = <2504000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-1 {
|
|
compatible = "qcom,pm8550ve-rpmh-regulators";
|
|
|
|
vdd-l1-supply = <&vreg_s7i_1p2>;
|
|
vdd-l2-supply = <&vreg_s1d_0p97>;
|
|
vdd-l3-supply = <&vreg_s1d_0p97>;
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
vdd-s4-supply = <&vph_pwr>;
|
|
|
|
qcom,pmic-id = "d";
|
|
|
|
vreg_s1d_0p97: smps1 {
|
|
regulator-name = "vreg_s1d_0p97";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s3d_1p2: smps3 {
|
|
regulator-name = "vreg_s3d_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s4d_0p85: smps4 {
|
|
regulator-name = "vreg_s4d_0p85";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1036000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1d_1p2: ldo1 {
|
|
regulator-name = "vreg_l1d_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2d_0p88: ldo2 {
|
|
regulator-name = "vreg_l2d_0p88";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <912000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3d_0p88: ldo3 {
|
|
regulator-name = "vreg_l3d_0p88";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-2 {
|
|
compatible = "qcom,pm8550ve-rpmh-regulators";
|
|
|
|
vdd-l1-supply = <&vreg_s1d_0p97>;
|
|
vdd-l2-supply = <&vreg_s7i_1p2>;
|
|
vdd-l3-supply = <&vreg_s3g_1p8>;
|
|
vdd-s5-supply = <&vph_pwr>;
|
|
|
|
qcom,pmic-id = "f";
|
|
|
|
vreg_s5f_0p5: smps5 {
|
|
regulator-name = "vreg_s5f_0p5";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1f_0p88: ldo1 {
|
|
regulator-name = "vreg_l1f_0p88";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2f_1p2: ldo2 {
|
|
regulator-name = "vreg_l2f_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3f_1p8: ldo3 {
|
|
regulator-name = "vreg_l3f_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
};
|
|
|
|
regulators-3 {
|
|
compatible = "qcom,pm8550ve-rpmh-regulators";
|
|
|
|
vdd-l1-supply = <&vreg_s1d_0p97>;
|
|
vdd-l2-supply = <&vreg_s3g_1p8>;
|
|
vdd-l3-supply = <&vreg_s7i_1p2>;
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
|
|
qcom,pmic-id = "g";
|
|
|
|
vreg_s1g_0p5: smps1 {
|
|
regulator-name = "vreg_s1g_0p5";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <700000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s3g_1p8: smps3 {
|
|
regulator-name = "vreg_s3g_1p8";
|
|
regulator-min-microvolt = <1856000>;
|
|
regulator-max-microvolt = <2000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s4g_0p75: smps4 {
|
|
regulator-name = "vreg_s4g_0p75";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1g_0p91: ldo1 {
|
|
regulator-name = "vreg_l1g_0p91";
|
|
regulator-min-microvolt = <912000>;
|
|
regulator-max-microvolt = <936000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2g_1p8: ldo2 {
|
|
regulator-name = "vreg_l2g_1p8";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1860000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3g_1p2: ldo3 {
|
|
regulator-name = "vreg_l3g_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1256000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-4 {
|
|
compatible = "qcom,pm8550ve-rpmh-regulators";
|
|
|
|
vdd-l1-supply = <&vreg_s7i_1p2>;
|
|
vdd-l2-supply = <&vreg_s7i_1p2>;
|
|
vdd-l3-supply = <&vreg_s1d_0p97>;
|
|
vdd-s7-supply = <&vph_pwr>;
|
|
vdd-s8-supply = <&vph_pwr>;
|
|
|
|
qcom,pmic-id = "i";
|
|
|
|
vreg_s7i_1p2: smps7 {
|
|
regulator-name = "vreg_s7i_1p2";
|
|
regulator-min-microvolt = <1224000>;
|
|
regulator-max-microvolt = <1340000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s8i_0p9: smps8 {
|
|
regulator-name = "vreg_s8i_0p9";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <972000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1i_1p2: ldo1 {
|
|
regulator-name = "vreg_l1i_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2i_1p2: ldo2 {
|
|
regulator-name = "vreg_l2i_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3i_0p88: ldo3 {
|
|
regulator-name = "vreg_l3i_0p88";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <912000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-5 {
|
|
compatible = "qcom,pm8550vs-rpmh-regulators";
|
|
|
|
vdd-l1-supply = <&vreg_s1d_0p97>;
|
|
vdd-l2-supply = <&vreg_s7i_1p2>;
|
|
vdd-s2-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
|
|
qcom,pmic-id = "j";
|
|
|
|
vreg_s2j_1p1: smps2 {
|
|
regulator-name = "vreg_s2j_1p1";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s3j_1p1: smps3 {
|
|
regulator-name = "vreg_s3j_1p1";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
|
|
vreg_l1j_0p91: ldo1 {
|
|
regulator-name = "vreg_l1j_0p91";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2j_1p2: ldo2 {
|
|
regulator-name = "vreg_l2j_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-6 {
|
|
compatible = "qcom,pm8010-rpmh-regulators";
|
|
qcom,pmic-id = "m";
|
|
|
|
vdd-l1-l2-supply = <&vreg_s7i_1p2>;
|
|
vdd-l3-l4-supply = <&vreg_s3g_1p8>;
|
|
vdd-l5-supply = <&vreg_s3g_1p8>;
|
|
vdd-l6-supply = <&vreg_bob1>;
|
|
vdd-l7-supply = <&vreg_bob1>;
|
|
|
|
vreg_l1m_1p1: ldo1 {
|
|
regulator-name = "vreg_l1m_1p1";
|
|
regulator-min-microvolt = <1104000>;
|
|
regulator-max-microvolt = <1104000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2m_1p056: ldo2 {
|
|
regulator-name = "vreg_l2m_1p056";
|
|
regulator-min-microvolt = <1056000>;
|
|
regulator-max-microvolt = <1056000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3m_2p8: ldo3 {
|
|
regulator-name = "vreg_l3m_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l4m_2p8: ldo4 {
|
|
regulator-name = "vreg_l4m_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l5m_1p8: ldo5 {
|
|
regulator-name = "vreg_l5m_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6m_2p8: ldo6 {
|
|
regulator-name = "vreg_l6m_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l7m_2p96: ldo7 {
|
|
regulator-name = "vreg_l7m_2p96";
|
|
regulator-min-microvolt = <2960000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
regulators-7 {
|
|
compatible = "qcom,pm8010-rpmh-regulators";
|
|
qcom,pmic-id = "n";
|
|
|
|
vdd-l1-l2-supply = <&vreg_s7i_1p2>;
|
|
vdd-l3-l4-supply = <&vreg_s7i_1p2>;
|
|
vdd-l5-supply = <&vreg_bob2>;
|
|
vdd-l6-supply = <&vreg_bob2>;
|
|
vdd-l7-supply = <&vreg_bob1>;
|
|
|
|
vreg_l1n_1p1: ldo1 {
|
|
regulator-name = "vreg_l1n_1p1";
|
|
regulator-min-microvolt = <1104000>;
|
|
regulator-max-microvolt = <1104000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2n_1p1: ldo2 {
|
|
regulator-name = "vreg_l2n_1p1";
|
|
regulator-min-microvolt = <1104000>;
|
|
regulator-max-microvolt = <1104000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3n_1p8: ldo3 {
|
|
regulator-name = "vreg_l3n_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l4n_1p8: ldo4 {
|
|
regulator-name = "vreg_l4n_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l5n_2p8: ldo5 {
|
|
regulator-name = "vreg_l5n_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6n_2p8: ldo6 {
|
|
regulator-name = "vreg_l6n_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l7n_3p3: ldo7 {
|
|
regulator-name = "vreg_l7n_3p3";
|
|
regulator-min-microvolt = <3304000>;
|
|
regulator-max-microvolt = <3304000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pm8550_flash {
|
|
status = "okay";
|
|
|
|
led-0 {
|
|
function = LED_FUNCTION_FLASH;
|
|
color = <LED_COLOR_ID_YELLOW>;
|
|
led-sources = <1>, <4>;
|
|
led-max-microamp = <500000>;
|
|
flash-max-microamp = <2000000>;
|
|
flash-max-timeout-us = <1280000>;
|
|
function-enumerator = <0>;
|
|
};
|
|
|
|
led-1 {
|
|
function = LED_FUNCTION_FLASH;
|
|
color = <LED_COLOR_ID_WHITE>;
|
|
led-sources = <2>, <3>;
|
|
led-max-microamp = <500000>;
|
|
flash-max-microamp = <2000000>;
|
|
flash-max-timeout-us = <1280000>;
|
|
function-enumerator = <1>;
|
|
};
|
|
};
|
|
|
|
&pm8550_gpios {
|
|
volume_up_n: volume-up-n-state {
|
|
pins = "gpio6";
|
|
function = "normal";
|
|
bias-pull-up;
|
|
input-enable;
|
|
power-source = <1>;
|
|
};
|
|
};
|
|
|
|
&pm8550_pwm {
|
|
status = "okay";
|
|
|
|
multi-led {
|
|
color = <LED_COLOR_ID_RGB>;
|
|
function = LED_FUNCTION_STATUS;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
led@1 {
|
|
reg = <1>;
|
|
color = <LED_COLOR_ID_RED>;
|
|
};
|
|
|
|
led@2 {
|
|
reg = <2>;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
};
|
|
|
|
led@3 {
|
|
reg = <3>;
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pon_pwrkey {
|
|
status = "okay";
|
|
};
|
|
|
|
&pon_resin {
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&pmih0108_eusb2_repeater {
|
|
status = "okay";
|
|
|
|
vdd18-supply = <&vreg_l15b_1p8>;
|
|
vdd3-supply = <&vreg_l5b_3p1>;
|
|
};
|
|
|
|
&qupv3_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&remoteproc_adsp {
|
|
firmware-name = "qcom/sm8750/adsp.mbn",
|
|
"qcom/sm8750/adsp_dtb.mbn";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&remoteproc_cdsp {
|
|
firmware-name = "qcom/sm8750/cdsp.mbn",
|
|
"qcom/sm8750/cdsp_dtb.mbn";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&remoteproc_mpss {
|
|
firmware-name = "qcom/sm8750/modem.mbn",
|
|
"qcom/sm8750/modem_dtb.mbn";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&swr0 {
|
|
status = "okay";
|
|
|
|
/* WSA8845, Speaker North */
|
|
north_spkr: speaker@0,0 {
|
|
compatible = "sdw20217020400";
|
|
reg = <0 0>;
|
|
pinctrl-0 = <&spkr_0_sd_n_active>;
|
|
pinctrl-names = "default";
|
|
powerdown-gpios = <&tlmm 76 GPIO_ACTIVE_LOW>;
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SpkrLeft";
|
|
vdd-1p8-supply = <&vreg_l15b_1p8>;
|
|
vdd-io-supply = <&vreg_l2i_1p2>;
|
|
|
|
/*
|
|
* WSA8845 Port 1 (DAC) <=> SWR0 Port 1 (SPKR_L)
|
|
* WSA8845 Port 2 (COMP) <=> SWR0 Port 2 (SPKR_L_COMP)
|
|
* WSA8845 Port 3 (BOOST) <=> SWR0 Port 3 (SPKR_L_BOOST)
|
|
* WSA8845 Port 4 (PBR) <=> SWR0 Port 7 (PBR)
|
|
* WSA8845 Port 5 (VISENSE) <=> SWR0 Port 10 (SPKR_L_VI)
|
|
* WSA8845 Port 6 (CPS) <=> SWR0 Port 13 (CPS)
|
|
*/
|
|
qcom,port-mapping = <1 2 3 7 10 13>;
|
|
};
|
|
|
|
/* WSA8845, Speaker South */
|
|
south_spkr: speaker@0,1 {
|
|
compatible = "sdw20217020400";
|
|
reg = <0 1>;
|
|
pinctrl-0 = <&spkr_1_sd_n_active>;
|
|
pinctrl-names = "default";
|
|
powerdown-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SpkrRight";
|
|
vdd-1p8-supply = <&vreg_l15b_1p8>;
|
|
vdd-io-supply = <&vreg_l2i_1p2>;
|
|
|
|
/*
|
|
* WSA8845 Port 1 (DAC) <=> SWR0 Port 4 (SPKR_R)
|
|
* WSA8845 Port 2 (COMP) <=> SWR0 Port 5 (SPKR_R_COMP)
|
|
* WSA8845 Port 3 (BOOST) <=> SWR0 Port 6 (SPKR_R_BOOST)
|
|
* WSA8845 Port 4 (PBR) <=> SWR0 Port 7 (PBR)
|
|
* WSA8845 Port 5 (VISENSE) <=> SWR0 Port 11 (SPKR_R_VI)
|
|
* WSA8845 Port 6 (CPS) <=> SWR0 Port 13 (CPS)
|
|
*/
|
|
qcom,port-mapping = <4 5 6 7 11 13>;
|
|
};
|
|
};
|
|
|
|
&swr1 {
|
|
status = "okay";
|
|
|
|
/* WCD9395 RX */
|
|
wcd_rx: codec@0,4 {
|
|
compatible = "sdw20217010e00";
|
|
reg = <0 4>;
|
|
|
|
/*
|
|
* WCD9395 RX Port 1 (HPH_L/R) <=> SWR1 Port 1 (HPH_L/R)
|
|
* WCD9395 RX Port 2 (CLSH) <=> SWR1 Port 2 (CLSH)
|
|
* WCD9395 RX Port 3 (COMP_L/R) <=> SWR1 Port 3 (COMP_L/R)
|
|
* WCD9395 RX Port 4 (LO) <=> SWR1 Port 4 (LO)
|
|
* WCD9395 RX Port 5 (DSD_L/R) <=> SWR1 Port 5 (DSD_L/R)
|
|
* WCD9395 RX Port 6 (HIFI_PCM_L/R) <=> SWR1 Port 9 (HIFI_PCM_L/R)
|
|
*/
|
|
qcom,rx-port-mapping = <1 2 3 4 5 9>;
|
|
};
|
|
};
|
|
|
|
&swr2 {
|
|
status = "okay";
|
|
|
|
/* WCD9395 TX */
|
|
wcd_tx: codec@0,3 {
|
|
compatible = "sdw20217010e00";
|
|
reg = <0 3>;
|
|
|
|
/*
|
|
* WCD9395 TX Port 1 (ADC1,2,3,4) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
|
|
* WCD9395 TX Port 2 (ADC3,4 & DMIC0,1) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
|
|
* WCD9395 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3 (TX SWR_INPUT 4,5,6,7)
|
|
* WCD9395 TX Port 4 (DMIC4,5,6,7) <=> SWR2 Port 4 (TX SWR_INPUT 8,9,10,11)
|
|
*/
|
|
qcom,tx-port-mapping = <2 2 3 4>;
|
|
};
|
|
};
|
|
|
|
&tlmm {
|
|
/* reserved for secure world */
|
|
gpio-reserved-ranges = <36 4>, <74 1>;
|
|
|
|
spkr_0_sd_n_active: spkr-0-sd-n-active-state {
|
|
pins = "gpio76";
|
|
function = "gpio";
|
|
drive-strength = <16>;
|
|
bias-disable;
|
|
output-low;
|
|
};
|
|
|
|
spkr_1_sd_n_active: spkr-1-sd-n-active-state {
|
|
pins = "gpio77";
|
|
function = "gpio";
|
|
drive-strength = <16>;
|
|
bias-disable;
|
|
output-low;
|
|
};
|
|
|
|
wcd_default: wcd-reset-n-active-state {
|
|
pins = "gpio101";
|
|
function = "gpio";
|
|
drive-strength = <16>;
|
|
bias-disable;
|
|
output-low;
|
|
};
|
|
};
|
|
|
|
&uart7 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ufs_mem_phy {
|
|
vdda-phy-supply = <&vreg_l1j_0p91>;
|
|
vdda-pll-supply = <&vreg_l3g_1p2>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&ufs_mem_hc {
|
|
reset-gpios = <&tlmm 215 GPIO_ACTIVE_LOW>;
|
|
|
|
vcc-supply = <&vreg_l17b_2p5>;
|
|
vcc-max-microamp = <1300000>;
|
|
vccq-supply = <&vreg_l1d_1p2>;
|
|
vccq-max-microamp = <1200000>;
|
|
|
|
status = "okay";
|
|
};
|