Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,98 @@
/plugin/;
#include <dt-bindings/clock/qcom,gcc-sc7280.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/qcom,q6afe.h>

&{/} {
wcd9370: audio-codec-0 {
compatible = "qcom,wcd9370-codec";

pinctrl-0 = <&wcd_default>;
pinctrl-names = "default";

reset-gpios = <&tlmm 83 GPIO_ACTIVE_LOW>;
vdd-buck-supply = <&vph_pwr>;
vdd-rxtx-supply = <&vph_pwr>;
vdd-px-supply = <&vph_pwr>;
vdd-mic-bias-supply = <&vph_pwr>;
qcom,micbias1-microvolt = <1800000>;
qcom,micbias2-microvolt = <1800000>;
qcom,micbias3-microvolt = <1800000>;
qcom,micbias4-microvolt = <1800000>;
qcom,hphl-jack-type-normally-closed = <1>;
qcom,ground-jack-type-normally-closed = <1>;
qcom,rx-device = <&wcd937x_rx>;
qcom,tx-device = <&wcd937x_tx>;

#sound-dai-cells = <1>;
};
};

&tlmm {
wcd_default: wcd-reset-n-active-state {
pins = "gpio83";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
};

&swr0 {
status = "okay";

wcd937x_rx: codec@0,4 {
compatible = "sdw20217010a00";
reg = <0 4>;

/*
* WCD9370 RX Port 1 (HPH_L/R) <==> SWR1 Port 1 (HPH_L/R)
* WCD9370 RX Port 2 (CLSH) <==> SWR1 Port 2 (CLSH)
* WCD9370 RX Port 3 (COMP_L/R) <==> SWR1 Port 3 (COMP_L/R)
* WCD9370 RX Port 4 (LO) <==> SWR1 Port 4 (LO)
* WCD9370 RX Port 5 (DSD_L/R) <==> SWR1 Port 5 (DSD)
*/
qcom,rx-port-mapping = <1 2 3 4 5>;

/*
* Static channels mapping between slave and master rx port channels.
* In the order of slave port channels, which is
* hph_l, hph_r, clsh, comp_l, comp_r, lo, dsd_r, dsd_l.
*/
qcom,rx-channel-mapping = /bits/ 8 <1 2 1 1 2 1 1 2>;
};
};

&swr1 {
status = "okay";
wcd937x_tx: codec@0,3 {
compatible = "sdw20217010a00";
reg = <0 3>;

/*
* WCD9370 TX Port 1 (ADC1) <=> SWR2 Port 2
* WCD9370 TX Port 2 (ADC2, 3) <=> SWR2 Port 2
* WCD9370 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3
* WCD9370 TX Port 4 (DMIC4,5,6,7) <=> SWR2 Port 4
*/
qcom,tx-port-mapping = <1 1 2 3>;

/*
* Static channel mapping between slave and master tx port channels.
* In the order of slave port channels which is adc1, adc2, adc3,
* mic0, dmic1, mbhc, dmic2, dmic3, dmci4, dmic5, dmic6, dmic7.
*/
qcom,tx-channel-mapping = /bits/ 8 <1 2 1 1 2 3 3 4 1 2 3 4>;
};
};

&lpass_tx_macro {
status = "okay";
};

&lpass_rx_macro {
status = "okay";
};

&spi11 {
#address-cells = <1>;
Expand All @@ -19,3 +111,49 @@
spi-max-frequency = <20000000>;
};
};

&sound {
model = "qcs6490-rb3gen2-ia-snd-card";
audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
"SpkrRight IN", "WSA_SPK2 OUT",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"AMIC2", "MIC BIAS2",
"TX SWR_ADC1", "ADC2_OUTPUT",
"VA DMIC0", "vdd-micb",
"VA DMIC1", "vdd-micb",
"VA DMIC2", "vdd-micb",
"VA DMIC3", "vdd-micb";

wcd-playback-dai-link {
link-name = "WCD Playback";

codec {
sound-dai = <&wcd9370 0>, <&swr0 0>, <&lpass_rx_macro 0>;
};

cpu {
sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
};

platform {
sound-dai = <&q6apm>;
};
};

wcd-capture-dai-link {
link-name = "WCD Capture";

codec {
sound-dai = <&wcd9370 1>, <&swr1 0>, <&lpass_tx_macro 0>;
};

cpu {
sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
};

platform {
sound-dai = <&q6apm>;
};
};
};