blob: fcf37875aaf6dc341b59f452dfc42ea7989a9813 [file] [log] [blame]
/* Copyright (c) 2019-2020, 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 "sa415m-ttp.dtsi"
#include "sdxpoorwills-v2.dtsi"
&blsp1_uart2b_hs {
status = "okay";
};
&qcom_seecom {
status = "okay";
};
&qseecom_mem {
status = "okay";
};
&qseecom_ta_mem {
status = "okay";
};
&blsp1_uart2b_hs {
status = "okay";
};
&mss_mem {
reg = <0x86400000 0x9300000>;
};
&i2c_3 {
tlv320aic3x_codec: tlv320aic3x@18 {
compatible = "ti,tlv320aic3x";
reg = <0x18>;
gpio-reset = <&tlmm 86 0>;
reset-inverted;
AVDD-supply = <&codec_vreg>;
IOVDD-supply = <&codec_vreg>;
};
};
&i2c_4 {
asm330@6a {
reg = <0x6b>;
asm330-enable-gpio = <&tlmm 90 0x1>;
};
};
&spi_2 {
can-controller@0 {
qcom,max-can-channels = <2>;
};
};
&wcd934x_cdc {
status = "disabled";
};
&wcd9xxx_intc {
status = "disabled";
};
&wcd_rst_gpio {
status = "disabled";
};
&snd_934x {
status = "disabled";
};
&clock_audio_up {
status = "disabled";
};
&smb138x {
status = "disabled";
};
&smb138x_vbus {
status = "disabled";
};
&vreg_wlan {
gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>;
};
&soc {
snd_tlv3x: sound-auto {
compatible = "qcom,sdx-asoc-snd-auto";
qcom,model = "sdx-auto-i2s-snd-card";
qcom,prim_mi2s_aux_master = <&prim_master>;
qcom,prim_mi2s_aux_slave = <&prim_slave>;
qcom,sec_mi2s_aux_master = <&sec_master>;
qcom,sec_mi2s_aux_slave = <&sec_slave>;
pinctrl-names = "default";
pinctrl-0 = <&a2b_cdc_sel_default>, <&i2s_mclk_active>;
asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
<&loopback>, <&hostless>, <&afe>, <&routing>,
<&pcm_dtmf>, <&host_pcm>, <&compress>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-voip-dsp", "msm-pcm-voice",
"msm-pcm-loopback", "msm-pcm-hostless",
"msm-pcm-afe", "msm-pcm-routing",
"msm-pcm-dtmf", "msm-voice-host-pcm",
"msm-compress-dsp";
asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
<&dtmf_tx>,
<&rx_capture_tx>, <&rx_playback_rx>,
<&tx_capture_tx>, <&tx_playback_rx>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_sec_auxpcm>, <&incall_music_dl_rx>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
"msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
"msm-dai-stub-dev.8", "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-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-dev.32774";
asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
};
codec_vreg: regulator-codec-tlv320aic3x {
compatible = "regulator-fixed";
regulator-name = "codec_vreg";
startup-delay-us = <100>;
gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
sdx_ext_ipc: qcom,sdx_ext_ipc {
compatible = "qcom,sdx-ext-ipc";
qcom,default-policy-nop;
qcom,ap2mdm-status-gpio = <&tlmm 95 0x00>;
qcom,mdm2ap-status-gpio = <&tlmm 36 0x00>;
qcom,mdm2ap-status2-gpio = <&tlmm 88 0x00>;
status = "okay";
};
wlan_ctrl1: wlan_ctrl1 {
compatible = "regulator-fixed";
regulator-name = "wlan_ctrl1";
startup-delay-us = <4000>;
gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
wlan_ctrl2: wlan_ctrl2 {
compatible = "regulator-fixed";
regulator-name = "wlan_ctrl2";
startup-delay-us = <4000>;
gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
cnss_pcie_converged: qcom,cnss-qca-converged {
compatible = "qcom,cnss-qca-converged";
qcom,converged-dt;
qcom,wlan-rc-num = <0>;
qcom,bus-type=<0>;
qcom,notify-modem-status;
qcom,msm-bus,name = "msm-cnss";
qcom,msm-bus,num-cases = <6>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
/* no vote */
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 0 0>,
/* idle: 0-18 Mbps, ddr freq: 100 MHz */
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 2250 400000>,
/* low: 18-60 Mbps, ddr freq: 200 MHz*/
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 7500 800000>,
/* medium: 60-240 Mbps, ddr freq: 451.2 MHz */
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 30000 1804800>,
/* high: 240 - 800 Mbps, ddr freq: 451.2 MHz */
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 100000 1804800>,
/* very high: 800 - 1400 Mbps, ddr freq: 1555.2 MHz */
<MSM_BUS_MASTER_PCIE MSM_BUS_SLAVE_FIRST 175000 6220800>;
#address-cells=<1>;
#size-cells=<1>;
ranges = <0xa0000000 0xa0000000 0x10000000>,
<0xb0000000 0xb0000000 0x10000>;
vdd-wlan-ctrl1-supply = <&wlan_ctrl1>;
vdd-wlan-ctrl2-supply = <&wlan_ctrl2>;
vdd-wlan-aon-supply = <&pmxpoorwills_l6>;
vdd-wlan-rfa1-supply = <&pmxpoorwills_l6>;
vdd-wlan-rfa2-supply = <&pmxpoorwills_l6>;
vdd-wlan-rfa3-supply = <&pmxpoorwills_l6>;
wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2";
qcom,vdd-wlan-ctrl1-info = <0 0 0 0>;
qcom,vdd-wlan-ctrl2-info = <0 0 0 0>;
wlan-en-gpio = <&tlmm 52 0>;
pinctrl-names = "wlan_en_active", "wlan_en_sleep";
pinctrl-0 = <&cnss_wlan_en_active>;
pinctrl-1 = <&cnss_wlan_en_sleep>;
chip_cfg@0 {
reg = <0x10000000 0x10000000>,
<0x20000000 0x10000>;
reg-names = "smmu_iova_base", "smmu_iova_ipa";
supported-ids = <0x003e>;
wlan_vregs = "vdd-wlan";
qcom,vdd-wlan-info = <0 0 0 10>;
qcom,smmu-s1-enable;
qcom,wlan-ramdump-dynamic = <0x200000>;
};
chip_cfg@1 {
reg = <0xa0000000 0x10000000>,
<0xb0000000 0x10000>;
reg-names = "smmu_iova_base", "smmu_iova_ipa";
supported-ids = <0x1101>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa3";
qcom,vdd-wlan-aon-info = <0 0 0 0>;
qcom,vdd-wlan-rfa1-info = <0 0 0 0>;
qcom,vdd-wlan-rfa3-info = <0 0 0 0>;
qcom,wlan-ramdump-dynamic = <0x400000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
qcom,smmu-s1-enable;
mhi_channels {
#address-cells = <1>;
#size-cells = <0>;
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@20 {
reg = <20>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@21 {
reg = <21>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
chip_cfg@2 {
reg = <0xa0000000 0x10000000>,
<0xb0000000 0x10000>;
reg-names = "smmu_iova_base", "smmu_iova_ipa";
qcom,smmu-s1-enable;
supported-ids = <0x1102>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa2", "vdd-wlan-rfa3";
qcom,vdd-wlan-aon-info = <0 0 0 0>;
qcom,vdd-wlan-rfa1-info = <0 0 0 0>;
qcom,vdd-wlan-rfa2-info = <0 0 0 0>;
qcom,vdd-wlan-rfa3-info = <0 0 0 0>;
qcom,wlan-ramdump-dynamic = <0x300000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
mhi,ee = <0x3>, <0x4>;
mhi,ee-names = "SBL", "RDDM";
mhi,bhie-offset = <0x0324>;
mhi_channels {
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@16 {
reg = <16>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@17 {
reg = <17>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
};
};
&emac_hw {
/delete-property/ vreg_rgmii-supply;
pinctrl-names = "default";
pinctrl-0 = <&vreg_rgmii_off_default>;
qcom,phy-reset-delay-msecs = <10>;
};
&vreg_rgmii_io_pads {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};