mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00

This board uses RPMH, specifies "regulator-allow-set-load" for LDOs, but doesn't specify any modes with "regulator-allowed-modes". Prior to commitefb0cb50c4
("regulator: qcom-rpmh: Implement get_optimum_mode(), not set_load()") the above meant that we were able to set either LPM or HPM mode. After that commit (and fixes [1]) we'll be stuck at the initial mode. Discussion of this has resulted in the decision that the old dts files were wrong and should be fixed to fully restore old functionality. Let's re-enable the old functionality by fixing the dts. [1] https://lore.kernel.org/r/20220824142229.RFT.v2.2.I6f77860e5cd98bf5c67208fa9edda4a08847c304@changeid Fixes:69cdb97ef6
("arm64: dts: qcom: sm8250: Add support for SONY Xperia 1 II / 5 II (Edo platform)") Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Andrew Halaney <ahalaney@redhat.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20220829094903.v2.5.Ie446d5183d8b1e9ec4e32228ca300e604e3315eb@changeid
670 lines
15 KiB
Text
670 lines
15 KiB
Text
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
|
|
*/
|
|
|
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
|
#include "sm8250.dtsi"
|
|
#include "pm8150.dtsi"
|
|
#include "pm8150b.dtsi"
|
|
#include "pm8150l.dtsi"
|
|
#include "pm8009.dtsi"
|
|
|
|
/delete-node/ &adsp_mem;
|
|
/delete-node/ &spss_mem;
|
|
/delete-node/ &cdsp_secure_heap;
|
|
|
|
/ {
|
|
qcom,msm-id = <356 0x20001>; /* SM8250 v2.1 */
|
|
qcom,board-id = <0x10008 0>;
|
|
|
|
chosen {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
framebuffer: framebuffer@9c000000 {
|
|
compatible = "simple-framebuffer";
|
|
reg = <0 0x9c000000 0 0x2300000>;
|
|
width = <1644>;
|
|
height = <3840>;
|
|
stride = <(1644 * 4)>;
|
|
format = "a8r8g8b8";
|
|
/*
|
|
* That's a lot of clocks, but it's necessary due
|
|
* to unused clk cleanup & no panel driver yet..
|
|
*/
|
|
clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
|
|
<&gcc GCC_DISP_HF_AXI_CLK>,
|
|
<&gcc GCC_DISP_SF_AXI_CLK>,
|
|
<&dispcc DISP_CC_MDSS_VSYNC_CLK>,
|
|
<&dispcc DISP_CC_MDSS_MDP_CLK>,
|
|
<&dispcc DISP_CC_MDSS_BYTE0_CLK>,
|
|
<&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
|
|
<&dispcc DISP_CC_MDSS_PCLK0_CLK>,
|
|
<&dispcc DISP_CC_MDSS_ESC0_CLK>;
|
|
power-domains = <&dispcc MDSS_GDSC>;
|
|
};
|
|
};
|
|
|
|
gpio_keys: gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
/*
|
|
* Camera focus (light press) and camera snapshot (full press)
|
|
* seem not to work properly.. Adding the former one stalls the CPU
|
|
* and the latter kills the volume down key for whatever reason. In any
|
|
* case, they are both on &pm8150b_gpios: camera focus(2), camera snapshot(1).
|
|
*/
|
|
|
|
key-vol-down {
|
|
label = "Volume Down";
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
|
|
vph_pwr: vph-pwr-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vph_pwr";
|
|
regulator-min-microvolt = <3700000>;
|
|
regulator-max-microvolt = <3700000>;
|
|
};
|
|
|
|
/* S6c is really ebi.lvl but it's there for supply map completeness sake. */
|
|
vreg_s6c_0p88: smpc6-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vreg_s6c_0p88";
|
|
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <880000>;
|
|
regulator-always-on;
|
|
vin-supply = <&vph_pwr>;
|
|
};
|
|
|
|
reserved-memory {
|
|
adsp_mem: memory@8a100000 {
|
|
reg = <0x0 0x8a100000 0x0 0x2500000>;
|
|
no-map;
|
|
};
|
|
|
|
spss_mem: memory@8c600000 {
|
|
reg = <0x0 0x8c600000 0x0 0x100000>;
|
|
no-map;
|
|
};
|
|
|
|
cdsp_secure_heap: memory@8c700000 {
|
|
reg = <0x0 0x8c700000 0x0 0x4600000>;
|
|
no-map;
|
|
};
|
|
|
|
cont_splash_mem: memory@9c000000 {
|
|
reg = <0x0 0x9c000000 0x0 0x2300000>;
|
|
no-map;
|
|
};
|
|
|
|
ramoops@ffc00000 {
|
|
compatible = "ramoops";
|
|
reg = <0x0 0xffc00000 0x0 0x100000>;
|
|
record-size = <0x1000>;
|
|
console-size = <0x40000>;
|
|
msg-size = <0x20000 0x20000>;
|
|
ecc-size = <16>;
|
|
no-map;
|
|
};
|
|
};
|
|
};
|
|
|
|
&adsp {
|
|
status = "okay";
|
|
};
|
|
|
|
&apps_rsc {
|
|
pm8150-rpmh-regulators {
|
|
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_s6c_0p88>;
|
|
vdd-l2-l10-supply = <&vreg_bob>;
|
|
vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p6>;
|
|
vdd-l6-l9-supply = <&vreg_s8c_1p2>;
|
|
vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
|
|
vdd-l13-l16-l17-supply = <&vreg_bob>;
|
|
|
|
/* (S1+S2+S3) - cx.lvl (ARC) */
|
|
|
|
vreg_s4a_1p8: smps4 {
|
|
regulator-name = "vreg_s4a_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s5a_1p9: smps5 {
|
|
regulator-name = "vreg_s5a_1p9";
|
|
regulator-min-microvolt = <1824000>;
|
|
regulator-max-microvolt = <2040000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s6a_0p6: smps6 {
|
|
regulator-name = "vreg_s6a_0p6";
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1128000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l2a_3p1: ldo2 {
|
|
regulator-name = "vreg_l2a_3p1";
|
|
regulator-min-microvolt = <3072000>;
|
|
regulator-max-microvolt = <3072000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3a_0p9: ldo3 {
|
|
regulator-name = "vreg_l3a_0p9";
|
|
regulator-min-microvolt = <928000>;
|
|
regulator-max-microvolt = <932000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L4 - lmx.lvl (ARC) */
|
|
|
|
vreg_l5a_0p88: ldo5 {
|
|
regulator-name = "vreg_l5a_0p88";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <880000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6a_1p2: ldo6 {
|
|
regulator-name = "vreg_l6a_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L7 is unused. */
|
|
|
|
vreg_l9a_1p2: ldo9 {
|
|
regulator-name = "vreg_l9a_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L10 is unused, L11 - lcx.lvl (ARC) */
|
|
|
|
vreg_l12a_1p8: ldo12 {
|
|
regulator-name = "vreg_l12a_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L13 is unused. */
|
|
|
|
vreg_l14a_1p8: ldo14 {
|
|
regulator-name = "vreg_l14a_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1880000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L15 & L16 are unused. */
|
|
|
|
vreg_l17a_3p0: ldo17 {
|
|
regulator-name = "vreg_l17a_3p0";
|
|
regulator-min-microvolt = <2496000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l18a_0p9: ldo18 {
|
|
regulator-name = "vreg_l18a_0p9";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
/*
|
|
* Remaining regulators that are not yet supported:
|
|
* OLEDB: 4925000-8100000
|
|
* ab: 4600000-6100000
|
|
* ibb: 800000-5400000
|
|
*/
|
|
pm8150l-rpmh-regulators {
|
|
compatible = "qcom,pm8150l-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-l1-l8-supply = <&vreg_s4a_1p8>;
|
|
vdd-l2-l3-supply = <&vreg_s8c_1p2>;
|
|
vdd-l4-l5-l6-supply = <&vreg_bob>;
|
|
vdd-l7-l11-supply = <&vreg_bob>;
|
|
vdd-l9-l10-supply = <&vreg_bob>;
|
|
vdd-bob-supply = <&vph_pwr>;
|
|
|
|
vreg_bob: bob {
|
|
regulator-name = "vreg_bob";
|
|
regulator-min-microvolt = <3350000>;
|
|
regulator-max-microvolt = <3960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
|
};
|
|
|
|
/*
|
|
* S1-S6 are ARCs:
|
|
* (S1+S2) - gfx.lvl,
|
|
* S3 - mx.lvl,
|
|
* (S4+S5) - mmcx.lvl,
|
|
* S6 - ebi.lvl
|
|
*/
|
|
|
|
vreg_s7c_0p35: smps7 {
|
|
regulator-name = "vreg_s7c_0p35";
|
|
regulator-min-microvolt = <348000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s8c_1p2: smps8 {
|
|
regulator-name = "vreg_s8c_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1c_1p8: ldo1 {
|
|
regulator-name = "vreg_l1c_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L2-4 are unused. */
|
|
|
|
vreg_l5c_1p8: ldo5 {
|
|
regulator-name = "vreg_l5c_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6c_2p9: ldo6 {
|
|
regulator-name = "vreg_l6c_2p9";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes =
|
|
<RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l7c_2p85: ldo7 {
|
|
regulator-name = "vreg_l7c_2p85";
|
|
regulator-min-microvolt = <2856000>;
|
|
regulator-max-microvolt = <3104000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l8c_1p8: ldo8 {
|
|
regulator-name = "vreg_l8c_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l9c_2p9: ldo9 {
|
|
regulator-name = "vreg_l9c_2p9";
|
|
regulator-min-microvolt = <2704000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes =
|
|
<RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l10c_3p3: ldo10 {
|
|
regulator-name = "vreg_l10c_3p3";
|
|
regulator-min-microvolt = <3296000>;
|
|
regulator-max-microvolt = <3296000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l11c_3p0: ldo11 {
|
|
regulator-name = "vreg_l11c_3p0";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
|
|
pm8009-rpmh-regulators {
|
|
compatible = "qcom,pm8009-rpmh-regulators";
|
|
qcom,pmic-id = "f";
|
|
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s2-supply = <&vreg_bob>;
|
|
vdd-l2-supply = <&vreg_s8c_1p2>;
|
|
vdd-l5-l6-supply = <&vreg_bob>;
|
|
vdd-l7-supply = <&vreg_s4a_1p8>;
|
|
|
|
vreg_s1f_1p2: smps1 {
|
|
regulator-name = "vreg_s1f_1p2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s2f_0p5: smps2 {
|
|
regulator-name = "vreg_s2f_0p5";
|
|
regulator-min-microvolt = <512000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L1 is unused. */
|
|
|
|
vreg_l2f_1p3: ldo2 {
|
|
regulator-name = "vreg_l2f_1p3";
|
|
regulator-min-microvolt = <1304000>;
|
|
regulator-max-microvolt = <1304000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L3 & L4 are unused. */
|
|
|
|
vreg_l5f_2p8: ldo5 {
|
|
regulator-name = "vreg_l5f_2p85";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l6f_2p8: ldo6 {
|
|
regulator-name = "vreg_l6f_2p8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l7f_1p8: ldo7 {
|
|
regulator-name = "vreg_l7f_1p8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&cdsp {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpi_dma0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpi_dma1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpi_dma2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* NXP PN553 NFC @ 28 */
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
clock-frequency = <1000000>;
|
|
|
|
cs35l41_l: cs35l41@40 {
|
|
compatible = "cirrus,cs35l41";
|
|
reg = <0x40>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
|
|
cirrus,boost-peak-milliamp = <4000>;
|
|
cirrus,boost-ind-nanohenry = <1000>;
|
|
cirrus,boost-cap-microfarad = <15>;
|
|
cirrus,asp-sdout-hiz = <3>;
|
|
cirrus,gpio2-src-select = <2>;
|
|
cirrus,gpio2-output-enable;
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
cs35l41_r: cs35l41@41 {
|
|
compatible = "cirrus,cs35l41";
|
|
reg = <0x41>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
|
|
cirrus,boost-peak-milliamp = <4000>;
|
|
cirrus,boost-ind-nanohenry = <1000>;
|
|
cirrus,boost-cap-microfarad = <15>;
|
|
cirrus,asp-sdout-hiz = <3>;
|
|
cirrus,gpio2-src-select = <2>;
|
|
cirrus,gpio2-output-enable;
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
};
|
|
|
|
&i2c5 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* Dialog SLG51000 CMIC @ 75 */
|
|
};
|
|
|
|
&i2c9 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* AMS TCS3490 RGB+IR color sensor @ 72 */
|
|
};
|
|
|
|
&i2c13 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
touchscreen@48 {
|
|
compatible = "samsung,s6sy761";
|
|
reg = <0x48>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <39 0x2008>;
|
|
/* It's "vddio" downstream but it works anyway! */
|
|
vdd-supply = <&vreg_l1c_1p8>;
|
|
avdd-supply = <&vreg_l10c_3p3>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ts_int_default>;
|
|
};
|
|
};
|
|
|
|
&i2c15 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* Qcom SMB1390 @ 10 */
|
|
/* Silicon Labs SI4704 FM Radio Receiver @ 11 */
|
|
/* Qcom SMB1390_slave @ 18 */
|
|
/* HALO HL6111R Qi charger @ 25 */
|
|
/* Richwave RTC6226 FM Radio Receiver @ 64 */
|
|
};
|
|
|
|
&pcie0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie0_phy {
|
|
status = "okay";
|
|
|
|
vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
};
|
|
|
|
&pcie2 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&pcie2_default_state &mdm2ap_default &ap2mdm_default>;
|
|
};
|
|
|
|
&pcie2_phy {
|
|
status = "okay";
|
|
|
|
vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
};
|
|
|
|
&pon_pwrkey {
|
|
status = "okay";
|
|
};
|
|
|
|
&pon_resin {
|
|
status = "okay";
|
|
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
};
|
|
|
|
&qupv3_id_0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qupv3_id_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qupv3_id_2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhc_2 {
|
|
status = "okay";
|
|
|
|
cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
|
|
pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
|
|
vmmc-supply = <&vreg_l9c_2p9>;
|
|
vqmmc-supply = <&vreg_l6c_2p9>;
|
|
bus-width = <4>;
|
|
no-sdio;
|
|
no-emmc;
|
|
};
|
|
|
|
&slpi {
|
|
status = "okay";
|
|
};
|
|
|
|
&tlmm {
|
|
gpio-reserved-ranges = <40 4>, <52 4>;
|
|
|
|
sdc2_default_state: sdc2-default {
|
|
clk {
|
|
pins = "sdc2_clk";
|
|
drive-strength = <16>;
|
|
bias-disable;
|
|
};
|
|
|
|
cmd {
|
|
pins = "sdc2_cmd";
|
|
drive-strength = <16>;
|
|
bias-pull-up;
|
|
};
|
|
|
|
data {
|
|
pins = "sdc2_data";
|
|
drive-strength = <16>;
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mdm2ap_default: mdm2ap-default {
|
|
pins = "gpio1", "gpio3";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
bias-disable;
|
|
};
|
|
|
|
ts_int_default: ts-int-default {
|
|
pins = "gpio39";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-disabled;
|
|
input-enable;
|
|
};
|
|
|
|
ap2mdm_default: ap2mdm-default {
|
|
pins = "gpio56", "gpio57";
|
|
function = "gpio";
|
|
drive-strength = <16>;
|
|
bias-disable;
|
|
};
|
|
|
|
sdc2_card_det_n: sd-card-det-n {
|
|
pins = "gpio77";
|
|
function = "gpio";
|
|
bias-pull-up;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
|
|
&uart12 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
|
|
&ufs_mem_hc { status = "disabled"; };
|
|
&ufs_mem_phy { status = "disabled"; };
|
|
|
|
&usb_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_1_dwc3 {
|
|
dr_mode = "peripheral";
|
|
};
|
|
|
|
&usb_1_hsphy {
|
|
status = "okay";
|
|
|
|
vdda-pll-supply = <&vreg_l5a_0p88>;
|
|
vdda18-supply = <&vreg_l12a_1p8>;
|
|
vdda33-supply = <&vreg_l2a_3p1>;
|
|
};
|
|
|
|
&usb_1_qmpphy {
|
|
status = "okay";
|
|
|
|
vdda-phy-supply = <&vreg_l9a_1p2>;
|
|
vdda-pll-supply = <&vreg_l18a_0p9>;
|
|
};
|