| /* Copyright (c) 2016-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" |
| #include "apq8009-memory.dtsi" |
| #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> |
| #include "msm8909-pm8916-camera.dtsi" |
| #include "msm8909-pm8916-camera-sensor-robot-pronto.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. APQ8009 Robot-pronto RefBoard"; |
| compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp"; |
| qcom,msm-id = <265 2>; |
| qcom,board-id= <8 0xE>; |
| }; |
| |
| &audio_codec_mtp { |
| qcom,model = "msm8909-pm8916-snd-card"; |
| asoc-codec = <&stub_codec>, <&msm_digital_codec>, |
| <&pmic_analog_codec>; |
| asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", |
| "analog-codec"; |
| |
| qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>; |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&lpa>, |
| <&voice_svc>,<&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-lpa", |
| "msm-voice-svc", "msm-pcm-dsp-noirq"; |
| |
| asoc-cpu = <&dai_pri_auxpcm>, |
| <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, |
| <&dai_mi2s3>, <&dai_mi2s4>, <&dai_mi2s5>, |
| <&bt_sco_rx>, <&bt_sco_tx>, <&bt_a2dp_rx>, |
| <&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-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.12288", "msm-dai-q6-dev.12289", |
| "msm-dai-q6-dev.12290", "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"; |
| }; |
| |
| &pm8916_gpios { |
| nfc_clk { |
| nfc_clk_default: nfc_clk_default { |
| status = "okay"; |
| }; |
| }; |
| }; |
| |
| &msm_gpio { |
| hsuart_active: default { |
| mux { |
| pins = "gpio20", "gpio21", "gpio111", "gpio112"; |
| function = "blsp_uart2"; |
| }; |
| |
| config { |
| pins = "gpio20", "gpio21", "gpio111", "gpio112"; |
| drive-strength = <16>; |
| bias-disable; |
| }; |
| }; |
| |
| hsuart_sleep: sleep { |
| mux { |
| pins = "gpio20", "gpio21", "gpio111", "gpio112"; |
| function = "blsp_uart2"; |
| }; |
| |
| config { |
| pins = "gpio20", "gpio21", "gpio111", "gpio112"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| usb_vbus_detect: usb_vbus_detect { |
| mux { |
| pins = "gpio97"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio97"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| usb_id_detect: usb_id_detect { |
| mux { |
| pins = "gpio110"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio110"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| &spmi_bus { |
| pm8916@1 { |
| pmic_analog_codec: analog-codec@f000 { |
| status = "okay"; |
| 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 2100000>; |
| qcom,cdc-vdda-cp-current = <770000>; |
| |
| cdc-vdd-io-supply = <&pm8916_l5>; |
| qcom,cdc-vdd-io-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-io-current = <5000>; |
| |
| cdc-vdd-pa-supply = <&pm8916_s4>; |
| qcom,cdc-vdd-pa-voltage = <1800000 2100000>; |
| 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 = <5000>; |
| |
| qcom,cdc-mclk-clk-rate = <9600000>; |
| |
| qcom,cdc-static-supplies = "cdc-vdd-io", |
| "cdc-vdd-pa", |
| "cdc-vdda-cp"; |
| |
| qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias"; |
| |
| msm_digital_codec: msm-dig-codec { |
| compatible = "qcom,msm-digital-codec"; |
| reg = <0x0771c000 0x0>; |
| }; |
| }; |
| }; |
| }; |
| |
| &soc { |
| ext_codec: sound-9335 { |
| status = "disabled"; |
| }; |
| |
| i2c@78b9000 { |
| synaptics@20 { |
| status = "disabled"; |
| }; |
| }; |
| |
| blsp1_uart2_hs: uart@78b0000 { |
| compatible = "qcom,msm-hsuart-v14"; |
| reg = <0x78b0000 0x200>, |
| <0x7884000 0x1f000>; |
| reg-names = "core_mem", "bam_mem"; |
| interrupt-names = "core_irq", "bam_irq", "wakeup_irq"; |
| #address-cells = <0>; |
| interrupt-parent = <&blsp1_uart2_hs>; |
| interrupts = <0 1 2>; |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0xffffffff>; |
| interrupt-map = <0 &intc 0 108 0 |
| 1 &intc 0 238 0 |
| 2 &msm_gpio 21 0>; |
| qcom,inject-rx-on-wakeup; |
| qcom,rx-char-to-inject = <0xfd>; |
| qcom,master-id = <86>; |
| clock-names = "core_clk", "iface_clk"; |
| clocks = <&clock_gcc clk_gcc_blsp1_uart2_apps_clk>, |
| <&clock_gcc clk_gcc_blsp1_ahb_clk>; |
| pinctrl-names = "sleep", "default"; |
| pinctrl-0 = <&hsuart_sleep>; |
| pinctrl-1 = <&hsuart_active>; |
| qcom,bam-tx-ep-pipe-index = <2>; |
| qcom,bam-rx-ep-pipe-index = <3>; |
| qcom,msm-bus,name = "blsp1_uart2_hs"; |
| qcom,msm-bus,num-cases = <2>; |
| qcom,msm-bus,num-paths = <1>; |
| qcom,msm-bus,vectors-KBps = |
| <86 512 0 0>, |
| <86 512 500 800>; |
| status = "ok"; |
| }; |
| |
| bluetooth: bt_qca9379 { |
| compatible = "qca,qca9379"; |
| qca,bt-reset-gpio = <&msm_gpio 47 0>; /* BT_EN */ |
| }; |
| |
| cnss_sdio: qcom,cnss_sdio { |
| status = "disabled"; |
| 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 */ |
| }; |
| |
| usb_detect: qcom,gpio-usbdetect { |
| compatible = "qcom,gpio-usbdetect"; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <97 0>; |
| interrupt-names = "vbus_det_irq"; |
| pinctrl-names = "usb_vbus_detect", "usb_id_detect"; |
| pinctrl-0 = <&usb_vbus_detect>; |
| pinctrl-1 = <&usb_id_detect>; |
| qcom,gpio-mode-sel = <&msm_gpio 97 0>; |
| qcom,id-det-gpio = <&msm_gpio 110 0>; |
| qcom,dpdm_switch_gpio = <&pm8916_gpios 3 0>; |
| }; |
| |
| i2c@78b8000 { |
| wcd9xxx_codec@d { |
| status = "disabled"; |
| }; |
| }; |
| |
| cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&cdc_pdm_lines_act>; |
| pinctrl-1 = <&cdc_pdm_lines_sus>; |
| }; |
| thermal-zones { |
| xo-therm-buf-adc { |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&pm8916_vadc 0x3c>; |
| thermal-governor = "user_space"; |
| |
| trips { |
| active-config0 { |
| temperature = <65000>; |
| hysteresis = <1000>; |
| type = "passive"; |
| }; |
| }; |
| }; |
| |
| xo-therm-adc { |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&pm8916_vadc 0x32>; |
| thermal-governor = "user_space"; |
| |
| trips { |
| active-config0 { |
| temperature = <65000>; |
| hysteresis = <1000>; |
| type = "passive"; |
| }; |
| }; |
| }; |
| |
| pa-therm0-adc { |
| status = "disabled"; |
| }; |
| mdm-lowf { |
| cooling-maps { |
| cx_vdd_cdev { |
| cooling-device = <&pm8916_cx_cdev 0 0>; |
| }; |
| }; |
| }; |
| camera-lowf { |
| cooling-maps { |
| cx_vdd_cdev { |
| cooling-device = <&pm8916_cx_cdev 0 0>; |
| }; |
| }; |
| }; |
| gpu-lowf { |
| cooling-maps { |
| cx_vdd_cdev { |
| cooling-device = <&pm8916_cx_cdev 0 0>; |
| }; |
| }; |
| }; |
| cpu0-2-lowf { |
| cooling-maps { |
| cx_vdd_cdev { |
| cooling-device = <&pm8916_cx_cdev 0 0>; |
| }; |
| }; |
| }; |
| cpu1-3-lowf { |
| cooling-maps { |
| cx_vdd_cdev { |
| cooling-device = <&pm8916_cx_cdev 0 0>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &pm8916_vadc { |
| chan@36 { |
| label = "pa_therm0"; |
| reg = <0x36>; |
| qcom,decimation = <0>; |
| qcom,pre-div-channel-scaling = <0>; |
| qcom,calibration-type = "ratiometric"; |
| qcom,scale-function = <2>; |
| qcom,hw-settle-time = <2>; |
| qcom,fast-avg-setup = <0>; |
| /delete-property/ qcom,vadc-thermal-node; |
| }; |
| }; |
| &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; |
| }; |
| }; |
| }; |
| |
| &i2c_4 { |
| status= "okay"; |
| 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>; |
| status= "okay"; |
| smb1360_vbus: qcom,smb1360-vbus { |
| regulator-name = "qcom,smb1360-vbus"; |
| }; |
| }; |
| }; |
| |
| &usb_otg { |
| interrupts = <0 134 0>, <0 140 0>, <0 136 0>; |
| interrupt-names = "core_irq", "async_irq", "phy_irq"; |
| qcom,hsusb-otg-mode = <3>; |
| vbus_otg-supply = <&smb1360_vbus>; |
| extcon = <&smb1360_otg_supply>; |
| }; |
| |
| &mdss_fb0 { |
| status = "disabled"; |
| /delete-node/ qcom,cont-splash-memory; |
| }; |
| |
| &mdss_mdp { |
| status = "disabled"; |
| }; |
| |
| &mdss_dsi0_pll { |
| status = "disabled"; |
| }; |
| |
| &mdss_dsi0 { |
| status = "disabled"; |
| }; |
| |
| &i2c_1 { |
| status = "disabled"; |
| }; |
| |
| &i2c_2 { |
| status = "disabled"; |
| }; |
| |
| &i2c_5 { |
| status = "disabled"; |
| }; |
| |
| &spi_0 { |
| status = "disabled"; |
| }; |
| |
| &blsp1_uart2_hs { |
| status = "disabled"; |
| }; |
| |
| /delete-node/ &cont_splash_mem; |