208 lines
4.8 KiB
Devicetree
208 lines
4.8 KiB
Devicetree
|
|
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
||
|
|
*
|
||
|
|
* This program is free software; you can redistribute it and/or modify
|
||
|
|
* it under the terms of the GNU General Public License version 2 and
|
||
|
|
* only version 2 as published by the Free Software Foundation.
|
||
|
|
*
|
||
|
|
* This program is distributed in the hope that it will be useful,
|
||
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
|
* GNU General Public License for more details.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#include <dt-bindings/spmi/spmi.h>
|
||
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
||
|
|
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
||
|
|
|
||
|
|
&spmi_bus {
|
||
|
|
qcom,pms405@0 {
|
||
|
|
compatible ="qcom,spmi-pmic";
|
||
|
|
reg = <0x0 SPMI_USID>;
|
||
|
|
#address-cells = <1>;
|
||
|
|
#size-cells = <1>;
|
||
|
|
|
||
|
|
qcom,revid@100 {
|
||
|
|
compatible = "qcom,qpnp-revid";
|
||
|
|
reg = <0x100 0x100>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pms405_vadc: vadc@3100 {
|
||
|
|
compatible = "qcom,spmi-adc-rev2";
|
||
|
|
reg = <0x3100 0x100>;
|
||
|
|
#address-cells = <1>;
|
||
|
|
#size-cells = <0>;
|
||
|
|
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
||
|
|
interrupt-names = "eoc-int-en-set";
|
||
|
|
qcom,adc-vdd-reference = <1875>;
|
||
|
|
#io-channel-cells = <1>;
|
||
|
|
io-channel-ranges;
|
||
|
|
|
||
|
|
ref_gnd {
|
||
|
|
label = "ref_gnd";
|
||
|
|
reg = <ADC_REF_GND>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
vref_1p25 {
|
||
|
|
label = "vref_1p25";
|
||
|
|
reg = <ADC_1P25VREF>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
die_temp {
|
||
|
|
label = "die_temp";
|
||
|
|
reg = <ADC_DIE_TEMP>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
vph_pwr {
|
||
|
|
label = "vph_pwr";
|
||
|
|
reg = <ADC_VPH_PWR>;
|
||
|
|
qcom,pre-scaling = <1 3>;
|
||
|
|
};
|
||
|
|
|
||
|
|
xo_therm {
|
||
|
|
label = "xo_therm";
|
||
|
|
reg = <ADC_XO_THERM_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pa_therm1 {
|
||
|
|
label = "pa_therm1";
|
||
|
|
reg = <ADC_AMUX_THM1_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pa_therm3 {
|
||
|
|
label = "pa_therm3";
|
||
|
|
reg = <ADC_AMUX_THM3_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
qcom,pre-scaling = <1 1>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
pms405_adc_tm_iio: adc_tm@3500 {
|
||
|
|
compatible = "qcom,adc-tm5-iio";
|
||
|
|
reg = <0x3500 0x100>;
|
||
|
|
#thermal-sensor-cells = <1>;
|
||
|
|
io-channels = <&pms405_vadc ADC_XO_THERM_PU2>,
|
||
|
|
<&pms405_vadc ADC_AMUX_THM1_PU2>,
|
||
|
|
<&pms405_vadc ADC_AMUX_THM3_PU2>;
|
||
|
|
|
||
|
|
xo_therm {
|
||
|
|
reg = <ADC_XO_THERM_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pa_therm1 {
|
||
|
|
reg = <ADC_AMUX_THM1_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pa_therm3 {
|
||
|
|
reg = <ADC_AMUX_THM3_PU2>;
|
||
|
|
qcom,ratiometric;
|
||
|
|
qcom,hw-settle-time = <200>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
pms405_pon: qcom,power-on@800 {
|
||
|
|
compatible = "qcom,qpnp-power-on";
|
||
|
|
reg = <0x800 0x100>;
|
||
|
|
interrupts = <0x0 0x8 0x0 IRQ_TYPE_NONE>;
|
||
|
|
interrupt-names = "kpdpwr";
|
||
|
|
qcom,pon-dbc-delay = <15625>;
|
||
|
|
qcom,system-reset;
|
||
|
|
qcom,store-hard-reset-reason;
|
||
|
|
|
||
|
|
qcom,pon_1 {
|
||
|
|
qcom,pon-type = <0>;
|
||
|
|
qcom,pull-up;
|
||
|
|
linux,code = <KEY_POWER>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
pms405_misc: qcom,misc@900 {
|
||
|
|
compatible = "qcom,qpnp-misc";
|
||
|
|
reg = <0x900 0x100>;
|
||
|
|
};
|
||
|
|
|
||
|
|
pms405_clkdiv: clock-controller@5b00 {
|
||
|
|
compatible = "qcom,spmi-clkdiv";
|
||
|
|
reg = <0x5b00 0x100>;
|
||
|
|
#clock-cells = <1>;
|
||
|
|
qcom,num-clkdivs = <1>;
|
||
|
|
clock-output-names = "pms405_div_clk1";
|
||
|
|
clocks = <&clock_rpmcc RPM_SMD_XO_CLK_SRC>;
|
||
|
|
clock-names = "xo";
|
||
|
|
|
||
|
|
assigned-clocks = <&pms405_clkdiv 1>;
|
||
|
|
assigned-clock-rates = <9600000>;
|
||
|
|
};
|
||
|
|
|
||
|
|
/* QCS405 + PMS405 GPIO configuration */
|
||
|
|
pms405_gpios: pinctrl@c000 {
|
||
|
|
compatible = "qcom,spmi-gpio";
|
||
|
|
reg = <0xc000 0xc00>;
|
||
|
|
interrupts = <0x0 0xc1 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc2 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc3 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc4 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc5 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc6 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xc7 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xca 0 IRQ_TYPE_NONE>,
|
||
|
|
<0x0 0xcb 0 IRQ_TYPE_NONE>;
|
||
|
|
interrupt-names = "pms405_gpio2", "pms405_gpio3",
|
||
|
|
"pms405_gpio4", "pms405_gpio5",
|
||
|
|
"pms405_gpio6", "pms405_gpio7",
|
||
|
|
"pms405_gpio8", "pms405_gpio11",
|
||
|
|
"pms405_gpio12";
|
||
|
|
gpio-controller;
|
||
|
|
#gpio-cells = <2>;
|
||
|
|
#address-cells = <1>;
|
||
|
|
#size-cells = <1>;
|
||
|
|
qcom,gpios-disallowed = <1 9 10>;
|
||
|
|
};
|
||
|
|
|
||
|
|
qcom,pms405_rtc {
|
||
|
|
compatible = "qcom,qpnp-rtc";
|
||
|
|
#address-cells = <1>;
|
||
|
|
#size-cells = <1>;
|
||
|
|
qcom,qpnp-rtc-write = <0>;
|
||
|
|
qcom,qpnp-rtc-alarm-pwrup = <0>;
|
||
|
|
|
||
|
|
qcom,pms405_rtc_rw@6000 {
|
||
|
|
reg = <0x6000 0x100>;
|
||
|
|
};
|
||
|
|
|
||
|
|
qcom,pms405_rtc_alarm@6100 {
|
||
|
|
reg = <0x6100 0x100>;
|
||
|
|
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
qcom,pms405@1 {
|
||
|
|
compatible = "qcom,spmi-pmic";
|
||
|
|
reg = <0x1 SPMI_USID>;
|
||
|
|
#address-cells = <1>;
|
||
|
|
#size-cells = <1>;
|
||
|
|
|
||
|
|
pms405_pwm: qcom,pwms@bc00 {
|
||
|
|
compatible = "qcom,pwm-lpg";
|
||
|
|
reg = <0xbc00 0x200>;
|
||
|
|
reg-names = "lpg-base";
|
||
|
|
#pwm-cells = <2>;
|
||
|
|
qcom,num-lpg-channels = <2>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|