Files
android_kernel_samsung_sm87…/qcom/sun-cdp.dtsi
Nitin Rawat 1a3f9c0ed5 ARM: dts: msm: Add ufs shutdown power supply for sun
Add ufs proxy power supply to add an additional vote
for VCCQ LDO. In case of ufs shutdown, UFS VCCQ LDO would
be turned off by PMIC regulator itself.

Change-Id: If55c56bcbe6a3b76dbe5703095bd5d98abdca8a6
Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
2024-05-03 17:54:46 +05:30

305 lines
7.2 KiB
Plaintext

// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/clock/qcom,gcc-sun.h>
#include "sun-pmic-overlay.dtsi"
#include "sun-thermal-overlay.dtsi"
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce,interval = <15>;
linux,can-disable;
};
};
};
&regulator_ocp_notifier {
periph-1c1-supply = <&L1B>;
periph-1c2-supply = <&L2B>;
periph-1c4-supply = <&L4B>;
periph-1c5-supply = <&L5B>;
periph-1c6-supply = <&L6B>;
periph-1c7-supply = <&L7B>;
periph-1c8-supply = <&L8B>;
periph-1c9-supply = <&L9B>;
periph-1ca-supply = <&L10B>;
periph-1cb-supply = <&L11B>;
periph-1cc-supply = <&L12B>;
periph-1cd-supply = <&L13B>;
periph-1ce-supply = <&L14B>;
periph-1cf-supply = <&L15B>;
periph-1d0-supply = <&L16B>;
periph-1d1-supply = <&L17B>;
periph-1e4-supply = <&BOB1>;
periph-1e6-supply = <&BOB2>;
periph-39b-supply = <&S1D>;
periph-39e-supply = <&S2D_LEVEL>;
periph-3a1-supply = <&S3D>;
periph-3a4-supply = <&S4D>;
periph-3a7-supply = <&S5D_LEVEL>;
periph-3c1-supply = <&L1D>;
periph-3c2-supply = <&L2D>;
periph-3c3-supply = <&L3D>;
periph-5aa-supply = <&S6F_LEVEL>;
periph-5c1-supply = <&L1F>;
periph-5c2-supply = <&L2F>;
periph-5c3-supply = <&L3F>;
periph-69b-supply = <&S1G>;
periph-69e-supply = <&S2G_LEVEL>;
periph-6a1-supply = <&S3G>;
periph-6a4-supply = <&S4G>;
periph-6a7-supply = <&S5G_LEVEL>;
periph-6ad-supply = <&S7G_LEVEL>;
periph-6c1-supply = <&L1G>;
periph-6c2-supply = <&L2G>;
periph-6c3-supply = <&L3G>;
periph-89b-supply = <&S1I_LEVEL>;
periph-8a1-supply = <&S3I_LEVEL>;
periph-8a7-supply = <&S5I_LEVEL>;
periph-8aa-supply = <&S6I_LEVEL>;
periph-8ad-supply = <&S7I>;
periph-8b0-supply = <&S8I>;
periph-8c1-supply = <&L1I>;
periph-8c2-supply = <&L2I>;
periph-8c3-supply = <&L3I>;
periph-99b-supply = <&S1J_LEVEL>;
periph-99e-supply = <&S2J>;
periph-9a1-supply = <&S3J>;
periph-9a4-supply = <&S4J>;
periph-9c1-supply = <&L1J>;
periph-9c2-supply = <&L2J>;
periph-9c3-supply = <&L3J_LEVEL>;
periph-ac1-supply = <&L1K>;
periph-ac2-supply = <&L2K>;
periph-ac3-supply = <&L3K>;
periph-ac4-supply = <&L4K>;
periph-ac5-supply = <&L5K>;
periph-ac6-supply = <&L6K>;
periph-ac7-supply = <&L7K>;
periph-c40-supply = <&L1M>;
periph-c41-supply = <&L2M>;
periph-c42-supply = <&L3M>;
periph-c43-supply = <&L4M>;
periph-c44-supply = <&L5M>;
periph-c45-supply = <&L6M>;
periph-c46-supply = <&L7M>;
periph-d40-supply = <&L1N>;
periph-d41-supply = <&L2N>;
periph-d42-supply = <&L3N>;
periph-d43-supply = <&L4N>;
periph-d44-supply = <&L5N>;
periph-d45-supply = <&L6N>;
periph-d46-supply = <&L7N>;
};
&pm8550_switch0 {
qcom,led-mask = <9>; /* Channels 1 & 4 */
qcom,symmetry-en;
};
&pm8550_switch1 {
qcom,led-mask = <6>; /* Channels 2 & 3 */
qcom,symmetry-en;
};
&pm8550_switch2 {
qcom,led-mask = <15>; /* All Channels */
qcom,symmetry-en;
};
&pm8550_flash {
status = "ok";
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-sun";
/* VDDA_UFS_CORE */
vdda-phy-supply = <&pm_v6j_l1>;
vdda-phy-max-microamp = <213000>;
/*
* Platforms supporting Gear 5 && Rate B require a different
* voltage supply. Check the Power Grid document.
*/
vdda-phy-min-microvolt = <912000>;
/* VDDA_UFS_0_1P2 */
vdda-pll-supply = <&pm_v8g_l3>;
vdda-pll-max-microamp = <18300>;
/* Phy GDSC for VDD_MX, always on */
vdd-phy-gdsc-supply = <&gcc_ufs_mem_phy_gdsc>;
/* Qref power supply, Refer Qref diagram */
vdda-qref-supply = <&pm_v8i_l3>;
vdda-qref-max-microamp = <64500>;
/*
* Refer to Sun's Power Grid Analysis document.
* Add vote for REFGEN_VDD_A_0P9/VDD_A_PCIE_0_0P9 regulator.
*/
vdda-refgen-supply = <&pm_v6f_l1>;
vdda-refgen-max-microamp = <206000>;
status = "ok";
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vcc-supply = <&pm_humu_l17>;
vcc-max-microamp = <1300000>;
vccq-supply = <&pm_v8d_l1>;
vccq-max-microamp = <1200000>;
/* UFS Rst pin is always on. It is shared with VDD_PX14 */
qcom,vddp-ref-clk-supply = <&pm_v8i_l2>;
qcom,vddp-ref-clk-max-microamp = <100>;
qcom,vccq-parent-supply = <&pm_v8i_s7>;
qcom,vccq-parent-max-microamp = <210000>;
qcom,vccq-proxy-vote-supply = <&pm_v8d_l1>;
qcom,vccq-proxy-vote-max-microamp = <1200000>;
reset-gpios = <&tlmm 215 GPIO_ACTIVE_LOW>;
resets = <&gcc GCC_UFS_PHY_BCR>;
reset-names = "rst";
status = "ok";
};
&sdhc_2 {
status = "ok";
vdd-supply = <&pm_humu_l9>;
qcom,vdd-voltage-level = <2950000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&pm_humu_l8>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
cd-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>;
resets = <&gcc GCC_SDCC2_BCR>;
reset-names = "core_reset";
qcom,uses_level_shifter;
};
&eusb2_phy0 {
dummy-supply = <&pmih010x_eusb2_repeater>;
usb-repeater = <&pmih010x_eusb2_repeater>;
};
&qupv3_se4_i2c {
#address-cells = <1>;
#size-cells = <0>;
status = "ok";
qcom,touch-active = "st,fts";
st_fts@49 {
compatible = "st,fts";
reg = <0x49>;
interrupt-parent = <&tlmm>;
interrupts = <162 0x2008>;
vdd-supply = <&L4B>;
avdd-supply = <&L14B>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
st,irq-gpio = <&tlmm 162 0x2008>;
st,reset-gpio = <&tlmm 161 0x00>;
st,regulator_dvdd = "vdd";
st,regulator_avdd = "avdd";
st,touch-type = "primary";
st,qts_en;
qts,trusted-touch-mode = "vm_mode";
qts,touch-environment = "pvm";
qts,trusted-touch-type = "primary";
qts,trusted-touch-spi-irq = <652>;
qts,trusted-touch-io-bases = <0xa90000>;
qts,trusted-touch-io-sizes = <0x1000>;
qts,trusted-touch-vm-gpio-list = <&tlmm 48 0 &tlmm 49 0 &tlmm 50 0
&tlmm 51 0 &tlmm 161 0 &tlmm 162 0x2008>;
};
};
&qupv3_se15_i2c {
#address-cells = <1>;
#size-cells = <0>;
status = "ok";
qcom,touch-active = "st,fts2";
st_fts@49 {
compatible = "st,fts2";
reg = <0x49>;
interrupt-parent = <&tlmm>;
interrupts = <88 0x2008>;
vdd-supply = <&L4B>;
avdd-supply = <&L14B>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
st,irq-gpio = <&tlmm 88 0x2008>;
st,reset-gpio = <&tlmm 100 0x00>;
st,regulator_dvdd = "vdd";
st,regulator_avdd = "avdd";
st,touch-type = "secondary";
st,qts_en;
qts,trusted-touch-mode = "vm_mode";
qts,touch-environment = "pvm";
qts,trusted-touch-type = "secondary";
qts,trusted-touch-spi-irq = <670>;
qts,trusted-touch-io-bases = <0x89c000>;
qts,trusted-touch-io-sizes = <0x1000>;
qts,trusted-touch-vm-gpio-list = <&tlmm 28 0 &tlmm 29 0 &tlmm 30 0
&tlmm 31 0 &tlmm 100 0 &tlmm 88 0x2008>;
};
};
&usb0 {
usb-role-switch;
port {
usb_port0: endpoint {
remote-endpoint = <&usb_port0_connector>;
};
};
};
&ucsi {
connector {
port {
usb_port0_connector: endpoint {
remote-endpoint = <&usb_port0>;
};
};
};
};