| /* |
| * Copyright (c) 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. |
| */ |
| |
| /dts-v1/; |
| |
| #include "msm8909-mtp.dtsi" |
| #include "8909-pm8916.dtsi" |
| #include "msm8909-pm8916-mtp.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. APQ8009 Dragon Board"; |
| compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp"; |
| qcom,msm-id = <265 2>; |
| qcom,board-id = <32 0x0>; |
| }; |
| |
| &soc { |
| 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_prim_mi2s_gpios: msm_cdc_pinctrl_pri { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep |
| &pri_mi2s_dout_sleep &pri_mi2s_din_sleep |
| &ext_amp_ctrl_sleep &_mute_sleep>; |
| pinctrl-1 = <&pri_mi2s_active &pri_mi2s_ws_active |
| &pri_mi2s_dout_active &pri_mi2s_din_active |
| &ext_amp_ctrl_active &_mute_active>; |
| |
| }; |
| |
| audio_codec_mtp: sound { |
| status = "ok"; |
| qcom,msm-hs-micbias-type = "internal"; |
| qcom,model = "msm8909-212-som-snd-card"; |
| qcom,msm-mbhc-hphl-swh = <0>; |
| |
| qcom,audio-routing = |
| "RX_BIAS", "MCLK", |
| "SPK_RX_BIAS", "MCLK", |
| "INT_LDO_H", "MCLK", |
| "RX_I2S_CLK", "MCLK", |
| "TX_I2S_CLK", "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", "DIGITAL_REGULATOR", |
| "DIGITAL_REGULATOR", "Digital Mic1", |
| "DMIC2", "DIGITAL_REGULATOR", |
| "DIGITAL_REGULATOR", "Digital Mic2"; |
| |
| qcom,pri-mi2s-gpios = <&cdc_prim_mi2s_gpios>; |
| qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; |
| |
| qcom,afe-rxtx-lb; |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "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-dsp-noirq"; |
| asoc-cpu = <&dai_pri_auxpcm>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_mi2s5>, |
| <&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>, |
| <&bt_a2dp_rx>, <&afe_loopback_tx>; |
| |
| asoc-cpu-names = "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.6", |
| "msm-dai-q6-dev.16384", "msmdai-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", |
| "msm-dai-q6-dev.12290", "msm-dai-q6-dev.24577"; |
| |
| asoc-codec = <&stub_codec>, <&msm_digital_codec>, |
| <&pmic_analog_codec>; |
| asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", |
| "analog-codec"; |
| }; |
| |
| sound-9335 { |
| status = "disabled"; |
| }; |
| |
| i2c@78b8000 { |
| wcd9xxx_codec@d { |
| status = "disabled"; |
| }; |
| }; |
| |
| vph_pwr_vreg: vph_pwr_vreg { |
| compatible = "regulator-fixed"; |
| status = "ok"; |
| regulator-name = "vph_pwr"; |
| regulator-always-on; |
| }; |
| |
| mdss_mdp: qcom,mdss_mdp@1a00000 { |
| status = "disabled"; |
| }; |
| |
| bluetooth: bt_qca9379 { |
| compatible = "qca,qca9379"; |
| qca,bt-reset-gpio = <&msm_gpio 47 0>; /* BT_EN */ |
| }; |
| |
| 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 = <&pm8916_l5>; |
| qcom,cap-tsf-gpio = <&msm_gpio 42 1>; |
| 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 */ |
| }; |
| }; |
| |
| &wcnss { |
| status = "disabled"; |
| }; |
| |
| &pm8916_1 { |
| pmic_analog_codec: analog-codec@f000 { |
| compatible = "qcom,pmic-analog-codec"; |
| reg = <0xf000 0x200>; |
| #address-cells = <2>; |
| #size-cells = <0>; |
| interrupt-parent = <&spmi_bus>; |
| interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x1 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x2 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x3 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x4 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x5 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x6 IRQ_TYPE_NONE>, |
| <0x1 0xf0 0x7 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x0 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x1 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x2 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x3 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x4 IRQ_TYPE_NONE>, |
| <0x1 0xf1 0x5 IRQ_TYPE_NONE>; |
| interrupt-names = "spk_cnp_int", |
| "spk_clip_int", |
| "spk_ocp_int", |
| "ins_rem_det1", |
| "but_rel_det", |
| "but_press_det", |
| "ins_rem_det", |
| "mbhc_int", |
| "ear_ocp_int", |
| "hphr_ocp_int", |
| "hphl_ocp_det", |
| "ear_cnp_int", |
| "hphr_cnp_int", |
| "hphl_cnp_int"; |
| |
| cdc-vdda-cp-supply = <&pm8916_s4>; |
| qcom,cdc-vdda-cp-voltage = <1800000 2200000>; |
| qcom,cdc-vdda-cp-current = <770000>; |
| |
| cdc-vdd-pa-supply = <&pm8916_l5>; |
| qcom,cdc-vdd-pa-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-pa-current = <5000>; |
| |
| cdc-vdd-mic-bias-supply = <&pm8916_l13>; |
| qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>; |
| qcom,cdc-vdd-mic-bias-current = <25000>; |
| |
| qcom,cdc-mclk-clk-rate = <9600000>; |
| |
| qcom,cdc-static-supplies = "cdc-vdda-cp", |
| "cdc-vdd-pa"; |
| |
| qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias"; |
| |
| msm_digital_codec: msm-dig-codec { |
| compatible = "qcom,msm-digital-codec"; |
| reg = <0x0771C000 0x0>; |
| cdc-vdd-digital-supply = <&pm8916_l5>; |
| qcom,cdc-vdd-digital-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-digital-current = <5000>; |
| qcom,cdc-on-demand-supplies = "cdc-vdd-digital"; |
| }; |
| }; |
| }; |
| |
| &msm_gpio { |
| sdc2_wlan_gpio_on: sdc2_wlan_gpio_on { |
| mux { |
| pins = "gpio43"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio43"; |
| drive-strength = <10>; |
| bias-pull-up; |
| output-high; |
| }; |
| }; |
| |
| sdc2_wlan_gpio_off: sdc2_wlan_gpio_off { |
| mux { |
| pins = "gpio43"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio43"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| }; |
| |
| &sdhc_2 { |
| /delete-property/cd-gpios; |
| #address-cells = <0>; |
| interrupt-parent = <&sdhc_2>; |
| interrupts = <0 1 2>; |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0xffffffff>; |
| interrupt-map = <0 &intc 0 125 0 |
| 1 &intc 0 221 0 |
| 2 &msm_gpio 40 0x1>; |
| interrupt-names = "hc_irq", "pwr_irq", "sdiowakeup_irq"; |
| |
| qcom,vdd-voltage-level = <1800000 2950000>; |
| qcom,vdd-current-level = <15000 400000>; |
| |
| qcom,vdd-io-voltage-level = <1800000 1800000>; |
| qcom,vdd-io-current-level = <200 50000>; |
| qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; |
| qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104"; |
| |
| 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,nonremovable; |
| qcom,core_3_0v_support; |
| status = "ok"; |
| }; |
| |
| &usb_otg { |
| interrupts = <0 134 0>,<0 140 0>; |
| interrupt-names = "core_irq", "async_irq"; |
| qcom,hsusb-otg-mode = <3>; |
| qcom,switch-vbus-w-id; |
| vbus_otg-supply = <&vph_pwr_vreg>; |
| extcon = <&pm8916_chg>; |
| }; |
| |
| &external_image_mem { |
| reg = <0x0 0x87a00000 0x0 0x0600000>; |
| }; |
| |
| &modem_adsp_mem { |
| reg = <0x0 0x88000000 0x0 0x01e00000>; |
| }; |
| |
| &peripheral_mem { |
| reg = <0x0 0x89e00000 0x0 0x0700000>; |
| }; |
| |
| &i2c_4 { |
| smb1360_otg_supply: smb1360-chg-fg@14 { |
| compatible = "qcom,smb1360-chg-fg"; |
| reg = <0x14>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <58 8>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&smb_int_default>; |
| qcom,charging-disabled; |
| qcom,empty-soc-disabled; |
| qcom,chg-inhibit-disabled; |
| qcom,float-voltage-mv = <4200>; |
| qcom,iterm-ma = <200>; |
| qcom,recharge-thresh-mv = <100>; |
| qcom,thermal-mitigation = <1500 700 600 0>; |
| regulator-name = "smb1360_otg_vreg"; |
| status= "okay"; |
| }; |
| }; |
| |
| &firmware { |
| android { |
| compatible = "android,firmware"; |
| fstab { |
| compatible = "android,fstab"; |
| vendor_fstab: vendor { |
| fsmgr_flags = "wait,slotselect"; |
| }; |
| /delete-node/ system; |
| }; |
| }; |
| }; |
| |
| &pm8916_chg { |
| status = "ok"; |
| qcom,use-default-batt-values; |
| }; |
| |
| &pm8916_bms { |
| status = "ok"; |
| }; |
| |
| &blsp1_uart2_hs { |
| status = "ok"; |
| }; |
| |
| &blsp1_uart1 { |
| status = "disabled"; |
| }; |
| |
| &i2c_5 { |
| status = "okay"; |
| goodix_ts@5d { |
| compatible = "goodix,gt9xx"; |
| status = "okay"; |
| reg = <0x5d>; |
| vdd_ana-supply = <&pm8916_l17>; |
| vcc_i2c-supply = <&pm8916_l6>; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <13 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 = <&msm_gpio 16 0x00>; |
| irq-gpios = <&msm_gpio 13 0x2008>; |
| irq-flags = <2>; |
| touchscreen-max-id = <5>; |
| touchscreen-size-x = <479>; |
| touchscreen-size-y = <853>; |
| 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 = <1>; |
| 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>; |
| }; |
| }; |