blob: e0e45c5d2d58281b6a32be4db1348e0adda2e66b [file] [log] [blame]
/* 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;