blob: 6541713cd8f270b6c856dd15b62a33c6be091e63 [file] [log] [blame]
/* Copyright (c) 2019, 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 "sdxprairie-mtp.dtsi"
&soc {
/delete-node/ qcom,battery-data;
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;
};
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>;
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";
asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
};
pps {
compatible = "pps-gpio";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pps>;
gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
/* delete pm8150b nodes */
&thermal_zones {
/delete-node/ pm8150b-wp-therm;
/delete-node/ pm8150b_tz;
/delete-node/ pm8150b-ibat-lvl0;
/delete-node/ pm8150b-ibat-lvl1;
/delete-node/ pm8150b-vbat-lvl0;
/delete-node/ pm8150b-vbat-lvl1;
/delete-node/ pm8150b-vbat-lvl2;
/delete-node/ pm8150b-bcl-lvl0;
/delete-node/ pm8150b-bcl-lvl1;
/delete-node/ pm8150b-bcl-lvl2;
/delete-node/ soc;
};
&usb {
extcon = <&vbus_detect>;
};
&spmi_bus {
/delete-node/ qpnp,fg;
/delete-node/ bcl@1d00;
/delete-node/ qcom,usb-pdphy@1700;
/delete-node/ qcom,qpnp-smb5;
/delete-node/ adc_tm@3500;
/delete-node/ vadc@3100;
/delete-node/ qcom,pm8150b@2;
/delete-node/ qcom,pm8150b@3;
};
&qnand_1 {
status = "ok";
};
&blsp1_uart2b_hs {
status = "okay";
};
&vbus_detect {
status = "okay";
};
&snd_934x {
status = "disabled";
};
&wcd9xxx_intc {
status = "disabled";
};
&clock_audio_up {
status = "disabled";
};
&wcd_rst_gpio {
status = "disabled";
};
&wcd934x_cdc {
status = "disabled";
};
&spi_2 {
status = "okay";
can-controller@0 {
compatible = "qcom,nxp,mpc5746c";
reg = <0>;
interrupt-parent = <&tlmm>;
interrupts = <103 0>;
spi-max-frequency = <5000000>;
qcom,clk-freq-mhz = <40000000>;
qcom,max-can-channels = <2>;
qcom,bits-per-word = <8>;
qcom,support-can-fd;
};
};
&i2c_3 {
tlv320aic3x_codec: tlv320aic3x@18 {
compatible = "ti,tlv320aic3x";
reg = <0x18>;
gpio-reset = <&tlmm 92 0>;
reset-inverted;
AVDD-supply = <&codec_vreg>;
IOVDD-supply = <&codec_vreg>;
ai3x-ocmv = <1>;
};
eeprom@52 {
compatible = "atmel,24c128";
reg = <0x52>;
pagesize = <32>;
};
};
&i2c_4 {
status = "okay";
smi130_gyro@68 {
compatible = "smi130_gyro";
reg = <0x68>;
pinctrl-names = "default";
pinctrl-0 = <&sensor_int1_default>;
interrupt-parent = <&tlmm>;
interrupts = <84 IRQ_TYPE_EDGE_RISING>;
smi130_gyro,gpio_irq = <&tlmm 84 IRQ_TYPE_EDGE_RISING>;
};
smi130_acc@18 {
compatible = "smi130_acc";
reg = <0x18>;
pinctrl-names = "default";
pinctrl-0 = <&sensor_int2_default>;
interrupt-parent = <&tlmm>;
interrupts = <85 IRQ_TYPE_EDGE_RISING>;
};
iam20680@69 {
compatible = "inven,iam20680";
reg = <0x69>;
pinctrl-names = "default";
pinctrl-0 = <&sensor_int1_default>;
interrupt-parent = <&tlmm>;
interrupts = <84 IRQ_TYPE_EDGE_RISING>;
axis_map_x = <1>;
axis_map_y = <0>;
axis_map_z = <2>;
negate_x = <1>;
negate_y = <0>;
negate_z = <0>;
inven,secondary_type = "none";
inven,aux_type = "none";
inven,read_only_slave_type = "none";
};
asm330@6b {
compatible = "st,asm330lhh";
reg = <0x6b>;
pinctrl-names = "default";
pinctrl-0 = <&sensor_int1_default>,<&sensor_enable_default>;
interrupt-parent = <&tlmm>;
interrupts = <84 IRQ_TYPE_EDGE_RISING>;
st,drdy-int-pin= <2>;
qcom,regulator_check = <0>; /* 0:Disable 1:Enable */
};
};
&emac_hw {
/delete-property/ vreg_rgmii-supply;
pinctrl-names = "default";
pinctrl-0 = <&vreg_rgmii_off_default>;
qcom,phy-reset-delay-msecs = <10>;
};
&ethqos_hw {
/delete-property/ vreg_rgmii-supply;
pinctrl-names = "default",
"dev-emac_pin_pps_0",
"dev-emac_pin_pps_1";
pinctrl-0 = <&vreg_rgmii_off_default>;
pinctrl-1 = <&emac_pin_pps_0>;
pinctrl-2 = <&emac_pin_pps_1>;
qcom,phy-reset-delay-msecs = <10>;
};
&vreg_rgmii_io_pads {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
&cnss_qca6390 {
status = "disabled";
};
&soc {
/delete-node/ bt_qca6390;
bluetooth: bt_qca6390 {
compatible = "qca,qca6390";
qca,bt-reset-gpio = <&pmxprairie_gpios 6 0>;
/* PWR_CTR1_VDD_PA */
qca,bt-vdd-pa-supply = <&vreg_conn_pa>;
/* PWR_CTR2_VDD_1P8 */
qca,bt-chip-pwd-supply = <&vreg_conn_1p8>;
qca,bt-vdd-vl-supply = <&pmxprairie_s3>;
qca,bt-vdd-vm-supply = <&pmxprairie_s2>;
qca,bt-vdd-vh-supply = <&pmxprairie_s4>;
qca,bt-vdd-vl-voltage-level = <1000000 1000000>;
qca,bt-vdd-vm-voltage-level = <1370000 1370000>;
qca,bt-vdd-vh-voltage-level = <1904000 1904000>;
qca,bt-vdd-vl-current-level = <0>;
qca,bt-vdd-vm-current-level = <0>;
qca,bt-vdd-vh-current-level = <450000>;
};
};
&mhi_dev_qrtr {
status = "disabled";
};
&soc {
cnss_pcie: 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 = <&vreg_conn_pa>;
vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>;
vdd-wlan-aon-supply = <&pmxprairie_s3>;
vdd-wlan-rfa1-supply = <&pmxprairie_s2>;
vdd-wlan-rfa3-supply = <&pmxprairie_s4>;
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 = <1000000 1000000 0 0>;
qcom,vdd-wlan-rfa1-info = <1370000 1370000 0 0>;
qcom,vdd-wlan-rfa3-info = <1904000 1904000 450000 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-rfa3";
qcom,vdd-wlan-aon-info = <1000000 1000000 0 0>;
qcom,vdd-wlan-rfa1-info = <1370000 1370000 0 0>;
qcom,vdd-wlan-rfa3-info = <1904000 1904000 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>;
};
};
};
};
};