Commit 5582fcb3 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Andy Gross

arm64: dts: apq8016-sbc: add analog audio support with multicodec

This patch add support to Analog audio both Playback and Capture via
msm8916 WCD muti codec.
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent 29ac9652
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "pm8916.dtsi" #include "pm8916.dtsi"
#include "apq8016-sbc-soc-pins.dtsi" #include "apq8016-sbc-soc-pins.dtsi"
#include "apq8016-sbc-pmic-pins.dtsi" #include "apq8016-sbc-pmic-pins.dtsi"
#include <dt-bindings/sound/apq8016-lpass.h>
/ { / {
aliases { aliases {
...@@ -251,6 +252,60 @@ dsi-phy@1a98300 { ...@@ -251,6 +252,60 @@ dsi-phy@1a98300 {
vddio-supply = <&pm8916_l6>; vddio-supply = <&pm8916_l6>;
}; };
}; };
lpass_codec: codec{
status = "okay";
};
/*
Internal Codec
playback - Primary MI2S
capture - Ter MI2S
External Primary:
playback - secondary MI2S
capture - Quat MI2S
External Secondary:
playback - Quat MI2S
capture - Quat MI2S
*/
sound: sound {
compatible = "qcom,apq8016-sbc-sndcard";
reg = <0x07702000 0x4>, <0x07702004 0x4>;
reg-names = "mic-iomux", "spkr-iomux";
status = "okay";
pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
pinctrl-names = "default", "sleep";
qcom,model = "DB410c";
qcom,audio-routing =
"AMIC2", "MIC BIAS Internal2",
"AMIC3", "MIC BIAS External1";
internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
link-name = "WCD";
cpu { /* PRIMARY */
sound-dai = <&lpass MI2S_PRIMARY>;
};
codec {
sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
};
};
internal-codec-capture-dai-link@0 { /* I2S - Internal codec */
link-name = "WCD-Capture";
cpu { /* PRIMARY */
sound-dai = <&lpass MI2S_TERTIARY>;
};
codec {
sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
};
};
};
}; };
usb2513 { usb2513 {
...@@ -278,6 +333,12 @@ hdmi_con: endpoint { ...@@ -278,6 +333,12 @@ hdmi_con: endpoint {
}; };
}; };
&wcd_codec {
status = "okay";
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "mclk";
};
&smd_rpm_regulators { &smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>; vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l5-supply = <&pm8916_s3>; vdd_l5-supply = <&pm8916_s3>;
......
...@@ -504,6 +504,15 @@ lpass: lpass@07708000 { ...@@ -504,6 +504,15 @@ lpass: lpass@07708000 {
reg-names = "lpass-lpaif"; reg-names = "lpass-lpaif";
}; };
lpass_codec: codec{
compatible = "qcom,msm8916-wcd-digital-codec";
reg = <0x0771c000 0x400>;
clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
<&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "ahbix-clk", "mclk";
#sound-dai-cells = <1>;
};
sdhc_1: sdhci@07824000 { sdhc_1: sdhci@07824000 {
compatible = "qcom,sdhci-msm-v4"; compatible = "qcom,sdhci-msm-v4";
reg = <0x07824900 0x11c>, <0x07824000 0x800>; reg = <0x07824900 0x11c>, <0x07824000 0x800>;
......
...@@ -91,9 +91,52 @@ ref_vdd { ...@@ -91,9 +91,52 @@ ref_vdd {
}; };
pm8916_1: pm8916@1 { pm8916_1: pm8916@1 {
compatible = "qcom,spmi-pmic"; compatible = "qcom,pm8916", "qcom,spmi-pmic";
reg = <0x1 SPMI_USID>; reg = <0x1 SPMI_USID>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
wcd_codec: codec@f000 {
compatible = "qcom,pm8916-wcd-analog-codec";
reg = <0xf000 0x200>;
reg-names = "pmic-codec-core";
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "mclk";
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 = "cdc_spk_cnp_int",
"cdc_spk_clip_int",
"cdc_spk_ocp_int",
"mbhc_ins_rem_det1",
"mbhc_but_rel_det",
"mbhc_but_press_det",
"mbhc_ins_rem_det",
"mbhc_switch_int",
"cdc_ear_ocp_int",
"cdc_hphr_ocp_int",
"cdc_hphl_ocp_det",
"cdc_ear_cnp_int",
"cdc_hphr_cnp_int",
"cdc_hphl_cnp_int";
vdd-cdc-io-supply = <&pm8916_l5>;
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
vdd-micbias-supply = <&pm8916_l13>;
#sound-dai-cells = <1>;
};
}; };
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment