blob: eaa844b372cb55e1ad7b80caf7b802cf6e10fd49 [file] [log] [blame]
/*
* Copyright (c) 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 "sdm439-qrd.dtsi"
#include "sdm429w-pm660.dtsi"
&gpio_key_active {
mux {
pins = "gpio91", "gpio127", "gpio128", "gpio35", "gpio126";
function = "gpio";
};
config {
pins = "gpio91", "gpio127", "gpio128", "gpio35", "gpio126";
drive-strength = <2>;
bias-pull-up;
};
};
&gpio_key_suspend {
mux {
pins = "gpio91", "gpio127", "gpio128", "gpio35", "gpio126";
function = "gpio";
};
config {
pins = "gpio91", "gpio127", "gpio128", "gpio35", "gpio126";
drive-strength = <2>;
bias-pull-up;
};
};
&cdc_pdm_lines_act {
mux {
pins = "gpio68", "gpio73", "gpio74";
function = "cdc_pdm0";
};
config {
pins = "gpio68", "gpio73", "gpio74";
drive-strength = <16>;
};
};
&cdc_pdm_lines_sus {
mux {
pins = "gpio68", "gpio73", "gpio74";
function = "cdc_pdm0";
};
config {
pins = "gpio68", "gpio73", "gpio74";
drive-strength = <2>;
bias-disable;
};
};
&cam_sensor_rear_standby {
/* STANDBY */
mux {
/delete-property/ pins;
pins = "gpio92";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio92";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_standby_sleep {
/* STANDBY */
mux {
/delete-property/ pins;
pins = "gpio92";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio92";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_vana {
/* VANA */
mux {
/delete-property/ pins;
pins = "gpio58";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio58";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_vana_sleep {
/* VANA */
mux {
/delete-property/ pins;
pins = "gpio58";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio58";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_edo_rm67162_qvga_cmd>;
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
qcom,platform-te-gpio = <&tlmm 24 0>;
qcom,platform-reset-gpio = <&tlmm 60 0>;
qcom,platform-enable-gpio = <&tlmm 69 0>;
};
&dsi_edo_rm67162_qvga_cmd {
/delete-property/ qcom,mdss-dsi-panel-timings;
qcom,mdss-dsi-panel-timings-phy-12nm = [06 05 01 0A 00 03 01 0F];
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,panel-supply-entries = <&dsi_pm660_panel_pwr_supply>;
};
&soc {
/delete-node/ qcom,cci@1b0c000;
cci: qcom,cci@1b0c000 {
status = "ok";
cell-index = <0>;
compatible = "qcom,cci";
reg = <0x1b0c000 0x4000>;
#address-cells = <1>;
#size-cells = <0>;
reg-names = "cci";
interrupts = <0 50 0>;
interrupt-names = "cci";
clocks = <&clock_gcc clk_gcc_camss_ispif_ahb_clk>,
<&clock_gcc clk_cci_clk_src>,
<&clock_gcc clk_gcc_camss_cci_ahb_clk>,
<&clock_gcc clk_gcc_camss_cci_clk>,
<&clock_gcc clk_gcc_camss_ahb_clk>,
<&clock_gcc clk_gcc_camss_top_ahb_clk>;
clock-names = "ispif_ahb_clk", "cci_src_clk",
"cci_ahb_clk", "camss_cci_clk",
"camss_ahb_clk", "camss_top_ahb_clk";
qcom,clock-rates = <61540000 19200000 0 0 0 0>,
<61540000 37500000 0 0 0 0>;
pinctrl-names = "cci_default", "cci_suspend";
pinctrl-0 = <&cci0_active &cci1_active>;
pinctrl-1 = <&cci0_suspend &cci1_suspend>;
gpios = <&tlmm 29 0>,
<&tlmm 30 0>,
<&tlmm 31 0>,
<&tlmm 32 0>;
qcom,gpio-tbl-num = <0 1 2 3>;
qcom,gpio-tbl-flags = <1 1 1 1>;
qcom,gpio-tbl-label = "CCI_I2C_DATA0",
"CCI_I2C_CLK0",
"CCI_I2C_DATA1",
"CCI_I2C_CLK1";
i2c_freq_100Khz: qcom,i2c_standard_mode {
status = "disabled";
};
i2c_freq_400Khz: qcom,i2c_fast_mode {
status = "disabled";
};
i2c_freq_custom: qcom,i2c_custom_mode {
status = "disabled";
};
i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
status = "disabled";
};
};
};
#include "sdm429w-camera-sensor-spyro.dtsi"
&i2c_5 {
status = "disabled";
};
&vol_up {
gpios = <&tlmm 35 0x1>;
};
&gpio_keys {
function_1: function_1 {
label = "function_1";
gpios = <&tlmm 127 0x1>;
linux,input-type = <1>;
linux,code = <116>;
debounce-interval = <15>;
linux,can-disable;
gpio-key,wakeup;
};
function_2: function_2 {
label = "function_2";
gpios = <&tlmm 126 0x1>;
linux,input-type = <1>;
linux,code = <117>;
debounce-interval = <15>;
linux,can-disable;
gpio-key,wakeup;
};
};
&soc {
/delete-node/ qcom,spm@b1d2000;
qcom,spm@b1d2000 {
compatible = "qcom,spm-v2";
#address-cells = <1>;
#size-cells = <1>;
reg = <0xb1d2000 0x1000>;
qcom,name = "system-cci";
qcom,saw2-ver-reg = <0xfd0>;
qcom,saw2-cfg = <0x14>;
qcom,saw2-spm-dly= <0x3C102800>;
qcom,saw2-spm-ctl = <0xe>;
qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
qcom,vctl-timeout-us = <500>;
qcom,vctl-port = <0x0>;
qcom,vctl-port-ub = <0x1>;
qcom,pfm-port = <0x2>;
};
};
&dsi_hx8399c_hd_vid {
qcom,mdss-dsi-on-command = [
39 01 00 00 00 00 04
b9 ff 83 99
39 01 00 00 00 00 02
d2 88
39 01 00 00 00 00 0c
b1 02 04 72 92 01
32 aa 11 11 52 57
39 01 00 00 00 00 10
b2 00 80 80 cc 05 07 5a
11 10 10 00 1e 70 03 d4
39 01 00 00 00 00 2d
b4 00 ff 59 59 01 ab 00
00 09 00 03 05 00 28 03
0b 0d 21 03 02 00 0c a3
80 59 59 02 ab 00 00 09
00 03 05 00 28 03 0b 0d
02 00 0c a3 01
39 01 00 00 05 00 22
d3 00 0c 03 03 00 00 10
10 00 00 03 00 03 00 08
78 08 78 00 00 00 00 00
24 02 05 05 03 00 00 00
05 40
39 01 00 00 05 00 21
d5 20 20 19 19 18 18 02
03 00 01 24 24 18 18 18
18 24 24 00 00 00 00 00
00 00 00 2f 2f 30 30 31
31
39 01 00 00 05 00 21
d6 24 24 18 18 19 19 01
00 03 02 24 24 18 18 18
18 20 20 40 40 40 40 40
40 40 40 2f 2f 30 30 31
31
39 01 00 00 00 00 02
bd 00
39 01 00 00 00 00 11
d8 aa aa aa aa aa aa aa
aa aa ba aa aa aa ba aa
aa
39 01 00 00 00 00 02
bd 01
39 01 00 00 00 00 11
d8 00 00 00 00 00 00 00
00 82 ea aa aa 82 ea aa
aa
39 01 00 00 00 00 02
bd 02
39 01 00 00 00 00 09
d8 ff ff c0 3f ff ff c0
3f
39 01 00 00 00 00 02
bd 00
39 01 00 00 05 00 37
e0 01 21 31 2d 66 6f 7b
75 7a 81 86 89 8c 90 95
97 9a a1 a2 aa 9e ad b0
5b 57 63 7a 01 21 31 2d
66 6f 7b 75 7a 81 86 89
8c 90 95 97 9a a1 a2 aa
9e ad b0 5b 57 63 7a
39 01 00 00 00 00 03
b6 7e 7e
39 01 00 00 00 00 02
cc 08
39 01 00 00 00 00 02
35 00
39 01 00 00 00 00 02
dd 03
05 01 00 00 78 00 02 11 00
05 01 00 00 05 00 02 29 00];
qcom,mdss-dsi-reset-sequence = <1 2>, <0 5>, <1 10>;
};
&firmware {
android {
compatible = "android,firmware";
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,boot,system,vendor,dtbo,recovery";
};
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/soc/7824900.sdhci/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait,avb";
status = "ok";
};
system {
compatible = "android,system";
dev = "/dev/block/platform/soc/7824900.sdhci/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait,avb";
status = "ok";
};
};
};
};
&i2c_4 {
status = "ok";
tsc@24 {
compatible = "cy,cyttsp5_i2c_adapter";
reg = <0x24>;
interrupt-parent = <&tlmm>;
interrupts = <65 0x2008>;
cy,adapter_id = "cyttsp5_i2c_adapter";
vcc_i2c-supply = <&L13A>;
vdd-supply = <&L15A>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_int_active &ts_reset_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&ts_release>;
cy,core {
cy,name = "cyttsp5_core";
cy,irq_gpio = <65>;
cy,rst_gpio = <64>;
cy,hid_desc_register = <1>;
cy,flags = <4>;
cy,easy_wakeup_gesture = <1>;
cy,btn_keys = <172 139 158 217 114 115 212 116>;
cy,btn_keys-tag = <0>;
cy,mt {
cy,name = "cyttsp5_mt";
cy,inp_dev_name = "cyttsp5_mt";
cy,flags = <0x28>;
cy,abs =
<0x35 0 320 0 0
0x36 0 360 0 0
0x3a 0 255 0 0
0xffff 0 255 0 0
0x39 0 15 0 0
0x30 0 255 0 0
0x31 0 255 0 0
0x34 0xffffff81 127 0 0
0x37 0 1 0 0
0x3b 0 255 0 0>;
cy,vkeys_x = <320>;
cy,vkeys_y = <360>;
cy,virtual_keys =
<158 1360 90 160 180
139 1360 270 160 180
172 1360 450 160 180
217 1360 630 160 180>;
};
cy,btn {
cy,name = "cyttsp5_btn";
cy,inp_dev_name = "cyttsp5_btn";
};
cy,proximity {
cy,name = "cyttsp5_proximity";
cy,inp_dev_name = "cyttsp5_proximity";
cy,abs = <0x19 0 1 0 0>;
};
};
};
};
&tlmm {
pmx_ts_int_active {
ts_int_active: ts_int_active {
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_int_suspend {
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_reset_active {
ts_reset_active: ts_reset_active {
mux {
pins = "gpio64";
function = "gpio";
};
config {
pins = "gpio64";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_reset_suspend {
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio64";
function = "gpio";
};
config {
pins = "gpio64";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_release {
ts_release: ts_release {
mux {
pins = "gpio65", "gpio64";
function = "gpio";
};
config {
pins = "gpio65", "gpio64";
drive-strength = <2>;
bias-pull-down;
};
};
};
smart_pa_int {
pa_int_default: pa_int_default {
mux {
pins = "gpio73", "gpio73";
function = "gpio";
};
config {
pins = "gpio73", "gpio73";
drive-strength = <4>;
bias-disable;
};
};
};
smart_pa_rst {
pa_rst_default: pa_rst_default {
mux {
pins = "gpio68", "gpio68";
function = "gpio";
};
config {
pins = "gpio68", "gpio68";
drive-strength = <4>;
bias-disable;
};
};
};
};
&modem_mem {
reg = <0x0 0x86800000 0x0 0x5000000>;
};
&adsp_fw_mem {
reg = <0x0 0x8b800000 0x0 0x1400000>;
};
&wcnss_fw_mem {
reg = <0x0 0x8cc00000 0x0 0x700000>;
};
&int_codec {
compatible = "qcom,msm8952-dig-asoc-snd";
status = "okay";
qcom,model = "sdm429-qrd-snd-card";
qcom,msm-ext-pa = "quaternary";
/delete-property/ qcom,split-a2dp;
asoc-wsa-codec-names;
asoc-wsa-codec-prefixes;
ext_pa_aw8896;
qcom,audio-routing =
"CDC_CONN", "MCLK",
"QUAT_MI2S_RX", "DIGITAL_REGULATOR",
"TX_I2S_CLK", "DIGITAL_REGULATOR",
"DMIC1", "Digital Mic1",
"DMIC2", "Digital Mic2";
qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
qcom,msm-gpios =
"quat_i2s",
"dmic";
qcom,pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
/delete-property/qcom,cdc-us-euro-gpios;
/delete-property/qcom,pri-mi2s-gpios;
/delete-property/qcom,cdc-us-eu-gpios;
asoc-codec = <&stub_codec>, <&msm_dig_codec>, <&ext_smart_pa>;
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "ext-smart-pa";
};
&soc {
msm_dig_codec: msm_dig_codec {
compatible = "qcom,msm-digital-codec";
reg = <0xc0f0000 0x0>;
qcom,no-analog-codec;
cdc-vdd-digital-supply = <&pm660_l9>;
qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
qcom,cdc-vdd-digital-current = <10000>;
qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
};
cdc_dmic_gpios: cdc_dmic_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
};
cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
};
};
&wsa881x_i2c_f {
status = "disabled";
};
&wsa881x_i2c_45 {
status = "disabled";
};
&wsa881x_analog_vi_gpio {
status = "disabled";
};
&wsa881x_analog_clk_gpio {
status = "disabled";
};
&wsa881x_analog_reset_gpio {
status = "disabled";
};
&cdc_us_euro_sw {
status = "disabled";
};
&cdc_pri_mi2s_gpios {
status = "disabled";
};
&cdc_quin_mi2s_gpios {
status = "disabled";
};
&i2c_2 {
ext_smart_pa: aw8896_smartpa@34 {
compatible = "awinic,aw8896_smartpa";
reg = <0x34>;
reset-gpio = <&tlmm 68 0>;
irq-gpio = <&tlmm 73 0>;
pinctrl-names = "default";
pinctrl-0 = <&pa_int_default &pa_rst_default>;
status = "okay";
};
};