Merge "ARM: dts: msm: Add regulator and PMIC support for holi-pm6125"

This commit is contained in:
qctecmdr 2021-05-11 21:24:32 -07:00 • committed by Gerrit - the friendly Code Review server
commit 03d019e1bd
21 changed files with 2699 additions and 2 deletions

View file

@ -100,7 +100,12 @@ dtbo-$(CONFIG_ARCH_HOLI) += holi-rumi-overlay.dtbo \
holi-cdp-lcd-overlay.dtbo \
holi-qrd-overlay.dtbo \
holi-atp-overlay.dtbo \
holi-mtp-usbc-overlay.dtbo
holi-mtp-usbc-overlay.dtbo \
holi-mtp-pm6125-overlay.dtbo \
holi-cdp-pm6125-overlay.dtbo \
holi-cdp-lcd-pm6125-overlay.dtbo \
holi-mtp-usbc-pm6125-overlay.dtbo \
holi-mtp-pm6125-nopmi-overlay.dtbo
holi-rumi-overlay.dtbo-base := holi.dtb
holi-mtp-overlay.dtbo-base := holi.dtb
@ -109,6 +114,12 @@ holi-cdp-lcd-overlay.dtbo-base := holi.dtb
holi-qrd-overlay.dtbo-base := holi.dtb
holi-atp-overlay.dtbo-base := holi.dtb
holi-mtp-usbc-overlay.dtbo-base := holi.dtb
holi-mtp-pm6125-overlay.dtbo-base := holi.dtb
holi-cdp-pm6125-overlay.dtbo-base := holi.dtb
holi-cdp-lcd-pm6125-overlay.dtbo-base := holi.dtb
holi-mtp-usbc-pm6125-overlay.dtbo-base := holi.dtb
holi-mtp-pm6125-nopmi-overlay.dtbo-base := holi.dtb
else
dtb-$(CONFIG_ARCH_HOLI) += holi-rumi.dtb \
holi-mtp.dtb \
@ -116,7 +127,13 @@ dtb-$(CONFIG_ARCH_HOLI) += holi-rumi.dtb \
holi-cdp-lcd.dtb \
holi-qrd.dtb \
holi-atp.dtb \
holi-mtp-usbc.dtb
holi-mtp-usbc.dtb\
holi-mtp-pm6125.dtb \
holi-cdp-pm6125.dtb \
holi-cdp-lcd-pm6125.dtb \
holi-mtp-usbc-pm6125.dtb \
holi-mtp-pm6125-nopmi.dtb
endif
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)

View file

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-cdp-lcd-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi CDP-LCD PM6125 attached";
compatible = "qcom,holi-cdp", "qcom,holi", "qcom,cdp";
qcom,msm-id = <454 0x10000>, <472 0x10000>;
qcom,board-id = <1 1>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};
&wsa881x_analog_reset_gpio {
pinctrl-0 = <&spkr_1_sd_n_active>;
pinctrl-1 = <&spkr_1_sd_n_sleep>;
};

View file

@ -0,0 +1,13 @@
/dts-v1/;
#include "holi.dtsi"
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-cdp-lcd-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi CDP-LCD PM6125 attach";
compatible = "qcom,holi-cdp", "qcom,holi", "qcom,cdp";
qcom,board-id = <1 1>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};

View file

@ -0,0 +1,30 @@
#include "holi-cdp-pm6125.dtsi"
&qupv3_se8_i2c {
qcom,i2c-touch-active="synaptics,dsx-i2c";
synaptics_dsx@22 {
compatible = "synaptics,dsx-i2c";
reg = <0x22>;
interrupt-parent = <&tlmm>;
interrupts = <39 0x2008>;
vdd-supply = <&L11A>;
avdd-supply = <&L6A>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&pmx_ts_release>;
synaptics,pwr-reg-name = "avdd";
synaptics,bus-reg-name = "vdd";
synaptics,ub-i2c-addr = <0x22>;
synaptics,max-y-for-2d = <1859>;
synaptics,irq-gpio = <&tlmm 22 0x2008>;
synaptics,reset-gpio = <&tlmm 21 0x0>;
synaptics,irq-on-state = <0>;
synaptics,power-delay-ms = <200>;
synaptics,reset-delay-ms = <200>;
synaptics,reset-on-state = <0>;
synaptics,reset-active-ms = <20>;
};
};

View file

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-cdp-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi CDP PM6125";
compatible = "qcom,holi-cdp", "qcom,holi", "qcom,cdp";
qcom,msm-id = <454 0x10000>, <472 0x10000>;
qcom,board-id = <1 0>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};
&wsa881x_analog_reset_gpio {
pinctrl-0 = <&spkr_1_sd_n_active>;
pinctrl-1 = <&spkr_1_sd_n_sleep>;
};

13
qcom/holi-cdp-pm6125.dts Normal file
View file

@ -0,0 +1,13 @@
/dts-v1/;
#include "holi.dtsi"
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-cdp-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi CDP PM6125";
compatible = "qcom,holi-cdp", "qcom,holi", "qcom,cdp";
qcom,board-id = <1 0>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};

310
qcom/holi-cdp-pm6125.dtsi Normal file
View file

@ -0,0 +1,310 @@
#include "holi-audio-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
/* Dummy LDO reference */
&wcd938x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&wcd937x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
vdd-supply = <&L7E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 570000>;
vdd-io-supply = <&L12A>;
qcom,vdd-io-always-on;
qcom,vdd-io-lpm-sup;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <0 325000>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
vdd-supply = <&L9E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&L6E>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v3";
vdda-phy-supply = <&L18A>;
vdda-pll-supply = <&L22A>;
vdda-phy-max-microamp = <62900>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L7E>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L12A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L22A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&qupv3_se0_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 9 0x00>;
qcom,sn-ven = <&tlmm 6 0x00>;
qcom,sn-firm = <&tlmm 8 0x00>;
qcom,sn-clkreq = <&tlmm 7 0x00>;
qcom,sn-vdd-1p8-supply = <&L11A>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
interrupt-parent = <&tlmm>;
interrupts = <9 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
&pm7250b_charger {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
<&pm7250b_vadc ADC5_USB_IN_I>,
<&pm7250b_vadc ADC5_CHG_TEMP>,
<&pm7250b_vadc ADC5_DIE_TEMP>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
<&pm7250b_vadc ADC5_SBUx>,
<&pm7250b_vadc ADC5_VPH_PWR>,
<&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
<&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
<&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
<&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
<&pm7250b_qg PSY_IIO_CC_SOC>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
<&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
<&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>;
io-channel-names = "usb_in_voltage",
"usb_in_current",
"chg_temp",
"die_temp",
"conn_temp",
"sbux_res",
"vph_voltage",
"skin_temp",
"resistance_id",
"voltage_now",
"temp",
"capacity",
"voltage_ocv",
"voltage_avg",
"debug_battery",
"real_capacity",
"cc_soc",
"current_now",
"voltage_max",
"charge_full",
"charge_counter",
"cycle_count",
"charge_full_design",
"time_to_full_now";
qcom,batteryless-platform;
qcom,sec-charger-config = <0>;
qcom,auto-recharge-soc = <98>;
qcom,step-charging-enable;
qcom,sw-jeita-enable;
qcom,charger-temp-max = <800>;
qcom,smb-temp-max = <800>;
qcom,suspend-input-on-debug-batt;
};
&pm7250b_qg {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
<&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
<&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
<&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
<&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
<&pm7250b_charger PSY_IIO_CHARGE_DONE>;
io-channel-names = "batt-therm",
"batt-id",
"input_current_limited",
"recharge_soc",
"force_recharge",
"charge_done";
qcom,qg-iterm-ma = <100>;
qcom,hold-soc-while-full;
qcom,linearize-soc;
qcom,cl-feedback-on;
};
&qupv3_se8_i2c {
status = "okay";
qcom,i2c-touch-active="synaptics,tcm-i2c";
synaptics_tcm@20 {
compatible = "synaptics,tcm-i2c";
reg = <0x20>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&pmx_ts_release>;
vdd-supply = <&L11A>;
avdd-supply = <&L6A>;
synaptics,pwr-reg-name = "avdd";
synaptics,bus-reg-name = "vdd";
synaptics,irq-gpio = <&tlmm 22 0x2008>;
synaptics,irq-on-state = <0>;
synaptics,reset-gpio = <&tlmm 21 0x00>;
synaptics,reset-on-state = <0>;
synaptics,reset-active-ms = <20>;
synaptics,reset-delay-ms = <200>;
synaptics,power-delay-ms = <200>;
synaptics,ubl-i2c-addr = <0x20>;
synaptics,extend_report;
synaptics,firmware-name = "synaptics_firmware.img";
};
focaltech@38 {
compatible = "focaltech,fts_ts";
reg = <0x38>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
focaltech,reset-gpio = <&tlmm 21 0x00>;
focaltech,irq-gpio = <&tlmm 22 0x2008>;
focaltech,max-touch-number = <5>;
focaltech,display-coords = <0 0 1080 2340>;
vdd-supply = <&L6A>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&pmx_ts_release>;
};
};
&pm7250b_charger {
dpdm-supply = <&qusb_phy0>;
smb5_vbus: qcom,smb5-vbus {
regulator-name = "smb5-vbus";
};
smb5_vconn: qcom,smb5-vconn {
regulator-name = "smb5-vconn";
};
};
&pm7250b_pdphy {
vdd-pdphy-supply = <&L3A>;
vbus-supply = <&smb5_vbus>;
vconn-supply = <&smb5_vconn>;
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_PD_ACTIVE>,
<&pm7250b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
<&pm7250b_charger PSY_IIO_CONNECTOR_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_POWER_ROLE>,
<&pm7250b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
<&pm7250b_charger PSY_IIO_TYPEC_SRC_RP>,
<&pm7250b_charger PSY_IIO_PD_IN_HARD_RESET>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_PR_SWAP>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MIN>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MAX>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_PE_START>;
io-channel-names = "pd_active",
"typec_cc_orientation",
"connector_type",
"typec_power_role",
"pd_usb_suspend_supported",
"typec_src_rp",
"pd_in_hard_reset",
"pr_current_max",
"pr_swap",
"pd_voltage_min",
"pd_voltage_max",
"real_type",
"typec_mode",
"pe_start";
};
&usb0 {
extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>;
#io-channel-cells = <1>;
io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>;
io-channel-names = "chg_type";
};

View file

@ -0,0 +1 @@
/dts-v1/;

View file

@ -0,0 +1,13 @@
/dts-v1/;
#include "holi.dtsi"
#include "holi-mtp-pm6125-nopmi.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi MTP PM6125 NOPMI";
compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp";
qcom,board-id = <8 0>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x00 0x0>;
};

View file

@ -0,0 +1,2 @@
/ {
};

View file

@ -0,0 +1,15 @@
/dts-v1/;
/plugin/;
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-mtp-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi MTP PM6125";
compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp";
qcom,msm-id = <454 0x10000>, <472 0x10000>;
qcom,board-id = <8 0>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};

15
qcom/holi-mtp-pm6125.dts Normal file
View file

@ -0,0 +1,15 @@
/dts-v1/;
#include "holi.dtsi"
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-mtp-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi MTP PM6125";
compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp";
qcom,board-id = <8 0>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};

380
qcom/holi-mtp-pm6125.dtsi Normal file
View file

@ -0,0 +1,380 @@
#include "holi-audio-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
/* Dummy LDO reference */
&wcd938x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&wcd937x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
vdd-supply = <&L7E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 570000>;
vdd-io-supply = <&L12A>;
qcom,vdd-io-always-on;
qcom,vdd-io-lpm-sup;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <0 325000>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
vdd-supply = <&L9E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&L6E>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v3";
vdda-phy-supply = <&L18A>;
vdda-pll-supply = <&L22A>;
vdda-phy-max-microamp = <62900>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L7E>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L12A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L22A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&qupv3_se0_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 9 0x00>;
qcom,sn-ven = <&tlmm 6 0x00>;
qcom,sn-firm = <&tlmm 8 0x00>;
qcom,sn-clkreq = <&tlmm 7 0x00>;
qcom,sn-vdd-1p8-supply = <&L11A>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
interrupt-parent = <&tlmm>;
interrupts = <9 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "qg-batterydata-alium-3600mah.dtsi"
#include "qg-batterydata-atl466271_3300mAh.dtsi"
#include "qg-batterydata-atl436186020H_3780mAh.dtsi"
};
};
&qupv3_se8_i2c {
status = "okay";
qcom,i2c-touch-active="synaptics,tcm-i2c";
synaptics_tcm@20 {
compatible = "synaptics,tcm-i2c";
reg = <0x20>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&pmx_ts_release>;
vdd-supply = <&L11A>;
avdd-supply = <&L6A>;
synaptics,pwr-reg-name = "avdd";
synaptics,bus-reg-name = "vdd";
synaptics,irq-gpio = <&tlmm 22 0x2008>;
synaptics,irq-on-state = <0>;
synaptics,reset-gpio = <&tlmm 21 0x00>;
synaptics,reset-on-state = <0>;
synaptics,reset-active-ms = <20>;
synaptics,reset-delay-ms = <200>;
synaptics,power-delay-ms = <200>;
synaptics,ubl-i2c-addr = <0x20>;
synaptics,extend_report;
synaptics,firmware-name = "synaptics_firmware.img";
};
};
&pm7250b_charger {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
<&pm7250b_vadc ADC5_USB_IN_I>,
<&pm7250b_vadc ADC5_CHG_TEMP>,
<&pm7250b_vadc ADC5_DIE_TEMP>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
<&pm7250b_vadc ADC5_SBUx>,
<&pm7250b_vadc ADC5_VPH_PWR>,
<&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
<&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
<&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
<&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
<&pm7250b_qg PSY_IIO_CC_SOC>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
<&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
<&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>,
<&smb1396_div2_cp_master PSY_IIO_PARALLEL_MODE>,
<&smb1396_div2_cp_master PSY_IIO_PARALLEL_OUTPUT_MODE>,
<&smb1396_div2_cp_master PSY_IIO_MIN_ICL>,
<&smb1396_div2_cp_master PSY_IIO_CP_SWITCHER_EN>,
<&smb1396_div2_cp_master PSY_IIO_CP_ENABLE>,
<&smb1396_div2_cp_master PSY_IIO_CP_ILIM>,
<&smb1396_div2_cp_master PSY_IIO_CP_DIE_TEMP>;
io-channel-names = "usb_in_voltage",
"usb_in_current",
"chg_temp",
"die_temp",
"conn_temp",
"sbux_res",
"vph_voltage",
"skin_temp",
"resistance_id",
"voltage_now",
"temp",
"capacity",
"voltage_ocv",
"voltage_avg",
"debug_battery",
"real_capacity",
"cc_soc",
"current_now",
"voltage_max",
"charge_full",
"charge_counter",
"cycle_count",
"charge_full_design",
"time_to_full_now",
"cp_parallel_mode",
"cp_parallel_output_mode",
"cp_min_icl",
"cp_switcher_en",
"cp_enable",
"cp_ilim",
"cp_die_temp";
qcom,battery-data = <&mtp_batterydata>;
qcom,sec-charger-config = <1>;
qcom,auto-recharge-soc = <98>;
qcom,step-charging-enable;
qcom,sw-jeita-enable;
qcom,charger-temp-max = <800>;
qcom,smb-temp-max = <800>;
qcom,suspend-input-on-debug-batt;
qcom,fcc-stepping-enable;
qcom,fcc-step-delay-ms = <100>;
qcom,fcc-step-size-ua = <100000>;
qcom,smb-internal-pull-kohm = <0>;
qcom,en-skin-therm-mitigation;
qcom,hvdcp3-standalone-config;
};
&pm7250b_qg {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
<&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
<&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
<&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
<&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
<&pm7250b_charger PSY_IIO_CHARGE_DONE>,
<&smb1396_div2_cp_master PSY_IIO_CP_ENABLE>;
io-channel-names = "batt-therm",
"batt-id",
"input_current_limited",
"recharge_soc",
"force_recharge",
"charge_done",
"cp_charging_enabled";
qcom,battery-data = <&mtp_batterydata>;
qcom,qg-iterm-ma = <150>;
qcom,hold-soc-while-full;
qcom,linearize-soc;
qcom,cl-feedback-on;
qcom,tcss-enable;
qcom,fvss-enable;
qcom,fvss-vbatt-mv = <3300>;
qcom,bass-enable;
qcom,use-cp-iin-sns;
};
&pm7250b_vadc {
smb1390_therm@e {
qcom,scale-fn-type = <ADC_SCALE_HW_CALIB_PM5_SMB1398_TEMP>;
};
};
&pm7250b_gpios {
smb_stat {
smb_stat_default: smb_stat_default {
pins = "gpio6";
function = "normal";
input-enable;
bias-pull-up;
qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
power-source = <0>;
};
};
};
&qupv3_se10_i2c {
status = "ok"
#include "smb1398.dtsi"
};
&smb1396 {
interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&spmi_bus>;
interrupt-names = "smb1396";
pinctrl-names = "default";
qcom,enable-toggle-stat;
pinctrl-0 = <&smb_stat_default>;
status = "ok"
};
&smb1396_div2_cp_master {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>,
<&pm7250b_charger PSY_IIO_SMB_EN_MODE>,
<&pm7250b_charger PSY_IIO_SMB_EN_REASON>;
io-channel-names = "die_temp",
"real_type",
"adapter_cc_mode",
"pd_current_max",
"input_current_settled",
"smb_en_mode",
"smb_en_reason";
qcom,parallel-input-mode = <1>; /* USBIN */
qcom,parallel-output-mode = <2>; /* VBAT */
status = "ok"
};
&pm7250b_charger {
dpdm-supply = <&qusb_phy0>;
smb5_vbus: qcom,smb5-vbus {
regulator-name = "smb5-vbus";
};
smb5_vconn: qcom,smb5-vconn {
regulator-name = "smb5-vconn";
};
};
&pm7250b_pdphy {
vdd-pdphy-supply = <&L3A>;
vbus-supply = <&smb5_vbus>;
vconn-supply = <&smb5_vconn>;
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_PD_ACTIVE>,
<&pm7250b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
<&pm7250b_charger PSY_IIO_CONNECTOR_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_POWER_ROLE>,
<&pm7250b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
<&pm7250b_charger PSY_IIO_TYPEC_SRC_RP>,
<&pm7250b_charger PSY_IIO_PD_IN_HARD_RESET>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_PR_SWAP>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MIN>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MAX>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_PE_START>;
io-channel-names = "pd_active",
"typec_cc_orientation",
"connector_type",
"typec_power_role",
"pd_usb_suspend_supported",
"typec_src_rp",
"pd_in_hard_reset",
"pr_current_max",
"pr_swap",
"pd_voltage_min",
"pd_voltage_max",
"real_type",
"typec_mode",
"pe_start";
};
&usb0 {
extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>;
#io-channel-cells = <1>;
io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>;
io-channel-names = "chg_type";
};

View file

@ -0,0 +1,52 @@
/dts-v1/;
/plugin/;
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-mtp-usbc-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi MTP USBC PM6125 audio";
compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp";
qcom,msm-id = <454 0x10000>, <472 0x10000>;
qcom,board-id = <8 1>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};
&swr0 {
qcom,is_wcd937x = <0>;
};
&wcd937x_tx_slave {
status = "disabled";
};
&wcd937x_rx_slave {
status = "disabled";
};
&wcd937x_codec {
status = "disabled";
};
&wcd938x_tx_slave {
status = "ok"
};
&wcd938x_rx_slave {
status = "ok"
};
&wcd938x_codec {
status = "ok"
};
&holi_snd {
asoc-codec = <&stub_codec>, <&bolero>,
<&wcd938x_codec>, <&wsa881x_i2c_e>,
<&wsa881x_i2c_f>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec",
"wcd938x_codec", "wsa-codec0",
"wsa-codec1";
};

View file

@ -0,0 +1,14 @@
/dts-v1/;
#include "holi.dtsi"
#include "holi-pm6125-overlay.dtsi"
#include "holi-regulators-pm6125.dtsi"
#include "holi-mtp-usbc-pm6125.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Holi MTP USBC PM6125 audio";
compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp";
qcom,board-id = <8 1>;
qcom,pmic-id-size = <4>;
qcom,pmic-id = <0x2D 0x0 0x2E 0x0>;
};

View file

@ -0,0 +1,399 @@
#include "holi-audio-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
/* Dummy LDO reference */
&wcd938x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&wcd937x_codec {
cdc-vdd-mic-bias-supply = <&L2A>;
};
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
vdd-supply = <&L7E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 570000>;
vdd-io-supply = <&L12A>;
qcom,vdd-io-always-on;
qcom,vdd-io-lpm-sup;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <0 325000>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
vdd-supply = <&L9E>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&L6E>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v3";
vdda-phy-supply = <&L18A>;
vdda-pll-supply = <&L22A>;
vdda-phy-max-microamp = <62900>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L7E>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L12A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L22A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&qupv3_se0_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 9 0x00>;
qcom,sn-ven = <&tlmm 6 0x00>;
qcom,sn-firm = <&tlmm 8 0x00>;
qcom,sn-clkreq = <&tlmm 7 0x00>;
qcom,sn-vdd-1p8-supply = <&L11A>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
interrupt-parent = <&tlmm>;
interrupts = <9 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
};
};
&holi_snd {
qcom,model = "holi-usbc-snd-card";
qcom,msm-mbhc-usbc-audio-supported = <1>;
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
fsa4480-i2c-handle = <&fsa4480>;
};
&qupv3_se10_i2c {
status = "ok"
fsa4480: fsa4480@42 {
compatible = "qcom,fsa4480-i2c";
reg = <0x42>;
io-channels = <&pm7250b_charger PSY_IIO_TYPEC_ACCESSORY_MODE>;
io-channel-names = "typec_mode";
qcom,use-power-supply = <1>;
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "qg-batterydata-alium-3600mah.dtsi"
#include "qg-batterydata-atl466271_3300mAh.dtsi"
#include "qg-batterydata-atl436186020H_3780mAh.dtsi"
};
};
&qupv3_se8_i2c {
status = "okay";
qcom,i2c-touch-active="synaptics,tcm-i2c";
synaptics_tcm@20 {
compatible = "synaptics,tcm-i2c";
reg = <0x20>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&pmx_ts_release>;
vdd-supply = <&L11A>;
avdd-supply = <&L6A>;
synaptics,pwr-reg-name = "avdd";
synaptics,bus-reg-name = "vdd";
synaptics,irq-gpio = <&tlmm 22 0x2008>;
synaptics,irq-on-state = <0>;
synaptics,reset-gpio = <&tlmm 21 0x00>;
synaptics,reset-on-state = <0>;
synaptics,reset-active-ms = <20>;
synaptics,reset-delay-ms = <200>;
synaptics,power-delay-ms = <200>;
synaptics,ubl-i2c-addr = <0x20>;
synaptics,extend_report;
synaptics,firmware-name = "synaptics_firmware.img";
};
};
&pm7250b_charger {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
<&pm7250b_vadc ADC5_USB_IN_I>,
<&pm7250b_vadc ADC5_CHG_TEMP>,
<&pm7250b_vadc ADC5_DIE_TEMP>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
<&pm7250b_vadc ADC5_SBUx>,
<&pm7250b_vadc ADC5_VPH_PWR>,
<&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
<&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
<&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
<&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
<&pm7250b_qg PSY_IIO_CC_SOC>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
<&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
<&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>,
<&smb1396_div2_cp_master PSY_IIO_PARALLEL_MODE>,
<&smb1396_div2_cp_master PSY_IIO_PARALLEL_OUTPUT_MODE>,
<&smb1396_div2_cp_master PSY_IIO_MIN_ICL>,
<&smb1396_div2_cp_master PSY_IIO_CP_SWITCHER_EN>,
<&smb1396_div2_cp_master PSY_IIO_CP_ENABLE>,
<&smb1396_div2_cp_master PSY_IIO_CP_ILIM>,
<&smb1396_div2_cp_master PSY_IIO_CP_DIE_TEMP>;
io-channel-names = "usb_in_voltage",
"usb_in_current",
"chg_temp",
"die_temp",
"conn_temp",
"sbux_res",
"vph_voltage",
"skin_temp",
"resistance_id",
"voltage_now",
"temp",
"capacity",
"voltage_ocv",
"voltage_avg",
"debug_battery",
"real_capacity",
"cc_soc",
"current_now",
"voltage_max",
"charge_full",
"charge_counter",
"cycle_count",
"charge_full_design",
"time_to_full_now",
"cp_parallel_mode",
"cp_parallel_output_mode",
"cp_min_icl",
"cp_switcher_en",
"cp_enable",
"cp_ilim",
"cp_die_temp";
qcom,battery-data = <&mtp_batterydata>;
qcom,sec-charger-config = <1>;
qcom,auto-recharge-soc = <98>;
qcom,step-charging-enable;
qcom,sw-jeita-enable;
qcom,charger-temp-max = <800>;
qcom,smb-temp-max = <800>;
qcom,suspend-input-on-debug-batt;
qcom,fcc-stepping-enable;
qcom,fcc-step-delay-ms = <100>;
qcom,fcc-step-size-ua = <100000>;
qcom,smb-internal-pull-kohm = <0>;
qcom,en-skin-therm-mitigation;
qcom,hvdcp3-standalone-config;
};
&pm7250b_qg {
status = "ok"
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
<&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
<&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
<&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
<&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
<&pm7250b_charger PSY_IIO_CHARGE_DONE>,
<&smb1396_div2_cp_master PSY_IIO_CP_ENABLE>;
io-channel-names = "batt-therm",
"batt-id",
"input_current_limited",
"recharge_soc",
"force_recharge",
"charge_done",
"cp_charging_enabled";
qcom,battery-data = <&mtp_batterydata>;
qcom,qg-iterm-ma = <150>;
qcom,hold-soc-while-full;
qcom,linearize-soc;
qcom,cl-feedback-on;
qcom,tcss-enable;
qcom,fvss-enable;
qcom,fvss-vbatt-mv = <3300>;
qcom,bass-enable;
qcom,use-cp-iin-sns;
};
&pm7250b_charger {
dpdm-supply = <&qusb_phy0>;
smb5_vbus: qcom,smb5-vbus {
regulator-name = "smb5-vbus";
};
smb5_vconn: qcom,smb5-vconn {
regulator-name = "smb5-vconn";
};
};
&pm7250b_vadc {
smb1390_therm@e {
qcom,scale-fn-type = <ADC_SCALE_HW_CALIB_PM5_SMB1398_TEMP>;
};
};
&pm7250b_gpios {
smb_stat {
smb_stat_default: smb_stat_default {
pins = "gpio6";
function = "normal";
input-enable;
bias-pull-up;
qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
power-source = <0>;
};
};
};
&qupv3_se10_i2c {
status = "ok"
#include "smb1398.dtsi"
};
&smb1396 {
interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&spmi_bus>;
interrupt-names = "smb1396";
pinctrl-names = "default";
qcom,enable-toggle-stat;
pinctrl-0 = <&smb_stat_default>;
status = "ok"
};
&smb1396_div2_cp_master {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>,
<&pm7250b_charger PSY_IIO_SMB_EN_MODE>,
<&pm7250b_charger PSY_IIO_SMB_EN_REASON>;
io-channel-names = "die_temp",
"real_type",
"adapter_cc_mode",
"pd_current_max",
"input_current_settled",
"smb_en_mode",
"smb_en_reason";
qcom,parallel-input-mode = <1>; /* USBIN */
qcom,parallel-output-mode = <2>; /* VBAT */
status = "ok"
};
&pm7250b_pdphy {
vdd-pdphy-supply = <&L3A>;
vbus-supply = <&smb5_vbus>;
vconn-supply = <&smb5_vconn>;
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_PD_ACTIVE>,
<&pm7250b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
<&pm7250b_charger PSY_IIO_CONNECTOR_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_POWER_ROLE>,
<&pm7250b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
<&pm7250b_charger PSY_IIO_TYPEC_SRC_RP>,
<&pm7250b_charger PSY_IIO_PD_IN_HARD_RESET>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_PR_SWAP>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MIN>,
<&pm7250b_charger PSY_IIO_PD_VOLTAGE_MAX>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_PE_START>;
io-channel-names = "pd_active",
"typec_cc_orientation",
"connector_type",
"typec_power_role",
"pd_usb_suspend_supported",
"typec_src_rp",
"pd_in_hard_reset",
"pr_current_max",
"pr_swap",
"pd_voltage_min",
"pd_voltage_max",
"real_type",
"typec_mode",
"pe_start";
};
&usb0 {
extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>;
#io-channel-cells = <1>;
io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>;
io-channel-names = "chg_type";
};

View file

@ -0,0 +1,5 @@
/* Dummy LDO referenses */
&mdss_dsi_phy0 {
vdda-0p9-supply = <&S6A>;
};

1
qcom/holi-pm7250b.dtsi Normal file
View file

@ -0,0 +1 @@
/dts-v1/;

View file

@ -0,0 +1,498 @@
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/iio/qti_power_supply_iio.h>
#include "pm7250b.dtsi"
#include "pm6125.dtsi"
#include "pmr735a.dtsi"
#define PMK8350_SID 6
#include "pmk8350.dtsi"
&pmr735a_gpios {
key_vol_up {
key_vol_up_default: key_vol_up_default {
pins = "gpio1";
function = "normal";
input-enable;
bias-pull-up;
power-source = <1>;
};
};
};
&pm7250b_vadc {
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
label = "charger_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
label = "conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm7250b_adc_tm {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>;
/* Channel nodes */
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pm6125_vadc {
pinctrl-names = "default";
pinctrl-0 = <
&pa_therm2_default
&msm_therm_default
&rfc_cam_therm_default
&rear_cam_flash_therm_default>;
pa_therm1 {
reg = <ADC5_AMUX_THM1_100K_PU>;
label = "pa_therm1";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
quiet_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
label = "quiet_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pa_therm2 {
reg = <ADC5_GPIO4_100K_PU>;
label = "pa_therm2";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
msm_therm {
reg = <ADC5_GPIO1_100K_PU>;
label = "msm_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
rfc_cam_therm {
reg = <ADC5_GPIO2_100K_PU>;
label = "rfc_cam_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
rear_cam_flash_therm {
reg = <ADC5_GPIO3_100K_PU>;
label = "rear_cam_flash_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm6125_gpios {
pa_therm2 {
pa_therm2_default: pa_therm2_default {
pins = "gpio7";
bias-high-impedance;
};
};
msm_therm {
msm_therm_default: msm_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
rfc_cam_therm {
rfc_cam_therm_default: rfc_cam_therm_default {
pins = "gpio4";
bias-high-impedance;
};
};
rear_cam_flash_therm {
rear_cam_flash_therm_default: rear_cam_flash_therm_default {
pins = "gpio6";
bias-high-impedance;
};
};
};
&pm6125_adc_tm {
io-channels = <&pm6125_vadc ADC5_GPIO4_100K_PU>,
<&pm6125_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm6125_vadc ADC5_GPIO3_100K_PU>,
<&pm6125_vadc ADC5_AMUX_THM2_100K_PU>;
/* Channel nodes */
pa_therm2 {
reg = <ADC5_GPIO4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pa_therm1 {
reg = <ADC5_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
rear_cam_flash_therm {
reg = <ADC5_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
quiet_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&spmi_bus {
qcom,pm6125@4 {
pm6125_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pm6125_vadc ADC5_GPIO1_100K_PU>,
<&pm6125_vadc ADC5_GPIO2_100K_PU>;
msm_therm {
reg = <ADC5_GPIO1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
rfc_cam_therm {
reg = <ADC5_GPIO2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
};
&pmk8350 {
reg = <6 SPMI_USID>;
pon_pbs@800 {
status = "disabled";
};
pon_hlos@1300 {
status = "disabled";
};
};
&pmk8350_rtc {
interrupts = <0x6 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
};
&pmk8350_vadc {
interrupts = <0x6 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
/delete-node/ pm8350_ref_gnd;
/delete-node/ pm8350_vref_1p25;
/delete-node/ pm8350_die_temp;
/delete-node/ pm8350_vph_pwr;
/delete-node/ pm8350b_ref_gnd;
/delete-node/ pm8350b_vref_1p25;
/delete-node/ pm8350b_die_temp;
/delete-node/ pm8350b_vph_pwr;
/delete-node/ pm8350b_vbat_sns;
};
&pmk8350_adc_tm {
interrupts = <0x6 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
xo_therm {
reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
chg-skin-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
conn-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sdm-skin-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
rfc-cam-pa3-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
camera-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa-therm0-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa-therm1-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&qupv3_se10_i2c {
#address-cells = <1>;
#size-cells = <0>;
status = "ok"
pm8008_8: qcom,pm8008@8 {
compatible = "qcom,i2c-pmic";
reg = <0x8>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pm8008_active>;
pm8008_chip: qcom,pm8008-chip@900 {
compatible = "qcom,pm8008-chip";
reg = <0x900>;
PM8008_EN: qcom,pm8008-chip-en {
regulator-name = "pm8008-chip-en";
};
};
qcom,revid@100 {
compatible = "qcom,qpnp-revid";
reg = <0x100>;
};
};
pm8008_9: qcom,pm8008@9 {
compatible = "qcom,i2c-pmic";
reg = <0x9>;
#address-cells = <1>;
#size-cells = <0>;
pm8008_regulators: qcom,pm8008-regulator {
compatible = "qcom,pm8008-regulator";
#address-cells = <1>;
#size-cells = <0>;
pm8008_en-supply = <&PM8008_EN>;
vdd_l1_l2-supply = <&S6A>;
vdd_l6-supply = <&S7A>;
L1P: qcom,pm8008-l1@4000 {
reg = <0x4000>;
regulator-name = "pm8008_l1";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
qcom,min-dropout-voltage = <56000>;
qcom,hpm-min-load = <10000>;
};
L2P: qcom,pm8008-l2@4100 {
reg = <0x4100>;
regulator-name = "pm8008_l2";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1150000>;
qcom,min-dropout-voltage = <96000>;
qcom,hpm-min-load = <10000>;
};
L3P: qcom,pm8008-l3@4200 {
reg = <0x4200>;
regulator-name = "pm8008_l3";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <168000>;
qcom,hpm-min-load = <10000>;
};
L4P: qcom,pm8008-l4@4300 {
reg = <0x4300>;
regulator-name = "pm8008_l4";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <136000>;
qcom,hpm-min-load = <10000>;
};
L5P: qcom,pm8008-l5@4400 {
reg = <0x4400>;
regulator-name = "pm8008_l5";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <240000>;
qcom,hpm-min-load = <10000>;
};
L6P: qcom,pm8008-l6@4400 {
reg = <0x4500>;
regulator-name = "pm8008_l6";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1900000>;
qcom,min-dropout-voltage = <48000>;
qcom,hpm-min-load = <10000>;
};
L7P: qcom,pm8008-l7@4400 {
reg = <0x4600>;
regulator-name = "pm8008_l7";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <96000>;
qcom,hpm-min-load = <10000>;
};
};
};
};

View file

@ -0,0 +1,711 @@
#include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
&rpm_bus {
/* Delete all pm6350 and pm6150l nodes */
/delete-node/ rpm-regulator-smpa1;
/delete-node/ rpm-regulator-smpa2;
/delete-node/ rpm-regulator-smpa3;
/delete-node/ rpm-regulator-smpa5;
/delete-node/ rpm-regulator-ldoa1;
/delete-node/ rpm-regulator-ldoa2;
/delete-node/ rpm-regulator-ldoa3;
/delete-node/ rpm-regulator-ldoa4;
/delete-node/ rpm-regulator-ldoa5;
/delete-node/ rpm-regulator-ldoa6;
/delete-node/ rpm-regulator-ldoa7;
/delete-node/ rpm-regulator-ldoa8;
/delete-node/ rpm-regulator-ldoa9;
/delete-node/ rpm-regulator-ldoa10;
/delete-node/ rpm-regulator-ldoa11;
/delete-node/ rpm-regulator-ldoa12;
/delete-node/ rpm-regulator-ldoa13;
/delete-node/ rpm-regulator-ldoa14;
/delete-node/ rpm-regulator-ldoa15;
/delete-node/ rpm-regulator-ldoa16;
/delete-node/ rpm-regulator-ldoa17;
/delete-node/ rpm-regulator-ldoa18;
/delete-node/ rpm-regulator-ldoa19;
/delete-node/ rpm-regulator-ldoa20;
/delete-node/ rpm-regulator-ldoa21;
/delete-node/ rpm-regulator-ldoa22;
/delete-node/ rpm-regulator-bobe;
/delete-node/ rpm-regulator-smpe1;
/delete-node/ rpm-regulator-smpe8;
/delete-node/ rpm-regulator-ldoe1;
/delete-node/ rpm-regulator-ldoe2;
/delete-node/ rpm-regulator-ldoe3;
/delete-node/ rpm-regulator-ldoe4;
/delete-node/ rpm-regulator-ldoe5;
/delete-node/ rpm-regulator-ldoe7;
/* Disable PM6350 and PM6150L rpm-regulators */
rpm-regulator-smpa1 {
status = "disabled";
};
rpm-regulator-smpa2 {
status = "disabled";
};
rpm-regulator-smpa3 {
status = "disabled";
};
rpm-regulator-smpa5 {
status = "disabled";
};
rpm-regulator-ldoa1 {
status = "disabled";
};
rpm-regulator-ldoa2 {
status = "disabled";
};
rpm-regulator-ldoa3 {
status = "disabled";
};
rpm-regulator-ldoa4 {
status = "disabled";
};
rpm-regulator-ldoa5 {
status = "disabled";
};
rpm-regulator-ldoa6 {
status = "disabled";
};
rpm-regulator-ldoa7 {
status = "disabled";
};
rpm-regulator-ldoa8 {
status = "disabled";
};
rpm-regulator-ldoa9 {
status = "disabled";
};
rpm-regulator-ldoa10 {
status = "disabled";
};
rpm-regulator-ldoa11 {
status = "disabled";
};
rpm-regulator-ldoa12 {
status = "disabled";
};
rpm-regulator-ldoa13 {
status = "disabled";
};
rpm-regulator-ldoa14 {
status = "disabled";
};
rpm-regulator-ldoa15 {
status = "disabled";
};
rpm-regulator-ldoa16 {
status = "disabled";
};
rpm-regulator-ldoa17 {
status = "disabled";
};
rpm-regulator-ldoa18 {
status = "disabled";
};
rpm-regulator-ldoa19 {
status = "disabled";
};
rpm-regulator-ldoa20 {
status = "disabled";
};
rpm-regulator-ldoa21 {
status = "disabled";
};
rpm-regulator-ldoa22 {
status = "disabled";
};
rpm-regulator-bobe {
status = "disabled";
};
rpm-regulator-smpe1 {
status = "disabled";
};
rpm-regulator-smpe8 {
status = "disabled";
};
rpm-regulator-ldoe1 {
status = "disabled";
};
rpm-regulator-ldoe2 {
status = "disabled";
};
rpm-regulator-ldoe3 {
status = "disabled";
};
rpm-regulator-ldoe4 {
status = "disabled";
};
rpm-regulator-ldoe5 {
status = "disabled";
};
rpm-regulator-ldoe6 {
status = "disabled";
};
rpm-regulator-ldoe7 {
status = "disabled";
};
rpm-regulator-ldoe8 {
status = "disabled";
};
rpm-regulator-ldoe9 {
status = "disabled";
};
rpm-regulator-ldoe10 {
status = "disabled";
};
rpm-regulator-ldoe11 {
status = "disabled";
};
};
#include "pm6125-rpm-regulator.dtsi"
#include "pmr735a-rpm-regulator.dtsi"
&rpm_bus {
rpm-regulator-smpa6 {
status = "okay";
S6A: pm6125_s6: regulator-s6 {
regulator-min-microvolt = <382000>;
regulator-max-microvolt = <1374000>;
qcom,init-voltage = <1352000>;
status = "okay";
};
};
rpm-regulator-smpa7 {
status = "okay";
S7A: pm6125_s7: regulator-s7 {
regulator-min-microvolt = <1574000>;
regulator-max-microvolt = <2040000>;
qcom,init-voltage = <2040000>;
status = "okay";
};
};
/* PM6125 S8 - VDD_GFX supply */
rpm-regulator-smpa8 {
status = "okay";
qcom,resource-name = "rwgx";
qcom,resource-id = <0>;
qcom,always-wait-for-ack;
VDD_GFX_LEVEL:
S8A_LEVEL: pm6125_s8_level: regulator-s8-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pm6125_s8_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_NONE>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,init-voltage-level =
<RPM_SMD_REGULATOR_LEVEL_LOW_SVS>;
qcom,use-voltage-level;
};
VDD_GFX_LEVEL_AO:
S8A_LEVEL_AO: pm6125_s8_level_ao: regulator-s8-level-ao {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pm6125_s8_level_ao";
qcom,set = <1>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_NONE>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
/* Dummy node */
gfx_cdev: gfx-cdev {
};
};
/* VDD_LPI_CX supply */
rpm-regulator-ldoa1 {
status = "okay";
qcom,resource-name = "rwlc";
qcom,resource-id = <0>;
VDD_LPI_CX_LEVEL:
L1A_LEVEL: pm6125_l1_level: regulator-l1-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pm6125_l1_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
};
rpm-regulator-ldoa2 {
status = "okay";
L2A: pm6125_l2: regulator-l2 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
qcom,init-voltage = <1100000>;
status = "okay";
};
};
rpm-regulator-ldoa3 {
status = "okay";
L3A: pm6125_l3: regulator-l3 {
regulator-min-microvolt = <1170000>;
regulator-max-microvolt = <1304000>;
qcom,init-voltage = <1170000>;
status = "okay";
};
};
rpm-regulator-ldoa4 {
status = "okay";
L4A: pm6125_l4: regulator-l4 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
qcom,init-voltage = <1232000>;
status = "okay";
};
};
rpm-regulator-ldoa5 {
status = "okay";
L5A: pm6125_l5: regulator-l5 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <3050000>;
qcom,init-voltage = <2960000>;
status = "okay";
};
};
rpm-regulator-ldoa6 {
status = "okay";
L6A: pm6125_l6: regulator-l6 {
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1304000>;
qcom,init-voltage = <1080000>;
status = "okay";
};
};
rpm-regulator-ldoa7 {
status = "okay";
L7A: pm6125_l7: regulator-l7 {
regulator-min-microvolt = <788000>;
regulator-max-microvolt = <1050000>;
qcom,init-voltage = <880000>;
status = "okay";
};
};
rpm-regulator-ldoa8 {
status = "okay";
L8A: pm6125_l8: regulator-l8 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1304000>;
qcom,init-voltage = <1200000>;
status = "okay";
};
};
rpm-regulator-ldoa9 {
status = "okay";
L9A: pm6125_l9: regulator-l9 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
qcom,init-voltage = <1800000>;
status = "okay";
};
};
rpm-regulator-ldoa10 {
status = "okay";
L10A: pm6125_l10: regulator-l10 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
qcom,init-voltage = <1800000>;
status = "okay";
};
};
rpm-regulator-ldoa11 {
status = "okay";
L11A: pm6125_l11: regulator-l11 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
qcom,init-voltage = <1800000>;
status = "okay";
};
};
rpm-regulator-ldoa12 {
status = "okay";
L12A: pm6125_l12: regulator-l12 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <2000000>;
qcom,init-voltage = <1620000>;
status = "okay";
};
};
rpm-regulator-ldoa13 {
status = "okay";
L13A: pm6125_l13: regulator-l13 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <1980000>;
qcom,init-voltage = <1650000>;
status = "okay";
};
};
rpm-regulator-ldoa14 {
status = "okay";
L14A: pm6125_l14: regulator-l14 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
qcom,init-voltage = <1700000>;
status = "okay";
};
};
rpm-regulator-ldoa15 {
status = "okay";
L15A: pm6125_l15: regulator-l15 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <3544000>;
qcom,init-voltage = <1650000>;
status = "okay";
};
};
rpm-regulator-ldoa16 {
status = "okay";
L16A: pm6125_l16: regulator-l16 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
qcom,init-voltage = <1620000>;
status = "okay";
};
};
/* VDD_LPI_MX supply */
rpm-regulator-ldoa17 {
status = "okay";
qcom,resource-name = "rwlm";
qcom,resource-id = <0>;
VDD_LPI_MX_LEVEL:
L17A_LEVEL: pm6125_l17_level: regulator-l17-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pm6125_l17_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
};
rpm-regulator-ldoa18 {
status = "okay";
L18A: pm6125_l18: regulator-l18 {
regulator-min-microvolt = <830000>;
regulator-max-microvolt = <920000>;
qcom,init-voltage = <880000>;
status = "okay";
};
};
rpm-regulator-ldoa19 {
status = "okay";
L19A: pm6125_l19: regulator-l19 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <1620000>;
status = "okay";
};
};
rpm-regulator-ldoa20 {
status = "okay";
L20A: pm6125_l20: regulator-l20 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <1620000>;
status = "okay";
};
};
rpm-regulator-ldoa21 {
status = "okay";
L21A: pm6125_l21: regulator-l21 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3400000>;
qcom,init-voltage = <3000000>;
status = "okay";
};
};
rpm-regulator-ldoa22 {
status = "okay";
L22A: pm6125_l22: regulator-l22 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
qcom,init-voltage = <2960000>;
status = "okay";
};
};
rpm-regulator-ldoa23 {
status = "okay";
L23A: pm6125_l23: regulator-l23 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3400000>;
qcom,init-voltage = <3000000>;
status = "okay";
};
};
rpm-regulator-ldoa24 {
status = "okay";
L24A: pm6125_l24: regulator-l24 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
qcom,init-voltage = <2960000>;
status = "okay";
};
};
/* PMR735A S1E - VDD_MX supply */
rpm-regulator-smpe1 {
status = "okay";
qcom,resource-name = "rwmx";
qcom,resource-id = <0>;
proxy-supply = <&VDD_MX_LEVEL>;
VDD_MX_LEVEL:
S1E_LEVEL: pmr735a_s1_level: regulator-s1-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s1_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,init-voltage-level =
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
qcom,proxy-consumer-enable;
qcom,proxy-consumer-voltage =
<RPM_SMD_REGULATOR_LEVEL_TURBO
RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
VDD_MX_FLOOR_LEVEL:
S1E_FLOOR_LEVEL:
pmr735a_s1_floor_level: regulator-s1-floor-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s1_floor_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-floor-level;
qcom,always-send-voltage;
};
VDD_MX_LEVEL_AO:
S1E_LEVEL_AO: pmr735a_s1_level_ao: regulator-s1-level-ao {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s1_level_ao";
qcom,set = <1>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
/* Dummy node */
mx_cdev: mx-cdev-lvl {
};
};
/* PMR735A S2E - VDD_CX supply */
rpm-regulator-smpe2 {
status = "okay";
qcom,resource-name = "rwcx";
qcom,resource-id = <0>;
proxy-supply = <&VDD_CX_LEVEL>;
VDD_CX_LEVEL:
S2E_LEVEL: pmr735a_s2_level: regulator-s2-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s1_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,init-voltage-level =
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
qcom,proxy-consumer-enable;
qcom,proxy-consumer-voltage =
<RPM_SMD_REGULATOR_LEVEL_TURBO
RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
VDD_CX_FLOOR_LEVEL:
S2E_FLOOR_LEVEL:
pmr735a_s2_floor_level: regulator-s2-floor-level {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s2_floor_level";
qcom,set = <3>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-floor-level;
qcom,always-send-voltage;
};
VDD_CX_LEVEL_AO:
S2E_LEVEL_AO: pmr735a_s2_level_ao: regulator-s2-level-ao {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s2_level_ao";
qcom,set = <1>;
regulator-min-microvolt =
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPM_SMD_REGULATOR_LEVEL_BINNING>;
qcom,use-voltage-level;
};
/* Dummy node */
cx_cdev: cx-cdev-lvl {
};
};
rpm-regulator-ldoe1 {
status = "okay";
L1E: pmr735a_l1: regulator-l1 {
regulator-min-microvolt = <570000>;
regulator-max-microvolt = <650000>;
qcom,init-voltage = <600000>;
status = "okay";
};
};
rpm-regulator-ldoe2 {
status = "okay";
L2E: pmr735a_l2: regulator-l2 {
regulator-min-microvolt = <360000>;
regulator-max-microvolt = <752000>;
qcom,init-voltage = <704000>;
status = "okay";
};
};
rpm-regulator-ldoe3 {
status = "okay";
L3E: pmr735a_l3: regulator-l3 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
qcom,init-voltage = <1128000>;
status = "okay";
};
};
rpm-regulator-ldoe4 {
status = "okay";
L4E: pmr735a_l4: regulator-l4 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
qcom,init-voltage = <1504000>;
status = "okay";
};
};
rpm-regulator-ldoe5 {
status = "okay";
L5E: pmr735a_l5: regulator-l5 {
regulator-min-microvolt = <751000>;
regulator-max-microvolt = <824000>;
qcom,init-voltage = <751000>;
status = "okay";
};
};
rpm-regulator-ldoe6 {
status = "okay";
L6E: pmr735a_l6: regulator-l6 {
regulator-min-microvolt = <504000>;
regulator-max-microvolt = <868000>;
qcom,init-voltage = <504000>;
status = "okay";
};
};
rpm-regulator-ldoe7 {
status = "okay";
L7E: pmr735a_l7: regulator-l7 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <3080000>;
status = "okay";
};
};
};
&soc {
refgen: refgen-regulator@162F000 {
compatible = "qcom,refgen-kona-regulator";
reg = <0x162F000 0x84>;
regulator-name = "refgen";
regulator-enable-ramp-delay = <5>;
};
};

View file

@ -0,0 +1,168 @@
&rpm_bus {
rpm-regulator-smpe1 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "smpe";
qcom,resource-id = <1>;
qcom,regulator-type = <1>;
qcom,hpm-min-load = <100000>;
status = "disabled";
regulator-s1 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s1";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-smpe2 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "smpe";
qcom,resource-id = <2>;
qcom,regulator-type = <1>;
qcom,hpm-min-load = <100000>;
status = "disabled";
regulator-s2 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s2";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-smpe3 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "smpe";
qcom,resource-id = <3>;
qcom,regulator-type = <1>;
qcom,hpm-min-load = <100000>;
status = "disabled";
regulator-s3 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_s3";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe1 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <1>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l1 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l1";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe2 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <2>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l2 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l2";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe3 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <3>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l3 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l3";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe4 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <4>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l4 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l4";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe5 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <5>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l5 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l5";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe6 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <6>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l6 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l6";
qcom,set = <3>;
status = "disabled";
};
};
rpm-regulator-ldoe7 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoe";
qcom,resource-id = <7>;
qcom,regulator-type = <0>;
qcom,regulator-hw-type = "pmic5-ldo";
qcom,hpm-min-load = <10000>;
status = "disabled";
regulator-l7 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pmr735a_l7";
qcom,set = <3>;
status = "disabled";
};
};
};