|
@@ -23,11 +23,20 @@
|
|
|
|
|
|
#define DRV_NAME "hdmi-audio-codec"
|
|
|
|
|
|
-static struct snd_soc_codec_driver hdmi_codec;
|
|
|
+static const struct snd_soc_dapm_widget hdmi_widgets[] = {
|
|
|
+ SND_SOC_DAPM_INPUT("RX"),
|
|
|
+ SND_SOC_DAPM_OUTPUT("TX"),
|
|
|
+};
|
|
|
+
|
|
|
+static const struct snd_soc_dapm_route hdmi_routes[] = {
|
|
|
+ { "Capture", NULL, "RX" },
|
|
|
+ { "TX", NULL, "Playback" },
|
|
|
+};
|
|
|
|
|
|
static struct snd_soc_dai_driver hdmi_codec_dai = {
|
|
|
.name = "hdmi-hifi",
|
|
|
.playback = {
|
|
|
+ .stream_name = "Playback",
|
|
|
.channels_min = 2,
|
|
|
.channels_max = 8,
|
|
|
.rates = SNDRV_PCM_RATE_32000 |
|
|
@@ -37,6 +46,25 @@ static struct snd_soc_dai_driver hdmi_codec_dai = {
|
|
|
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
SNDRV_PCM_FMTBIT_S24_LE,
|
|
|
},
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "Capture",
|
|
|
+ .channels_min = 2,
|
|
|
+ .channels_max = 2,
|
|
|
+ .rates = SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE,
|
|
|
+ },
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+static struct snd_soc_codec_driver hdmi_codec = {
|
|
|
+ .dapm_widgets = hdmi_widgets,
|
|
|
+ .num_dapm_widgets = ARRAY_SIZE(hdmi_widgets),
|
|
|
+ .dapm_routes = hdmi_routes,
|
|
|
+ .num_dapm_routes = ARRAY_SIZE(hdmi_routes),
|
|
|
};
|
|
|
|
|
|
static int hdmi_codec_probe(struct platform_device *pdev)
|