| /* Copyright (c) 2015, 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. |
| */ |
| |
| /dts-v1/; |
| |
| #include "msm8916-qrd.dtsi" |
| #include "dsi-panel-otm8019a-fwvga-video.dtsi" |
| #include "msm8916-camera-sensor-l8150.dtsi" |
| #include "dsi-panel-dijingILI9881C-720p-video.dtsi" |
| #include "dsi-panel-booyiOTM1287-720p-video.dtsi" |
| #include "dsi-panel-dijingOTM1287-720p-video.dtsi" |
| #include "dsi-panel-truly-HX8394F-720p-video.dtsi" |
| #include "dsi-panel-booyiOTM1287-sec-720p-video.dtsi" |
| #include "msm8916-memory.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. MSM 8916 L8150"; |
| compatible = "qcom,msm8916-l8150", "qcom,msm8916-qrd", "qcom,msm8916", "qcom,qrd"; |
| qcom,board-id = <0x1000b 9> , <0x1010b 9> , <0x3010b 9>; |
| }; |
| |
| &soc { |
| |
| sound { |
| compatible = "qcom,msm8x16-audio-codec"; |
| qcom,model = "msm8x16-skui-snd-card"; |
| qcom,msm-snd-card-id = <0>; |
| qcom,msm-ext-pa = "primary"; |
| qcom,msm-codec-type = "internal"; |
| qcom,msm-mbhc-hphl-swh = <1>; |
| qcom,msm-mbhc-gnd-swh = <1>; |
| 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 Internal3", "Secondary Mic", |
| "AMIC1", "MIC BIAS Internal1", |
| "AMIC2", "MIC BIAS Internal2", |
| "AMIC3", "MIC BIAS Internal3"; |
| pinctrl-names = "cdc_lines_act", |
| "cdc_lines_sus"; |
| pinctrl-0 = <&cdc_pdm_lines_act>; |
| pinctrl-1 = <&cdc_pdm_lines_sus>; |
| asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&lpa>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", |
| "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; |
| asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, |
| <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, |
| <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, |
| <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, |
| <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, |
| <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>; |
| asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", |
| "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", |
| "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", |
| "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", |
| "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", |
| "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", |
| "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", |
| "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", |
| "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", |
| "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; |
| asoc-codec = <&stub_codec>, <&pm8916_tombak_dig>; |
| asoc-codec-names = "msm-stub-codec.1", "tombak_codec"; |
| }; |
| |
| gen-vkeys { |
| compatible = "qcom,gen-vkeys"; |
| label = "ft5x06_ts"; |
| qcom,disp-maxx = <720>; |
| qcom,disp-maxy = <1280>; |
| qcom,panel-maxx = <720>; |
| qcom,panel-maxy = <1600>; |
| qcom,key-codes = <139 172 158>; |
| qcom,y-offset = <0>; |
| }; |
| |
| }; |
| |
| &pm8916_mpps { |
| mpp@a300 { /* MPP 4 */ |
| /* Backlight PWM */ |
| qcom,mode = <1>; /* Digital output */ |
| qcom,invert = <0>; /* Disable invert */ |
| qcom,src-sel = <4>; /* DTEST1 */ |
| qcom,vin-sel = <0>; /* VPH_PWR */ |
| qcom,master-en = <1>; /* Enable MPP */ |
| }; |
| }; |
| |
| &mdss_mdp { |
| qcom,mdss-pref-prim-intf = "dsi"; |
| }; |
| |
| &pmx_mdss { |
| qcom,num-grp-pins = <1>; |
| qcom,pins = <&gp 25>; |
| }; |
| |
| &mdss_dsi0 { |
| qcom,dsi-pref-prim-pan = <&dsi_otm8019a_fwvga_video>; |
| pinctrl-names = "mdss_default", "mdss_sleep"; |
| pinctrl-0 = <&mdss_dsi_active>; |
| pinctrl-1 = <&mdss_dsi_suspend>; |
| |
| qcom,platform-reset-gpio = <&msm_gpio 25 0>; |
| |
| qcom,platform-regulator-settings = [00 01 01 00 20 07 00]; |
| }; |
| |
| &dsi_otm8019a_fwvga_video { |
| qcom,cont-splash-enabled; |
| }; |
| |
| &tlmm_pinmux { |
| ltr559_int_pin { |
| qcom,pins = <&gp 115>; |
| qcom,pin-func = <0>; |
| qcom,num-grp-pins = <1>; |
| label = "ltr559-irq"; |
| ltr_default: ltr_default { |
| drive-strength = <6>; |
| bias-pull-up; |
| }; |
| ltr_sleep: ltr_sleep { |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| pmx_i2c_1 { |
| /* CLK, DATA */ |
| qcom,pins = <&gp 3>, <&gp 2>; |
| qcom,num-grp-pins = <2>; |
| qcom,pin-func = <3>; |
| label = "pmx_i2c_1"; |
| |
| i2c_1_active: i2c_1_active { |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; /* No PULL */ |
| }; |
| |
| i2c_1_sleep: i2c_1_sleep { |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; /* No PULL */ |
| }; |
| }; |
| |
| pmx_i2c_3 { |
| /* CLK, DATA */ |
| qcom,pins = <&gp 11>, <&gp 10>; |
| qcom,num-grp-pins = <2>; |
| qcom,pin-func = <2>; |
| label = "pmx_i2c_3"; |
| |
| i2c_3_active: i2c_3_active { |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; /* No PULL */ |
| }; |
| |
| i2c_3_sleep: i2c_3_sleep { |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; /* No PULL */ |
| }; |
| }; |
| |
| ovp-id-pin { |
| qcom,pins = <&gp 110>; |
| qcom,num-grp-pins = <1>; |
| qcom,pin-func = <0>; |
| label = "ovp-id-pin"; |
| ovp_default: ovp-irq { |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| &i2c_1 { |
| status = "ok"; |
| }; |
| |
| &i2c_3 { |
| status = "ok"; |
| }; |
| |
| &i2c_6 { |
| status = "disabled"; |
| }; |
| |
| &i2c_0 { /* BLSP1 QUP2 */ |
| ltr@23 { /* Ambient light and proximity sensor */ |
| compatible = "ltr,ltr559"; |
| reg = <0x23>; |
| pinctrl-names = "default","sleep"; |
| pinctrl-0 = <<r_default>; |
| pinctrl-1 = <<r_sleep>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <115 0x2002>; |
| vdd-supply = <&pm8916_l17>; |
| vio-supply = <&pm8916_l6>; |
| liteon,intr = <115>; |
| ltr,irq-gpio = <&msm_gpio 115 0x2002>; |
| ltr,ps-threshold = <120>; |
| ltr,ps-hysteresis-threshold = <80>; |
| ltr,als-polling-time = <200>; |
| }; |
| |
| bosch@18 { /* only BMA253 accelerometer sensor*/ |
| compatible = "bosch,bma2x2"; |
| reg = <0x18>; |
| vdd-supply = <&pm8916_l17>; |
| vio-supply = <&pm8916_l6>; |
| bosch,init-interval = <200>; |
| bosch,place = <3>; |
| }; |
| |
| bosch@10 { /* accelerometer sensor */ |
| compatible = "bosch,bma2x2"; |
| reg = <0x10>; |
| vdd-supply = <&pm8916_l17>; |
| vio-supply = <&pm8916_l6>; |
| bosch,init-interval = <200>; |
| bosch,place = <3>; |
| }; |
| bosch@12 {/* magnetic sensor */ |
| compatible = "bosch,bmm050"; |
| reg = <0x12>; |
| vdd-supply = <&pm8916_l17>; |
| vio-supply = <&pm8916_l6>; |
| bosch,init-interval = <200>; |
| bosch,place = <3>; |
| bosch,auto-report; |
| }; |
| bosch@68 { /* gyroscope sensor */ |
| compatible = "bosch,bmg160"; |
| reg = <0x68>; |
| vdd-supply = <&pm8916_l17>; |
| vio-supply = <&pm8916_l6>; |
| bosch,init-interval = <200>; |
| bosch,place = <0>; |
| }; |
| }; |
| |
| &i2c_1 { /* BLSP1 QUP1 */ |
| aw2013@45 { |
| compatible = "awinic,aw2013"; |
| reg = <0x45>; |
| vdd-supply = <&pm8916_l17>; |
| vcc-supply = <&pm8916_l6>; |
| |
| aw2013,red { |
| aw2013,name = "red"; |
| aw2013,id = <0>; |
| aw2013,max-brightness = <255>; |
| aw2013,max-current = <1>; |
| aw2013,rise-time-ms = <2>; |
| aw2013,hold-time-ms = <1>; |
| aw2013,fall-time-ms = <2>; |
| aw2013,off-time-ms = <1>; |
| }; |
| |
| aw2013,green { |
| aw2013,name = "green"; |
| aw2013,id = <1>; |
| aw2013,max-brightness = <255>; |
| aw2013,max-current = <1>; |
| aw2013,rise-time-ms = <2>; |
| aw2013,hold-time-ms = <1>; |
| aw2013,fall-time-ms = <2>; |
| aw2013,off-time-ms = <1>; |
| }; |
| |
| aw2013,blue { |
| aw2013,name = "blue"; |
| aw2013,id = <2>; |
| aw2013,max-brightness = <255>; |
| aw2013,max-current = <1>; |
| aw2013,rise-time-ms = <2>; |
| aw2013,hold-time-ms = <1>; |
| aw2013,fall-time-ms = <2>; |
| aw2013,off-time-ms = <1>; |
| }; |
| }; |
| }; |
| |
| &i2c_5 {/* BLSP1 QUP5 */ |
| qcom,clk-freq-out = <400000>; |
| qcom,fs-clk-div = <28>; |
| qcom,high-time-clk-div = <14>; |
| |
| goodix@5d { |
| compatible = "goodix,gt9xx"; |
| reg = <0x5d>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <13 0x2008>; |
| reset-gpios = <&msm_gpio 12 0x00>; |
| interrupt-gpios = <&msm_gpio 13 0x00>; |
| power_ldo-gpios = <&msm_gpio 17 0x00>; |
| vcc-i2c-supply = <&pm8916_l6>; |
| goodix,panel-coords = <0 0 720 1280>; |
| goodix,display-coords = <0 0 720 1280>; |
| goodix,product-id = "615"; |
| goodix,enable-power-off; |
| goodix,fw_name = "goodix_firmware.bin"; |
| goodix,driver-send-cfg; |
| goodix,cfg-data0 = [ |
| 48 D0 02 FD 04 0A 74 C0 |
| 32 0F 28 0F 55 41 0F 05 |
| 00 00 46 46 00 00 0C 18 |
| 18 20 14 8A 2B 0C 4C 4E |
| 3F 05 FF FE 00 A4 32 11 |
| 3C 9C 05 01 1E 3C 44 34 |
| 43 44 3A 28 5F 94 D5 52 |
| 07 32 14 04 D2 2B 02 B1 |
| 34 3C 9A 3D 14 84 49 00 |
| 72 57 00 72 00 00 00 00 |
| 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 28 |
| 00 00 02 0C 14 00 00 1E |
| 50 3C 19 19 00 00 00 00 |
| 02 04 06 08 0A 0C 0E 10 |
| 12 14 16 18 FF FF 3F 00 |
| FF FF 10 00 FF FF FF 0F |
| 10 FF 0F 53 0F 0A 26 24 |
| 22 21 20 1F 1E 1D 1C 18 |
| 16 12 10 0F 0C 0A 08 06 |
| 04 02 00 FF FF FF FF FF |
| 00 00 00 FF 00 1E 00 FF |
| 1F FF FF FF FF FF FF FF |
| 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 |
| 00 00 71 01 |
| ]; |
| }; |
| |
| himax@48{ |
| compatible = "himax,8528d"; |
| reg = <0x48>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <13 0x2>; |
| vcc_i2c-supply = <&pm8916_l6>; |
| /* pins used by touchscreen */ |
| himax,family-id = <0x82>; |
| himax,reset-gpio = <&msm_gpio 12 0x0>; |
| himax,power_ldo-gpio = <&msm_gpio 17 0x0>; |
| himax,irq-gpio = <&msm_gpio 13 0x2008>; //IRQF_TRIGGER_LOW |
| himax,display-coords = <0 720 0 1280>; |
| himax,panel-coords = <0 720 0 1280>; |
| himax,button-map= <158 102 139>; |
| himax,no-force-update; |
| himax,i2c-pull-up; |
| report_type = <1>; |
| }; |
| |
| synaptics@20 { |
| compatible = "synaptics,rmi4"; |
| reg = <0x20>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <13 0x2>; |
| vdd-supply = <&pm8916_l17>; |
| vcc_i2c-supply = <&pm8916_l6>; |
| /* pins used by touchscreen */ |
| 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>; |
| synaptics,button-map= <139 102 158>; |
| synaptics,irq-gpio = <&msm_gpio 13 0x2008>; |
| synaptics,reset-gpio = <&msm_gpio 12 0x0>; |
| synaptics,power-ldo-gpio = <&msm_gpio 17 0x0>; |
| synaptics,i2c-pull-up; |
| synaptics,power-down; |
| synaptics,use-external-ldo; |
| synaptics,display-coords = <0 0 720 1280>; |
| synaptics,panel-coords = <0 0 720 1280>; |
| synaptics,fw-image-name = "synaptics_dsx_fw_update.bin"; |
| }; |
| }; |
| |
| &sdc2_cd_on { |
| /delete-property/ bias-pull-up; |
| bias-pull-down; |
| }; |
| |
| &sdc2_cd_off { |
| /delete-property/ bias-disable; |
| bias-pull-down; |
| }; |
| |
| &sdhc_2 { |
| qcom,nonremovable; |
| |
| interrupts = <0 1>; |
| interrupt-map = <0 &intc 0 125 0 |
| 1 &intc 0 221 0>; |
| interrupt-names = "hc_irq", "pwr_irq"; |
| /delete-property/ cd-gpios; |
| }; |
| |
| &pm8916_chg { |
| qcom,vddmax-mv = <4350>; |
| qcom,vddsafe-mv = <4370>; |
| qcom,vinmin-mv = <4470>; |
| qcom,bms-controlled-charging; |
| qcom,disable-vbatdet-based-recharge; |
| qcom,cfg-current-limited = <900>; |
| |
| qcom,usbin-ovp-irq = <&msm_gpio 110 0>; |
| pinctrl-names = "ovp-irq"; |
| pinctrl-0 = <&ovp_default>; |
| status = "ok"; |
| }; |
| |
| / { |
| mtp_batterydata: qcom,battery-data { |
| qcom,rpull-up-kohm = <100>; |
| qcom,vref-batt-therm = <1800000>; |
| |
| #include "batterydata-l8150-jd-4v35-2500mah.dtsi" |
| }; |
| }; |
| |
| &pm8916_bms { |
| status = "ok"; |
| qcom,resume-soc = <95>; |
| qcom,use-reported-soc; |
| qcom,force-bms-active-on-charger; |
| qcom,battery-data = <&mtp_batterydata>; |
| }; |
| |
| &pm8916_vadc { |
| chan@30 { |
| qcom,scale-function = <14>; |
| }; |
| }; |