18 #include <linux/module.h>
20 #include <linux/device.h>
21 #include <linux/i2c.h>
27 #include "../codecs/tlv320aic23.h"
31 #define CODEC_CLOCK 12000000
45 pr_err(
"%s: failed set cpu dai format\n", __func__);
53 pr_err(
"%s: failed set codec dai format\n", __func__);
60 pr_err(
"%s: failed setting codec sysclk\n", __func__);
68 pr_err(
"can't set CPU system clock IMX_SSP_SYS_CLK\n");
76 .hw_params = eukrea_tlv320_hw_params,
80 .name =
"tlv320aic23",
81 .stream_name =
"TLV320AIC23",
82 .codec_dai_name =
"tlv320aic23-hifi",
83 .platform_name =
"imx-fiq-pcm-audio.0",
84 .codec_name =
"tlv320aic23-codec.0-001a",
85 .cpu_dai_name =
"imx-ssi.0",
86 .ops = &eukrea_tlv320_snd_ops,
90 .name =
"cpuimx-audio",
92 .dai_link = &eukrea_tlv320_dai,
99 int int_port = 0, ext_port;
101 if (machine_is_eukrea_cpuimx27()) {
116 }
else if (machine_is_eukrea_cpuimx25sd() ||
117 machine_is_eukrea_cpuimx35sd() ||
118 machine_is_eukrea_cpuimx51sd()) {
119 ext_port = machine_is_eukrea_cpuimx25sd() ? 4 : 3;
137 eukrea_tlv320.
dev = &pdev->
dev;
140 dev_err(&pdev->
dev,
"snd_soc_register_card failed (%d)\n", ret);
154 .name =
"eukrea_tlv320",
157 .probe = eukrea_tlv320_probe,