blob: 3b8b375ba006ac61146bb16246cd4fa3d2c726f5 [file] [log] [blame]
/* Copyright (c) 2017-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/gpio/gpio.h>
#include "sdm670-camera-sensor-qrd.dtsi"
#include "sdm670-pmic-overlay.dtsi"
#include "sdm670-audio-overlay.dtsi"
#include "sdm670-sde-display.dtsi"
&qupv3_se10_i2c {
#include "smb1355.dtsi"
};
&qupv3_se9_2uart {
status = "disabled";
};
&qupv3_se12_2uart {
status = "ok";
};
&qupv3_se8_spi {
status = "disabled";
};
&qupv3_se3_i2c {
status = "ok";
nq@28 {
compatible = "qcom,nq-nci";
reg = <0x28>;
qcom,nq-irq = <&tlmm 44 0x00>;
qcom,nq-ven = <&tlmm 12 0x00>;
qcom,nq-firm = <&tlmm 43 0x00>;
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
qcom,nq-esepwr = <&tlmm 116 0x00>;
interrupt-parent = <&tlmm>;
qcom,clk-src = "BBCLK3";
interrupts = <44 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active
&nfc_enable_active
&nfc_clk_default>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
clocks = <&clock_rpmh RPMH_LN_BB_CLK3>;
clock-names = "ref_clk";
};
};
&qupv3_se10_i2c {
status = "ok";
};
&qupv3_se6_4uart {
status = "ok";
};
&vendor {
qrd_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "fg-gen3-batterydata-mlp356477-2800mah.dtsi"
};
};
&eud {
vdda33-supply = <&pm660l_l7>;
};
&pm660_fg {
qcom,battery-data = <&qrd_batterydata>;
qcom,fg-bmd-en-delay-ms = <300>;
qcom,fg-jeita-thresholds = <0 15 45 55>;
};
&pm660_charger {
qcom,thermal-mitigation = <4200000 3500000 3000000 2500000
2000000 1500000 1000000 500000>;
qcom,battery-data = <&qrd_batterydata>;
qcom,sw-jeita-enable;
};
&tlmm {
smb_int_default: smb_int_default {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
};
&smb1355_0 {
pinctrl-names = "default";
pinctrl-0 = <&smb_int_default
&smb_shutdown_default>;
interrupt-parent = <&tlmm>;
interrupts = <54 IRQ_TYPE_LEVEL_LOW>;
smb1355_charger_0: qcom,smb1355-charger@1000 {
io-channels = <&pm660_rradc 2>,
<&pm660_rradc 12>;
io-channel-names = "charger_temp",
"charger_temp_max";
status = "ok";
};
};
&smb1355_1 {
pinctrl-names = "default";
pinctrl-0 = <&smb_int_default
&smb_shutdown_default>;
interrupt-parent = <&tlmm>;
interrupts = <54 IRQ_TYPE_LEVEL_LOW>;
smb1355_charger_1: qcom,smb1355-charger@1000 {
io-channels = <&pm660_rradc 2>,
<&pm660_rradc 12>;
io-channel-names = "charger_temp",
"charger_temp_max";
status = "ok";
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <115>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
&qusb_phy0 {
qcom,qusb-phy-init-seq =
/* <value reg_offset> */
<0x23 0x210 /* PWR_CTRL1 */
0x03 0x04 /* PLL_ANALOG_CONTROLS_TWO */
0x7c 0x18c /* PLL_CLOCK_INVERTERS */
0x80 0x2c /* PLL_CMODE */
0x0a 0x184 /* PLL_LOCK_DELAY */
0x19 0xb4 /* PLL_DIGITAL_TIMERS_TWO */
0x40 0x194 /* PLL_BIAS_CONTROL_1 */
0x20 0x198 /* PLL_BIAS_CONTROL_2 */
0x21 0x214 /* PWR_CTRL2 */
0x00 0x220 /* IMP_CTRL1 */
0x1a 0x224 /* IMP_CTRL2 */
0x47 0x240 /* TUNE1 */
0x29 0x244 /* TUNE2 */
0xca 0x248 /* TUNE3 */
0x04 0x24c /* TUNE4 */
0x03 0x250 /* TUNE5 */
0x00 0x23c /* CHG_CTRL2 */
0x22 0x210>; /* PWR_CTRL1 */
};
&pm660_haptics {
qcom,vmax-mv = <1800>;
qcom,wave-play-rate-us = <4255>;
qcom,lra-auto-mode;
status = "okay";
};
&int_codec {
qcom,model = "sdm670-skuw-snd-card";
qcom,msm-micbias1-ext-cap;
qcom,audio-routing =
"RX_BIAS", "INT_MCLK0",
"SPK_RX_BIAS", "INT_MCLK0",
"INT_LDO_H", "INT_MCLK0",
"MIC BIAS External2", "Headset Mic",
"AMIC2", "MIC BIAS External2",
"MIC BIAS External", "Handset Mic",
"AMIC1", "MIC BIAS External",
"MIC BIAS External", "Secondary Mic",
"AMIC3", "MIC BIAS External",
"SpkrLeft IN", "SPK1 OUT",
"PDM_IN_RX1", "PDM_OUT_RX1",
"PDM_IN_RX2", "PDM_OUT_RX2",
"PDM_IN_RX3", "PDM_OUT_RX3",
"ADC1_IN", "ADC1_OUT",
"ADC2_IN", "ADC2_OUT",
"ADC3_IN", "ADC3_OUT";
qcom,wsa-max-devs = <1>;
qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_213_en>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrLeft";
};
&sdhc_1 {
vdd-supply = <&pm660l_l4>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 570000>;
vdd-io-supply = <&pm660_l8>;
qcom,vdd-io-always-on;
qcom,vdd-io-lpm-sup;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <0 325000>;
pinctrl-names = "active", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
status = "ok";
};
&sdhc_2 {
vdd-supply = <&pm660l_l5>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&pm660l_l2>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
pinctrl-names = "active", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&tlmm 96 0>;
status = "ok";
};
&tlmm {
pmx_ts_rst_active {
ts_rst_active: ts_rst_active {
mux {
pins = "gpio99";
function = "gpio";
};
config {
pins = "gpio99";
drive-strength = <16>;
bias-pull-up;
};
};
};
pmx_ts_rst_suspend {
ts_rst_suspend: ts_rst_suspend {
mux {
pins = "gpio99";
function = "gpio";
};
config {
pins = "gpio99";
drive-strength = <2>;
bias-pull-down;
};
};
};
};
&soc {
hbtp {
compatible = "qcom,hbtp-input";
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
pinctrl-0 = <&ts_rst_active>;
pinctrl-1 = <&ts_rst_suspend>;
vcc_ana-supply = <&pm660l_l3>;
vcc_dig-supply = <&pm660_l13>;
qcom,afe-load = <20000>;
qcom,afe-vtg-min = <3000000>;
qcom,afe-vtg-max = <3000000>;
qcom,dig-load = <40000>;
qcom,dig-vtg-min = <1800000>;
qcom,dig-vtg-max = <1800000>;
qcom,fb-resume-delay-us = <1000>;
qcom,afe-force-power-on;
qcom,afe-power-on-delay-us = <6>;
qcom,afe-power-off-delay-us = <6>;
};
};
&dsi_dual_nt36850_truly_cmd {
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-mode-gpio = <&tlmm 76 0>;
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
qcom,platform-reset-gpio = <&tlmm 75 0>;
qcom,platform-te-gpio = <&tlmm 10 0>;
};
&dsi_dual_nt36850_truly_cmd_display {
qcom,dsi-display-active;
};
&dsi_panel_pwr_supply {
qcom,panel-supply-entry@2 {
qcom,supply-post-off-sleep = <5>;
};
};
&pm660l_wled {
status = "okay";
qcom,led-strings-list = [00 01];
};
&mdss_mdp {
#cooling-cells = <2>;
};