blob: f7a2026f7588ca34b8161a756776fe723362c238 [file] [log] [blame]
/*
* Copyright (c) 2015-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 "apq8053-lite.dtsi"
#include "msm8953-pinctrl.dtsi"
#include "apq8053-camera-sensor-dragon.dtsi"
#include "pmi8950.dtsi"
#include "msm8953-pmi8950.dtsi"
#include "apq8053-dragon-memory.dtsi"
&soc {
vreg_5p0: vreg_5p0 {
compatible = "regulator-fixed";
regulator-name = "vreg_5p0";
status = "ok";
enable-active-high;
};
eldo_cam0_vreg: eldo_cam0_vreg {
compatible = "regulator-fixed";
regulator-name = "eldo_cam0_vreg";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
status = "ok";
enable-active-high;
vin-supply = <&pm8953_l5>;
};
eldo_cam1_vreg: eldo_cam1_vreg {
compatible = "regulator-fixed";
regulator-name = "eldo_cam1_vreg";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
status = "ok";
enable-active-high;
vin-supply = <&pm8953_l5>;
};
eldo_cam2_vreg: eldo_cam2_vreg {
compatible = "regulator-fixed";
regulator-name = "eldo_cam2_vreg";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
status = "ok";
enable-active-high;
vin-supply = <&pm8953_l5>;
};
eldo_cam1_vcm_vreg: eldo_cam1_vcm_vreg {
compatible = "regulator-fixed";
regulator-name = "eldo_cam1_vcm_vreg";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
status = "ok";
enable-active-high;
};
cnss_sdio: qcom,cnss_sdio {
compatible = "qcom,cnss_sdio";
subsys-name = "AR6320";
/**
* There is no vdd-wlan on board and this is not for DSRC.
* IO and XTAL share the same vreg.
*/
vdd-wlan-io-supply = <&pm8953_l6>;
qcom,wlan-ramdump-dynamic = <0x200000>;
qcom,msm-bus,name = "msm-cnss";
qcom,msm-bus,num-cases = <4>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<79 512 0 0>, /* No vote */
<79 512 6250 200000>, /* 50 Mbps */
<79 512 25000 200000>, /* 200 Mbps */
<79 512 2048000 4096000>; /* MAX */
};
bluetooth: bt_qca9379 {
compatible = "qca,qca6174";
qca,bt-reset-gpio = <&tlmm 76 0>; /* BT_EN */
};
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 = <&sec_tlmm_lines_act>;
pinctrl-1 = <&sec_tlmm_lines_sus>;
};
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&gpio_key_active>;
vol_up {
label = "volume_up";
gpios = <&tlmm 85 0x1>;
linux,input-type = <1>;
linux,code = <115>;
debounce-interval = <15>;
linux,can-disable;
gpio-key,wakeup;
};
};
qcom,rmnet-ipa {
status = "disabled";
};
};
&firmware {
android {
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,boot,system,vendor,bluetooth,modem,oem";
};
fstab {
/delete-node/ system;
vendor {
fsmgr_flags = "wait,slotselect,avb";
};
};
};
};
&rpm_bus {
rpm-regulator-ldoa4 {
compatible = "qcom,rpm-smd-regulator-resource";
qcom,resource-name = "ldoa";
qcom,resource-id = <4>;
qcom,regulator-type = <0>;
qcom,hpm-min-load = <10000>;
status = "okay";
pm8953_l4: regulator-l4 {
compatible = "qcom,rpm-smd-regulator";
regulator-name = "pm8953_l4";
qcom,set = <3>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,init-voltage = <1800000>;
status = "okay";
};
};
};
&int_codec {
status = "ok";
qcom,model = "msm8953-openq624-snd-card";
/delete-property/ qcom,cdc-us-euro-gpios;
qcom,msm-hs-micbias-type = "internal";
qcom,audio-routing =
"RX_BIAS", "MCLK",
"SPK_RX_BIAS", "MCLK",
"INT_LDO_H", "MCLK",
"MIC BIAS Internal1", "Handset Mic",
"MIC BIAS Internal2", "Headset Mic",
"MIC BIAS Internal1", "Secondary Mic",
"AMIC1", "MIC BIAS Internal1",
"AMIC2", "MIC BIAS Internal2",
"AMIC3", "MIC BIAS Internal1",
"DMIC1", "MIC BIAS Internal1",
"MIC BIAS Internal1", "Digital Mic1",
"DMIC2", "MIC BIAS Internal1",
"MIC BIAS Internal1", "Digital Mic2";
qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
/delete-property/ asoc-wsa-codec-names;
/delete-property/ asoc-wsa-codec-prefixes;
/delete-property/ msm-vdd-wsa-switch-supply;
/delete-property/ qcom,msm-vdd-wsa-switch-voltage;
/delete-property/ qcom,msm-vdd-wsa-switch-current;
};
&spi_3 {
status = "disabled";
};
&i2c_1 {
status = "okay";
};
&i2c_2 {
status = "okay";
};
&i2c_3 {
status = "okay";
himax_ts@48 {
compatible = "himax,hxcommon";
reg = <0x48>;
interrupt-parent = <&tlmm>;
interrupts = <65 0x2>;
vdd-supply = <&pm8953_l10>;
avdd-supply = <&pm8953_l5>;
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>;
himax,panel-coords = <0 800 0 1280>;
himax,display-coords = <0 800 0 1280>;
himax,irq-gpio = <&tlmm 65 0x2008>;
report_type = <1>;
};
gt9xx-i2c@14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
vdd_ana-supply = <&pm8953_l10>;
vcc_i2c-supply = <&pm8953_l6>;
interrupt-parent = <&tlmm>;
interrupts = <65 0x2008>;
pinctrl-names = "gdix_ts_int_default", "gdix_ts_int_output_low",
"gdix_ts_int_output_high", "gdix_ts_int_input",
"gdix_ts_rst_default", "gdix_ts_rst_output_low",
"gdix_ts_rst_output_high", "gdix_ts_rst_input";
pinctrl-0 = <&ts_int_default>;
pinctrl-1 = <&ts_int_output_low>;
pinctrl-2 = <&ts_int_output_high>;
pinctrl-3 = <&ts_int_input>;
pinctrl-4 = <&ts_rst_default>;
pinctrl-5 = <&ts_rst_output_low>;
pinctrl-6 = <&ts_rst_output_high>;
pinctrl-7 = <&ts_rst_input>;
reset-gpios = <&tlmm 64 0x00>;
irq-gpios = <&tlmm 65 0x2008>;
irq-flags = <2>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1200>;
touchscreen-size-y = <1920>;
touchscreen-max-w = <1024>;
touchscreen-max-p = <1024>;
goodix,type-a-report = <0>;
goodix,driver-send-cfg = <1>;
goodix,wakeup-with-reset = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,swap-x2y = <0>;
goodix,esd-protect = <1>;
goodix,pen-suppress-finger = <0>;
goodix,auto-update = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <0>;
goodix,cfg-group0 = [
5A B0 04 80 07 0A 35 10 22 08 32 0D 50 3C 0A 04
01 01 00 B4 11 11 44 15 19 1B 14 95 35 FF 3A 3C
39 13 00 00 00 98 03 1C 00 00 00 00 03 00 00 00
00 80 0A 37 46 40 E5 52 23 28 00 04 81 38 00 7F
3B 00 7D 3E 00 7C 41 00 7A 44 0C 7A 00 50 33 50
0B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 55 00 01 00 00 02 00 00 00
1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E
0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 2A 29
28 27 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 19 18
17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08
07 06 05 04 03 02 01 00 08 01
];
goodix,cfg-group2 = [
5B B0 04 80 07 0A 35 10 22 08 32 0D 50 32 0A 04
01 01 00 B4 11 11 44 2B 31 36 28 95 35 FF 3E 40
39 13 00 00 00 DA 03 1C 00 00 00 00 03 00 00 00
00 80 0A 32 42 40 E5 52 23 28 00 04 7D 33 00 7D
36 00 7E 39 00 7F 3C 00 80 40 0C 80 00 50 33 50
0B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 55 00 01 00 00 02 00 00 00
1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E
0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 2A 29
28 27 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 19 18
17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08
07 06 05 04 03 02 01 00 81 01
];
};
};
&soc {
/delete-node/ hbtp;
};
&i2c_5 {
status = "disabled";
};
#include "msm8953-mdss-panels.dtsi"
&mdss_mdp {
qcom,mdss-pref-prim-intf = "dsi";
};
&mdss_dsi {
hw-config = "single_dsi";
};
&mdss_dsi_active {
mux {
pins = "gpio61", "gpio100";
function = "gpio";
};
config {
pins = "gpio61", "gpio100";
drive-strength = <8>;
bias-disable = <0>;
output-high;
};
};
&mdss_dsi_suspend {
mux {
pins = "gpio61", "gpio100";
function = "gpio";
};
config {
pins = "gpio61", "gpio100";
drive-strength = <2>;
bias-pull-down;
};
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_boyi_hx83100a_800p_video>;
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
vdd-supply = <&pm8953_l10>;
vddio-supply = <&pm8953_l6>;
lab-supply = <&lab_regulator>;
ibb-supply = <&ibb_regulator>;
qcom,platform-te-gpio = <&tlmm 24 0>;
qcom,platform-reset-gpio = <&tlmm 61 0>;
qcom,platform-bklight-en-gpio = <&tlmm 100 0>;
};
&mdss_dsi1 {
status = "disabled";
};
&labibb {
status = "okay";
qpnp,qpnp-labibb-mode = "lcd";
};
&wled {
qcom,cons-sync-write-delay-us = <1000>;
qcom,led-strings-list = [00 01 02 03];
};
&blsp1_uart0 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_active>;
};
&sdhc_1 {
/* device core power supply */
vdd-supply = <&pm8953_l8>;
qcom,vdd-voltage-level = <2900000 2900000>;
qcom,vdd-current-level = <200 570000>;
/* device communication power supply */
vdd-io-supply = <&pm8953_l5>;
qcom,vdd-io-always-on;
qcom,vdd-io-lpm-sup;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <200 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>;
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 192000000
384000000>;
qcom,nonremovable;
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
status = "ok";
};
&tlmm{
sdc2_wlan_gpio_on: sdc2_wlan_gpio_on {
mux {
pins = "gpio75";
function = "gpio";
};
config {
pins = "gpio75";
drive-strength = <10>;
bias-pull-up;
output-high;
};
};
sdc2_wlan_gpio_off: sdc2_wlan_gpio_off {
mux {
pins = "gpio75";
function = "gpio";
};
config {
pins = "gpio75";
drive-strength = <2>;
bias-disable;
output-low;
};
};
};
&sdhc_2 {
/* device communication power supply */
vdd-io-supply = <&pm8953_l12>;
qcom,vdd-io-always-on;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <200 22000>;
qcom,core_3_0v_support;
qcom,nonremovable;
pinctrl-names = "active", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_wlan_gpio_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
&sdc2_wlan_gpio_off>;
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000>;
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
status = "ok";
};
&spmi_bus {
qcom,pmi8950@2 {
qcom,leds@a100 {
compatible = "qcom,leds-qpnp";
reg = <0xa100 0x100>;
label = "mpp";
qcom,led_mpp_2 {
label = "mpp";
linux,name = "green";
linux,default-trigger = "none";
qcom,default-state = "off";
qcom,max-current = <40>;
qcom,current-setting = <5>;
qcom,id = <6>;
qcom,mode = "manual";
qcom,source-sel = <1>;
qcom,mode-ctrl = <0x60>;
};
};
qcom,leds@a300 {
compatible = "qcom,leds-qpnp";
reg = <0xa300 0x100>;
label = "mpp";
qcom,led_mpp_4 {
label = "mpp";
linux,name = "blue";
linux,default-trigger = "none";
qcom,default-state = "off";
qcom,max-current = <40>;
qcom,current-setting = <5>;
qcom,id = <6>;
qcom,mode = "manual";
qcom,source-sel = <1>;
qcom,mode-ctrl = <0x60>;
};
};
};
};
&pm8953_typec {
ss-mux-supply = <&pm8953_l13>;
qcom,ssmux-gpio = <&tlmm 139 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&typec_ssmux_config>;
};
/{
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "batterydata-itech-3000mah.dtsi"
#include "batterydata-ascent-3450mAh.dtsi"
};
};
&pmi_haptic{
status = "disabled";
qcom,actuator-type = "lra";
qcom,lra-auto-res-mode="qwd";
qcom,lra-high-z="opt1";
qcom,lra-res-cal-period = <0>;
qcom,wave-play-rate-us = <4165>;
};
&flash_led {
status = "disabled";
};
&pm8953_pwm {
status = "ok";
};
&pm8953_vadc {
/delete-node/ chan@13;
};
&pmi8950_gpios {
pinctrl-names = "default";
pinctrl-0 = <&pmi_gpio1_default>;
pmi_gpio1_default: pmi8950_gpio1 {
pins = "gpio1";
function = "normal";
input-enable;
power-source = <0>;
status = "okay";
};
};
&pmi8950_mpps {
pinctrl-names = "default";
pinctrl-0 = <&ext_fet_wled_pwr_en_default>;
ext_fet_wled_pwr_en_default: pmi8950_mpp3 {
pins = "mpp3"; /* MPP_3 */
function = "digital"; /* Digital */
output-high; /* Output */
drive-strength = <2>; /* 1.8 mA */
power-source = <1>;
bias-disable = <0>; /* no pull */
status = "okay";
};
};
&pm8953_gpios {
pinctrl-names = "default";
pinctrl-0 = <&pm_gpio1_div_clk2_default>;
pm_gpio1_div_clk2_default: pm8953_gpio1 {
pins = "gpio1";
function = "normal";
output-high;
power-source = <1>;
status = "okay";
};
};
&pm8953_mpps {
pinctrl-names = "default";
pinctrl-0 = <&pm_mpp4_wled_pwm_ctrl_default>;
pm_mpp4_wled_pwm_ctrl_default: pm8953_mpp4 {
pins = "mpp4"; /* WLED_PWM_CTRL */
function = "digital"; /* Digital */
output-high; /* Output */
drive-strength = <2>; /* 1.8 mA */
power-source = <0>; /* VPH_PWR */
qcom,dtest = <1>; /* DTEST1 */
bias-disable = <0>; /* no pull */
status = "okay";
};
};
&ipa_hw {
status = "disabled";
};
&msm_gpu {
/delete-node/ qcom,gpu-mempools;
};