blob: 72668b8e79d4384ffb2bc9bbb1850157b4aabbaf [file] [log] [blame]
#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"
#include "haptic_hv.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;
};
};
bsp-public-interfaces {
compatible = "t2,bsp-public-interfaces";
board,name="t2,fp5";
board_id0= <&tlmm 106 0>;
board_id1= <&tlmm 107 0>;
board_id2= <&tlmm 108 0>;
board_id3= <&tlmm 104 0>;
esim_regulator-supply = <&L5C>;
pinctrl-names = "default";
pinctrl-0 = <&board_id_default>;
status = "ok";
};
/* Focaltech FP */
focalfp_ft9362 {
compatible = "focaltech,fp";
interrupt-parent = <&tlmm>;
status = "okay";
interrupts = <34 IRQ_TYPE_EDGE_RISING>;
focaltech_fp,reset-gpio = <&tlmm 35 0>;
focaltech_fp,irq-gpio = <&tlmm 34 0>;
focaltech_fp,vdd-gpio = <&tlmm 60 0>;
pinctrl-names ="fpsensor_finger_rst_low",
"fpsensor_finger_rst_high",
"fpsensor_eint_as_int",
"fpsensor_finger_power_low",
"fpsensor_finger_power_high";
pinctrl-0 = <&fingerprint_pins_eint_as_int>;
pinctrl-1 = <&fingerprint_pins_rst_output1>;
pinctrl-2 = <&fingerprint_pins_rst_output0>;
pinctrl-3 = <&fingerprint_pins_power_output0>;
pinctrl-4 = <&fingerprint_pins_power_output1>;
};
npi_down{
compatible = "qcom,npi-down-status";
qcom,npi-down-en-pin = <&pm7325_gpios 9 0>;
qcom,npi-down-gpio = <&tlmm 98 0x0>;
pinctrl-names = "default", "suspend";
pinctrl-0 = <&npi_down_default &npi_down_en_pin_default>;
pinctrl-1 = <&npi_down_default &npi_down_en_pin_suspend>;
};
};
&soc {
gpio_keys {
hall_sensor-vdd-supply = <&L8C>;
pinctrl-0 = <&key_vol_up_default &hall_sensor_init_default>;
hall_sensor_key {
label = "hall_sensor_key";
gpios = <&tlmm 155 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <252>;
linux,can-disable;
gpio-key,wakeup;
debounce-interval = <15>;
};
};
///[ADD][EMKIT]///
emkit_info {
compatible = "emkit-info,sys-emkit-info";
status = "ok";
};
};
&pm7325_gpios{
npi_down {
npi_down_en_pin_default: npi_down_en_pin_default {
pins = "gpio9";
function = "normal";
output-high;
power-source = <0>;
};
npi_down_en_pin_suspend: npi_down_en_pin_suspend {
pins = "gpio9";
function = "normal";
input-enable;
power-source = <0>;
};
};
};
&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;
};
};
};
#include <dt-bindings/clock/qcom,rpmh.h>
&qupv3_se9_i2c {
status = "ok";
#address-cells = <1>;
#size-cells = <0>;
st21nfc@28 {
compatible = "st,st21nfc";
reg = <0x08>;
interrupt-parent = <&tlmm>;
interrupts = <41 0>;
reset-gpios = <&tlmm 38 0x00>;
irq-gpios = <&tlmm 41 0x00>;
clkreq-gpios = <&tlmm 39 0x00>;
clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
clock-names = "nfc_ref_clk";
st,clk_pinctrl;
status = "ok";
};
};
&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 = "disabled";
};
&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_spi {
status = "ok";
qcom,spi-touch-active = "goodix,brl-a";
goodix-berlin@0 {
compatible = "goodix,brl-a";
reg = <0>;
spi-max-frequency = <1000000>;
goodix,avdd-name = "avdd"; //3.0v
avdd-supply = <&L3C>;
goodix,iovdd-name = "iovdd"; //1.8v
iovdd-supply = <&L2C>;
goodix,irq-gpio = <&tlmm 81 0x0>;
goodix,irq-flags = <1>; // 1:trigger rising, 2:trigger falling;
goodix,reset-gpio = <&tlmm 105 0x0>;
goodix,panel-max-x = <1224>;
goodix,panel-max-y = <2700>;
goodix,panel-max-w = <255>;
panel = <&rm692e5_boe_amoled_cmd>;
//goodix,panel-max-p = <4096>; // max pressure that pen device supported
//goodix,pen-enable; //support active stylus device
goodix.sleep-enable; // enter sleep mode
goodix,firmware-name = "GT9897_05.01.FF.17_4D6C5476.bin";
goodix,config-name = "goodix_cfg_group_V15.bin";
};
};
&tlmm {
board_id {
board_id_default: board_id_default{
mux {
pins = "gpio104","gpio106","gpio107","gpio108";
function = "gpio";
};
config {
pins = "gpio104","gpio106","gpio107","gpio108";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
};
npi_down_default: npi_down_default {
mux {
pins = "gpio98";
function = "gpio";
};
config {
pins = "gpio98";
drive-strength = <2>;
input-enable;
bias-pull-up;
};
};
hall_sensor_init_default:hall_sensor_init_default{
mux {
pins = "gpio155";
function = "gpio";
};
config {
pins = "gpio155";
drive-strength = <2>;
input-enable; // MODIFIED by hongwei.tian, 2019-05-11,BUG-7754996
bias-pull-up;
};
};
};
#include "camera/fp5-yupik-camera-sensor-idp.dtsi"