mirror of
https://github.com/Evolution-X-Devices/kernel_xiaomi_sm8450-devicetrees
synced 2026-02-01 08:51:30 +00:00
ARM: dts: msm: Add DT snapshots for PM6350, PM7250b and PM6150l
Add snapshot of device trees for PM6350, PM7250b and PM6150l
with base nodes for revid, pon, gpio, rtc and temp alarm
peripherals.
Include these three PMICs with PMK8350 for holi.
This snapshot is taken as of msm-4.19 commit f013531fb889
("Add eMMC inline crypto engine node for scuba") with the following
modifications:
- removed charger,QG, pd_phy from PM7250b
- removed flash, WLED from PM6150l
- removed GPIOs and thermal_zones from all PMICs
- corrected address format for all PMICs to match usage on kernel 5.4.
Change-Id: Ib3304759a0b99bf7f51b45460b7717c40704dbe5
This commit is contained in:
@@ -452,6 +452,10 @@
|
||||
};
|
||||
|
||||
#include "holi-pinctrl.dtsi"
|
||||
#include "pm6350.dtsi"
|
||||
#include "pm7250b.dtsi"
|
||||
#include "pm6150l.dtsi"
|
||||
#include "pmk8350.dtsi"
|
||||
#include "holi-stub-regulator.dtsi"
|
||||
#include "holi-gdsc.dtsi"
|
||||
|
||||
|
||||
252
qcom/pm6150l.dtsi
Normal file
252
qcom/pm6150l.dtsi
Normal file
@@ -0,0 +1,252 @@
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&spmi_bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
|
||||
qcom,pm6150l@4 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
reg = <4 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm6150l_revid: qcom,revid@100 {
|
||||
compatible = "qcom,qpnp-revid";
|
||||
reg = <0x100>;
|
||||
};
|
||||
|
||||
qcom,power-on@800 {
|
||||
compatible = "qcom,qpnp-power-on";
|
||||
reg = <0x800>;
|
||||
};
|
||||
|
||||
pm6150l_tz: qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400>;
|
||||
interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
qcom,temperature-threshold-set = <1>;
|
||||
};
|
||||
|
||||
pm6150l_bcl: bcl@3d00 {
|
||||
compatible = "qcom,bcl-v5";
|
||||
reg = <0x3d00>;
|
||||
interrupts = <0x4 0x3d 0x0 IRQ_TYPE_NONE>,
|
||||
<0x4 0x3d 0x1 IRQ_TYPE_NONE>,
|
||||
<0x4 0x3d 0x2 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "bcl-lvl0",
|
||||
"bcl-lvl1",
|
||||
"bcl-lvl2";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
pm6150l_vadc: vadc@3100 {
|
||||
compatible = "qcom,spmi-adc5";
|
||||
reg = <0x3100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "eoc-int-en-set";
|
||||
#io-channel-cells = <1>;
|
||||
io-channel-ranges;
|
||||
|
||||
/* Channel node */
|
||||
ref_gnd {
|
||||
reg = <ADC5_REF_GND>;
|
||||
label = "ref_gnd";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
vref_1p25 {
|
||||
reg = <ADC5_1P25VREF>;
|
||||
label = "vref_1p25";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
die_temp {
|
||||
reg = <ADC5_DIE_TEMP>;
|
||||
label = "die_temp";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
vph_pwr {
|
||||
reg = <ADC5_VPH_PWR>;
|
||||
label = "vph_pwr";
|
||||
qcom,pre-scaling = <1 3>;
|
||||
};
|
||||
};
|
||||
|
||||
pm6150l_adc_tm: adc_tm@3500 {
|
||||
compatible = "qcom,adc-tm5";
|
||||
reg = <0x3500>;
|
||||
interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "thr-int-en";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
pm6150l_clkdiv: clock-controller@5b00 {
|
||||
compatible = "qcom,spmi-clkdiv";
|
||||
reg = <0x5b00>;
|
||||
#clock-cells = <1>;
|
||||
qcom,num-clkdivs = <1>;
|
||||
clock-output-names = "pm6150l_div_clk1";
|
||||
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
|
||||
clock-names = "xo";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pm6150l@5 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
reg = <5 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm6150l_pwm_1: qcom,pwms@bc00 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,pwm-lpg";
|
||||
reg = <0xbc00>;
|
||||
reg-names = "lpg-base";
|
||||
qcom,num-lpg-channels = <1>;
|
||||
#pwm-cells = <2>;
|
||||
};
|
||||
|
||||
pm6150l_lcdb: qcom,lcdb@ec00 {
|
||||
compatible = "qcom,qpnp-lcdb-regulator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xec00>;
|
||||
interrupts = <0x5 0xec 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "sc-irq";
|
||||
qcom,pmic-revid = <&pm6150l_revid>;
|
||||
qcom,voltage-step-ramp;
|
||||
status = "disabled";
|
||||
|
||||
lcdb_ldo_vreg: ldo {
|
||||
label = "ldo";
|
||||
regulator-name = "lcdb_ldo";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
|
||||
lcdb_ncp_vreg: ncp {
|
||||
label = "ncp";
|
||||
regulator-name = "lcdb_ncp";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
|
||||
lcdb_bst_vreg: bst {
|
||||
label = "bst";
|
||||
regulator-name = "lcdb_bst";
|
||||
regulator-min-microvolt = <4700000>;
|
||||
regulator-max-microvolt = <6275000>;
|
||||
};
|
||||
};
|
||||
|
||||
pm6150l_lpg: qcom,pwms@b100 {
|
||||
compatible = "qcom,pwm-lpg";
|
||||
reg = <0xb100 0x300>, <0xb000 0x100>;
|
||||
reg-names = "lpg-base", "lut-base";
|
||||
#pwm-cells = <2>;
|
||||
qcom,num-lpg-channels = <3>;
|
||||
qcom,lut-patterns = <0 10 20 30 40 50 60 70 80 90 100
|
||||
90 80 70 60 50 40 30 20 10 0>;
|
||||
lpg1 {
|
||||
qcom,lpg-chan-id = <1>;
|
||||
qcom,ramp-step-ms = <100>;
|
||||
qcom,ramp-pause-hi-count = <2>;
|
||||
qcom,ramp-pause-lo-count = <2>;
|
||||
qcom,ramp-low-index = <0>;
|
||||
qcom,ramp-high-index = <20>;
|
||||
qcom,ramp-from-low-to-high;
|
||||
qcom,ramp-pattern-repeat;
|
||||
};
|
||||
|
||||
lpg2 {
|
||||
qcom,lpg-chan-id = <2>;
|
||||
qcom,ramp-step-ms = <100>;
|
||||
qcom,ramp-pause-hi-count = <2>;
|
||||
qcom,ramp-pause-lo-count = <2>;
|
||||
qcom,ramp-low-index = <0>;
|
||||
qcom,ramp-high-index = <20>;
|
||||
qcom,ramp-from-low-to-high;
|
||||
qcom,ramp-pattern-repeat;
|
||||
};
|
||||
|
||||
lpg3 {
|
||||
qcom,lpg-chan-id = <3>;
|
||||
qcom,ramp-step-ms = <100>;
|
||||
qcom,ramp-pause-hi-count = <2>;
|
||||
qcom,ramp-pause-lo-count = <2>;
|
||||
qcom,ramp-low-index = <0>;
|
||||
qcom,ramp-high-index = <20>;
|
||||
qcom,ramp-from-low-to-high;
|
||||
qcom,ramp-pattern-repeat;
|
||||
};
|
||||
};
|
||||
|
||||
pm6150l_rgb_led: qcom,leds@d000 {
|
||||
compatible = "qcom,tri-led";
|
||||
reg = <0xd000>;
|
||||
red {
|
||||
label = "red";
|
||||
pwms = <&pm6150l_lpg 0 1000000>;
|
||||
led-sources = <0>;
|
||||
linux,default-trigger = "timer";
|
||||
};
|
||||
|
||||
green {
|
||||
label = "green";
|
||||
pwms = <&pm6150l_lpg 1 1000000>;
|
||||
led-sources = <1>;
|
||||
linux,default-trigger = "timer";
|
||||
};
|
||||
|
||||
blue {
|
||||
label = "blue";
|
||||
pwms = <&pm6150l_lpg 2 1000000>;
|
||||
led-sources = <2>;
|
||||
linux,default-trigger = "timer";
|
||||
};
|
||||
};
|
||||
|
||||
pm6150a_amoled: qcom,amoled {
|
||||
compatible = "qcom,qpnp-amoled-regulator";
|
||||
status = "disabled";
|
||||
|
||||
oledb_vreg: oledb@e000 {
|
||||
reg = <0xe000>;
|
||||
reg-names = "oledb_base";
|
||||
regulator-name = "oledb";
|
||||
regulator-min-microvolt = <4925000>;
|
||||
regulator-max-microvolt = <8100000>;
|
||||
qcom,swire-control;
|
||||
};
|
||||
|
||||
ab_vreg: ab@de00 {
|
||||
reg = <0xde00>;
|
||||
reg-names = "ab_base";
|
||||
regulator-name = "ab";
|
||||
regulator-min-microvolt = <4600000>;
|
||||
regulator-max-microvolt = <6100000>;
|
||||
qcom,swire-control;
|
||||
};
|
||||
|
||||
ibb_vreg: ibb@dc00 {
|
||||
reg = <0xdc00>;
|
||||
reg-names = "ibb_base";
|
||||
regulator-name = "ibb";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <5400000>;
|
||||
qcom,swire-control;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
81
qcom/pm6350.dtsi
Normal file
81
qcom/pm6350.dtsi
Normal file
@@ -0,0 +1,81 @@
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/input/qcom,qpnp-power-on.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&spmi_bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
|
||||
qcom,pm6350@0 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
reg = <0 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm6350_revid: qcom,revid@100 {
|
||||
compatible = "qcom,qpnp-revid";
|
||||
reg = <0x100>;
|
||||
};
|
||||
|
||||
qcom,power-on@800 {
|
||||
compatible = "qcom,qpnp-power-on";
|
||||
reg = <0x800>;
|
||||
interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "kpdpwr", "resin";
|
||||
qcom,pon-dbc-delay = <15625>;
|
||||
qcom,kpdpwr-sw-debounce;
|
||||
qcom,system-reset;
|
||||
qcom,store-hard-reset-reason;
|
||||
|
||||
qcom,pon_1 {
|
||||
qcom,pon-type = <PON_POWER_ON_TYPE_KPDPWR>;
|
||||
qcom,pull-up;
|
||||
linux,code = <KEY_POWER>;
|
||||
};
|
||||
|
||||
qcom,pon_2 {
|
||||
qcom,pon-type = <PON_POWER_ON_TYPE_RESIN>;
|
||||
qcom,pull-up;
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
};
|
||||
|
||||
pm6350_tz: qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400>;
|
||||
interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
qcom,temperature-threshold-set = <1>;
|
||||
};
|
||||
|
||||
pm6350_clkdiv: clock-controller@5b00 {
|
||||
compatible = "qcom,spmi-clkdiv";
|
||||
reg = <0x5b00>;
|
||||
#clock-cells = <1>;
|
||||
qcom,num-clkdivs = <1>;
|
||||
clock-output-names = "pm6350_div_clk1";
|
||||
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
|
||||
clock-names = "xo";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pm6350@1 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
reg = <1 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm6350_pwm: qcom,pwms@6000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,pwm-lpg";
|
||||
reg = <0x6000>;
|
||||
reg-names = "lpg-base";
|
||||
qcom,num-lpg-channels = <1>;
|
||||
#pwm-cells = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
193
qcom/pm7250b.dtsi
Normal file
193
qcom/pm7250b.dtsi
Normal file
@@ -0,0 +1,193 @@
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
||||
|
||||
&spmi_bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
|
||||
qcom,pm7250b@2 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
reg = <2 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm7250b_revid: qcom,revid@100 {
|
||||
compatible = "qcom,qpnp-revid";
|
||||
reg = <0x100>;
|
||||
};
|
||||
|
||||
qcom,power-on@800 {
|
||||
compatible = "qcom,qpnp-power-on";
|
||||
reg = <0x800>;
|
||||
};
|
||||
|
||||
pm7250b_tz: qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400>;
|
||||
interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
qcom,temperature-threshold-set = <1>;
|
||||
};
|
||||
|
||||
pm7250b_clkdiv: clock-controller@5b00 {
|
||||
compatible = "qcom,spmi-clkdiv";
|
||||
reg = <0x5b00>;
|
||||
#clock-cells = <1>;
|
||||
qcom,num-clkdivs = <1>;
|
||||
clock-output-names = "pm7250b_div_clk1";
|
||||
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
|
||||
clock-names = "xo";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pm7250b_vadc: vadc@3100 {
|
||||
compatible = "qcom,spmi-adc5";
|
||||
reg = <0x3100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "eoc-int-en-set";
|
||||
#io-channel-cells = <1>;
|
||||
io-channel-ranges;
|
||||
|
||||
/* Channel node */
|
||||
ref_gnd@0 {
|
||||
reg = <ADC5_REF_GND>;
|
||||
label = "ref_gnd";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
vref_1p25@1 {
|
||||
reg = <ADC5_1P25VREF>;
|
||||
label = "vref_1p25";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
die_temp@2 {
|
||||
reg = <ADC5_DIE_TEMP>;
|
||||
label = "die_temp";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
vph_pwr@83 {
|
||||
reg = <ADC5_VPH_PWR>;
|
||||
label = "vph_pwr";
|
||||
qcom,pre-scaling = <1 3>;
|
||||
};
|
||||
|
||||
vbat_sns@84 {
|
||||
reg = <ADC5_VBAT_SNS>;
|
||||
label = "vbat_sns";
|
||||
qcom,pre-scaling = <1 3>;
|
||||
};
|
||||
|
||||
usb_in_i_uv@7 {
|
||||
reg = <ADC5_USB_IN_I>;
|
||||
label = "usb_in_i_uv";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
usb_in_v_div_16@8 {
|
||||
reg = <ADC5_USB_IN_V_16>;
|
||||
label = "usb_in_v_div_16";
|
||||
qcom,pre-scaling = <1 16>;
|
||||
};
|
||||
|
||||
chg_temp@9 {
|
||||
reg = <ADC5_CHG_TEMP>;
|
||||
label = "chg_temp";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
bat_therm@4a {
|
||||
reg = <ADC5_BAT_THERM_100K_PU>;
|
||||
label = "bat_therm";
|
||||
qcom,ratiometric;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
bat_therm_30k@2a {
|
||||
reg = <ADC5_BAT_THERM_30K_PU>;
|
||||
label = "bat_therm_30k";
|
||||
qcom,ratiometric;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
bat_therm_400k@6a {
|
||||
reg = <ADC5_BAT_THERM_400K_PU>;
|
||||
label = "bat_therm_400k";
|
||||
qcom,ratiometric;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
bat_id@4b {
|
||||
reg = <ADC5_BAT_ID_100K_PU>;
|
||||
label = "bat_id";
|
||||
qcom,ratiometric;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
smb1390_therm@e {
|
||||
reg = <ADC5_AMUX_THM2>;
|
||||
label = "smb1390_therm";
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
chg_sbux@99 {
|
||||
reg = <ADC5_SBUx>;
|
||||
label = "chg_sbux";
|
||||
qcom,pre-scaling = <1 3>;
|
||||
};
|
||||
|
||||
mid_chg_div6@1e {
|
||||
reg = <ADC5_MID_CHG_DIV6>;
|
||||
label = "chg_mid";
|
||||
qcom,pre-scaling = <1 6>;
|
||||
};
|
||||
};
|
||||
|
||||
pm7250b_adc_tm: adc_tm@3500 {
|
||||
compatible = "qcom,adc-tm5";
|
||||
reg = <0x3500>;
|
||||
interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "thr-int-en";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
pm7250b_bcl: bcl@1d00 {
|
||||
compatible = "qcom,bcl-v5";
|
||||
reg = <0x1d00>;
|
||||
interrupts = <0x2 0x1d 0x0 IRQ_TYPE_NONE>,
|
||||
<0x2 0x1d 0x1 IRQ_TYPE_NONE>,
|
||||
<0x2 0x1d 0x2 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "bcl-lvl0",
|
||||
"bcl-lvl1",
|
||||
"bcl-lvl2";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pm7250b@3 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
reg = <3 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm7250b_vib: qcom,vibrator@5300 {
|
||||
compatible = "qcom,qpnp-vibrator-ldo";
|
||||
reg = <0x5300>;
|
||||
qcom,vib-ldo-volt-uv = <3000000>;
|
||||
qcom,disable-overdrive;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user