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:
Jishnu Prakash
2020-04-24 16:27:20 +05:30
parent 2f13701c28
commit 00a1417326
4 changed files with 530 additions and 0 deletions

View File

@@ -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
View 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
View 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
View 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;
};
};
};