blob: 6a859dadf52bde1d4105665432c1f153accd1826 [file] [log] [blame]
/*
* Copyright (c) 2017-2019, 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 "sdm670-mtp.dtsi"
#include "sdm670-camera-sensor-360camera.dtsi"
#include "sdm670-audio-overlay.dtsi"
&qupv3_se3_i2c {
status = "disabled";
};
&qupv3_se10_i2c {
status = "okay";
};
&qupv3_se12_2uart {
status = "okay";
};
&qupv3_se6_4uart {
status = "okay";
};
&qupv3_se13_i2c {
status = "disabled";
};
&qupv3_se13_spi {
status = "disabled";
};
&dsi_dual_nt36850_truly_cmd_display {
status = "disabled";
};
&dsi_dual_nt35597_truly_video_display {
status = "disabled";
};
&mdss_mdp {
bridges = <&lt9611>;
};
&qupv3_se9_i2c {
status = "okay";
lt9611: lt,lt9611@3b {
compatible = "lt,lt9611";
reg = <0x3b>;
interrupt-parent = <&tlmm>;
interrupts = <125 0>;
interrupt-names = "lt_irq";
lt,irq-gpio = <&tlmm 125 0x0>;
lt,reset-gpio = <&tlmm 134 0x0>;
lt,hdmi-ps-gpio = <&tlmm 136 0x0>;
lt,hdmi-en-gpio = <&tlmm 137 0x0>;
lt,non-pluggable;
lt,preferred-mode = "1920x1080";
vcc-supply = <&pm660l_l6>;
vdd-supply = <&pm660_l11>;
lt,supply-entries {
#address-cells = <1>;
#size-cells = <0>;
lt,supply-entry@0 {
reg = <0>;
lt,supply-name = "vcc";
lt,supply-min-voltage = <3300000>;
lt,supply-max-voltage = <3300000>;
lt,supply-enable-load = <200000>;
lt,supply-post-on-sleep = <50>;
};
lt,supply-entry@1 {
reg = <1>;
lt,supply-name = "vdd";
lt,supply-min-voltage = <1800000>;
lt,supply-max-voltage = <1800000>;
lt,supply-enable-load = <200000>;
lt,supply-post-on-sleep = <50>;
};
};
lt,customize-modes {
lt,customize-mode-id@0 {
lt,mode-h-active = <1920>;
lt,mode-h-front-porch = <88>;
lt,mode-h-pulse-width = <44>;
lt,mode-h-back-porch = <148>;
lt,mode-h-active-high;
lt,mode-v-active = <1080>;
lt,mode-v-front-porch = <4>;
lt,mode-v-pulse-width = <5>;
lt,mode-v-back-porch = <36>;
lt,mode-v-active-high;
lt,mode-refresh-rate = <60>;
lt,mode-clock-in-khz = <148500>;
};
lt,customize-mode-id@1 {
lt,mode-h-active = <3840>;
lt,mode-h-front-porch = <176>;
lt,mode-h-pulse-width = <88>;
lt,mode-h-back-porch = <296>;
lt,mode-h-active-high;
lt,mode-v-active = <2160>;
lt,mode-v-front-porch = <8>;
lt,mode-v-pulse-width = <10>;
lt,mode-v-back-porch = <72>;
lt,mode-v-active-high;
lt,mode-refresh-rate = <30>;
lt,mode-clock-in-khz = <297000>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lt9611_in: endpoint {
remote-endpoint = <&ext_dsi_out>;
};
};
};
};
};
&ext_dsi_bridge_display {
qcom,dsi-display-active;
ports {
port@0 {
endpoint {
remote-endpoint = <&lt9611_in>;
};
};
};
};
/delete-node/ &mtp_batterydata;
&vendor {
qcs_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "fg-gen3-batterydata-vrcamera-1300mah.dtsi"
};
};
&pm660_fg {
qcom,fg-force-load-profile;
qcom,battery-data = <&qcs_batterydata>;
};
&pm660_charger {
qcom,battery-data = <&qcs_batterydata>;
qcom,thermal-mitigation = <2600000 2100000 1600000 1100000
600000>;
qcom,sw-jeita-enable;
};
&int_codec {
qcom,model = "sdm670-360cam-snd-card";
qcom,audio-routing =
"RX_BIAS", "INT_MCLK0",
"SPK_RX_BIAS", "INT_MCLK0",
"INT_LDO_H", "INT_MCLK0",
"DMIC1", "MIC BIAS External",
"MIC BIAS External", "Digital Mic1",
"DMIC2", "MIC BIAS External",
"MIC BIAS External", "Digital Mic2",
"DMIC3", "MIC BIAS External2",
"MIC BIAS External2", "Digital Mic3",
"DMIC4", "MIC BIAS External2",
"MIC BIAS External2", "Digital Mic4",
"MICBIAS_REGULATOR", "VDDA18_L10_REGULATOR",
"VDDA18_L10_REGULATOR", "VDD_L1_REGULATOR",
"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 = <0>;
};
&tlmm {
pwr_led_green_default: pwr_led_green_default {
mux {
pins = "gpio106";
function = "gpio";
};
config {
pins = "gpio106";
drive-strength = <8>; /* 8 mA */
bias-disable;
output-low;
};
};
pwr_led_red_default: pwr_led_red_default {
mux {
pins = "gpio111";
function = "gpio";
};
config {
pins = "gpio111";
drive-strength = <8>; /* 8 mA */
bias-disable;
output-low;
};
};
wifi_led_green_default: wifi_led_green_default {
mux {
pins = "gpio114";
function = "gpio";
};
config {
pins = "gpio114";
drive-strength = <8>; /* 8 mA */
bias-disable;
output-low;
};
};
wifi_led_red_default: wifi_led_red_default {
mux {
pins = "gpio115";
function = "gpio";
};
config {
pins = "gpio115";
drive-strength = <8>; /* 8 mA */
bias-disable;
output-low;
};
};
key_wcnss_default: key_wcnss_default {
mux {
pins = "gpio120";
function = "gpio";
};
config {
pins = "gpio120";
drive-strength = <8>; /* 8 mA */
bias-pull-up;
input-enable;
};
};
key_record_default: key_record_default {
mux {
pins = "gpio119";
function = "gpio";
};
config {
pins = "gpio119";
drive-strength = <8>; /* 8 mA */
bias-pull-up;
input-enable;
};
};
key_snapshot_default: key_snapshot_default {
mux {
pins = "gpio91";
function = "gpio";
};
config {
pins = "gpio91";
drive-strength = <8>; /* 8 mA */
bias-pull-up;
input-enable;
};
};
};
&soc {
gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pwr_led_green_default
&pwr_led_red_default
&wifi_led_green_default
&wifi_led_red_default>;
status = "okay";
vdd_ldo_1-supply = <&pm660_l15>;
vdd_ldo_2-supply = <&pm660_l17>;
led@1 {
label = "PWR_LED:red:106";
gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "wlan";
default-state = "off";
};
led@2 {
label = "PWR_LED:green:111";
gpios = <&tlmm 111 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "wlan";
default-state = "on";
};
led@3 {
label = "WIFI_LED:red:114";
gpios = <&tlmm 114 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "wlan";
default-state = "on";
};
led@4 {
label = "WIFI_LED:green:115";
gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "wlan";
default-state = "off";
};
};
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_snapshot_default
&key_record_default
&key_wcnss_default>;
status = "okay";
cam_snapshot {
label = "cam_snapshot";
gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <767>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
cam_record {
label = "cam_record";
gpios = <&tlmm 119 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <766>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
wcnss_key {
label = "wcnss_key";
gpios = <&tlmm 120 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <528>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
&pm660_vadc{
chan@4e {
label = "emmc_therm";
reg = <0x4e>;
qcom,decimation = <2>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@4f {
label = "pa_therm0";
reg = <0x4f>;
qcom,decimation = <2>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
};
&pm660_adc_tm{
chan@4e {
label = "emmc_therm";
reg = <0x4e>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,btm-channel-number = <0x80>;
qcom,thermal-node;
};
chan@4f {
label = "pa_therm0";
reg = <0x4f>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,btm-channel-number = <0x88>;
qcom,thermal-node;
};
};
&msm_fastrpc_compute_cb1 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb2 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb3 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb4 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb5 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb6 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb7 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb8 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb9 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb10 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb11 {
/delete-property/ dma-coherent;
};
&msm_fastrpc_compute_cb12 {
/delete-property/ dma-coherent;
};