mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Add a nvmem cell for adc scaling within PMK8350 SDAM127 for yupik. This is used by clients to read the type of ADC scaling used for ibat. Change-Id: I1978fcf5ca18dd878da20bdacaf7d8d3c643d199
366 lines
7.4 KiB
Devicetree
366 lines
7.4 KiB
Devicetree
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/clock/qcom,rpmh.h>
|
|
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
|
#include "yupik-pmic-overlay.dtsi"
|
|
#include "pm7250b.dtsi"
|
|
#include "yupik-audio-overlay.dtsi"
|
|
#include "yupik-pm7250b-thermal-overlay.dtsi"
|
|
#include "display/yupik-sde-display-idp-pm7250b.dtsi"
|
|
|
|
/ {
|
|
qcom,pmic-id = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2e>;
|
|
qcom,pmic-id-size = <9>;
|
|
};
|
|
|
|
&soc {
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
label = "gpio-keys";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&key_vol_up_default>;
|
|
|
|
vol_up {
|
|
label = "volume_up";
|
|
gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <1>;
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
gpio-key,wakeup;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
};
|
|
};
|
|
|
|
&spmi_debug_bus {
|
|
qcom,pm8350b-debug@3 {
|
|
status = "disabled";
|
|
};
|
|
|
|
qcom,pm7250b-debug@8 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <8 SPMI_USID>;
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
qcom,can-sleep;
|
|
};
|
|
|
|
qcom,pm7250b-debug@9 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <9 SPMI_USID>;
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
qcom,can-sleep;
|
|
};
|
|
};
|
|
|
|
&spmi_glink_debug {
|
|
spmi@0 {
|
|
qcom,pm8350b-debug@3 {
|
|
status = "disabled";
|
|
};
|
|
|
|
qcom,pm7250b-debug@8 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <8 SPMI_USID>;
|
|
qcom,can-sleep;
|
|
};
|
|
};
|
|
};
|
|
|
|
&qupv3_se9_i2c {
|
|
status = "ok"
|
|
qcom,clk-freq-out = <1000000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
nq@28 {
|
|
compatible = "qcom,sn-nci";
|
|
reg = <0x28>;
|
|
qcom,sn-irq = <&tlmm 41 0x00>;
|
|
qcom,sn-ven = <&tlmm 38 0x00>;
|
|
qcom,sn-firm = <&tlmm 40 0x00>;
|
|
qcom,sn-clkreq = <&tlmm 39 0x00>;
|
|
qcom,sn-vdd-1p8-supply = <&L18B>;
|
|
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
|
|
qcom,sn-vdd-1p8-current = <157000>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <41 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>;
|
|
};
|
|
};
|
|
|
|
&ufsphy_mem {
|
|
compatible = "qcom,ufs-phy-qmp-v4-yupik";
|
|
|
|
vdda-phy-supply = <&L10C>;
|
|
vdda-pll-supply = <&L6B>;
|
|
vdda-phy-max-microamp = <97500>;
|
|
vdda-pll-max-microamp = <18400>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&ufshc_mem {
|
|
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
|
|
vdd-hba-fixed-regulator;
|
|
|
|
vcc-supply = <&L7B>;
|
|
vcc-voltage-level = <2504000 2952000>;
|
|
vcc-low-voltage-sup;
|
|
vcc-max-microamp = <800000>;
|
|
|
|
/*
|
|
* Yupik target supports both UFS2.2 & UFS3.1, here
|
|
* vccq2 is supplied via eLDO, and that is controlled via
|
|
* L9B which supports a max voltage of 1.2V, but eLDO would
|
|
* supply 1.8V. and same L9B acts as vccq voltage for UFS3.1
|
|
* devices.
|
|
* Here L9B can max support for 1.2V but UFS GKI driver code
|
|
* votes for 1.8V, which is leading to failure from pmic
|
|
* regulator.
|
|
*
|
|
* Now since vccq and control of eLDO are common that is L9B
|
|
* we can use vccq vote as control of eLDO for vccq2.
|
|
* Hence vccq entries shall be used for both type of UFS
|
|
* devices only. And vccq entries should not be changed/removed
|
|
* for any design alteration.
|
|
*/
|
|
vccq-supply = <&L9B>;
|
|
vccq-max-microamp = <900000>;
|
|
vccq-min-microamp = <10000>;
|
|
|
|
qcom,vddp-ref-clk-supply = <&L9B>;
|
|
qcom,vddp-ref-clk-max-microamp = <100>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&pm7250b_2 {
|
|
/* Slave ID - 8 */
|
|
reg = <8 SPMI_USID>;
|
|
};
|
|
|
|
&pm7250b_3 {
|
|
/* Slave ID - 9 */
|
|
reg = <9 SPMI_USID>;
|
|
};
|
|
|
|
&pmk8350_sdam_23 {
|
|
adc_scaling: scaling@bf {
|
|
reg = <0xbf 0x1>;
|
|
bits = <0 2>;
|
|
};
|
|
};
|
|
|
|
&pm7250b_vadc {
|
|
interrupts = <0x8 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
smb1390_therm@e {
|
|
qcom,scale-fn-type = <ADC_SCALE_HW_CALIB_PM5_SMB1398_TEMP>;
|
|
};
|
|
|
|
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 {
|
|
interrupts = <0x8 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
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>;
|
|
};
|
|
};
|
|
|
|
&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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pm7250b_tz {
|
|
interrupts = <0x8 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
};
|
|
|
|
&pm7250b_bcl {
|
|
interrupts = <0x8 0x1d 0x0 IRQ_TYPE_NONE>,
|
|
<0x8 0x1d 0x1 IRQ_TYPE_NONE>,
|
|
<0x8 0x1d 0x2 IRQ_TYPE_NONE>;
|
|
};
|
|
|
|
&pm7250b_clkdiv {
|
|
clocks = <&rpmhcc RPMH_CXO_CLK>;
|
|
};
|
|
|
|
&pm7250b_charger {
|
|
status = "disabled";
|
|
};
|
|
|
|
&pm7250b_qg {
|
|
status = "disabled";
|
|
};
|
|
|
|
&pm7250b_pdphy {
|
|
status = "disabled";
|
|
};
|
|
|
|
&spmi_debug_bus {
|
|
status = "ok"
|
|
};
|
|
|
|
&spmi_glink_debug {
|
|
status = "ok"
|
|
};
|
|
|
|
&pm8350c_pwm_2 {
|
|
status = "ok"
|
|
};
|
|
|
|
&pm8350c_switch0 {
|
|
qcom,led-mask = <9>; /* Channels 1 & 4 */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_switch1 {
|
|
qcom,led-mask = <6>; /* Channels 2 & 3 */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_switch2 {
|
|
qcom,led-mask = <15>; /* All Channels */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_flash {
|
|
status = "ok"
|
|
};
|
|
|
|
&battery_charger {
|
|
qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
|
|
};
|
|
|
|
&sdhc_1 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc1_on>;
|
|
pinctrl-1 = <&sdc1_off>;
|
|
|
|
vdd-supply = <&L7B>;
|
|
qcom,vdd-voltage-level = <2952000 2952000>;
|
|
qcom,vdd-current-level = <0 570000>;
|
|
|
|
vdd-io-supply = <&L19B>;
|
|
qcom,vdd-io-always-on;
|
|
qcom,vdd-io-lpm-sup;
|
|
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
|
qcom,vdd-io-current-level = <0 325000>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&sdhc_2 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_on>;
|
|
pinctrl-1 = <&sdc2_off>;
|
|
|
|
vdd-supply = <&L9C>;
|
|
qcom,vdd-voltage-level = <2960000 2960000>;
|
|
qcom,vdd-current-level = <0 800000>;
|
|
|
|
vdd-io-supply = <&L6C>;
|
|
qcom,vdd-io-voltage-level = <1800000 2960000>;
|
|
qcom,vdd-io-current-level = <0 22000>;
|
|
|
|
cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&qupv3_se13_i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "ok"
|
|
qcom,i2c-touch-active="novatek,NVT-ts";
|
|
|
|
novatek@62 {
|
|
compatible = "novatek,NVT-ts";
|
|
reg = <0x62>;
|
|
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <81 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 = <&ts_release>;
|
|
|
|
novatek,reset-gpio = <&tlmm 105 0x00>;
|
|
novatek,irq-gpio = <&tlmm 81 0x2008>;
|
|
|
|
panel = <&dsi_nt36672e_fhd_plus_60_video
|
|
&dsi_nt36672e_fhd_plus_120_video
|
|
&dsi_nt36672e_fhd_plus_144_video>;
|
|
|
|
novatek,trusted-touch-mode = "vm_mode";
|
|
novatek,touch-environment = "pvm";
|
|
novatek,trusted-touch-spi-irq = <601>;
|
|
novatek,trusted-touch-io-bases = <0xf134000 0xf135000 0xf169000 0xf151000 0xa94000 0x00a10000>;
|
|
novatek,trusted-touch-io-sizes = <0x1000 0x1000 0x1000 0x1000 0x1000 0x4000>;
|
|
};
|
|
};
|
|
|
|
#include "camera/yupik-camera-sensor-idp.dtsi"
|