ASoC: mxs-sgtl5000: Configure the dai_links as unidirectional

On a mx28 board, running "aplay -l" and "arecord -l" results in the following:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

,which is not correct because we got a capture device listed in aplay and a
playback device listed in arecord.

On mx28 there are two serial audio interface ports (SAIF0 and SAIF1) and each
one of them are unidirectional.

Allow to specify a dai link as 'playback_only' or 'capture_only', which suits
well for this case.

After this change we can correctly report the capabilities as follows:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: mxssgtl5000 [mxs_sgtl5000], device 0: HiFi Playback sgtl5000-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: mxssgtl5000 [mxs_sgtl5000], device 1: HiFi Capture sgtl5000-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Also tested playback and capture on the mx28evk board.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Fabio Estevam 2013-08-29 10:32:14 -03:00 committed by Mark Brown
parent d6bead020d
commit a90e6053ba
1 changed files with 2 additions and 0 deletions

View File

@ -91,11 +91,13 @@ static struct snd_soc_dai_link mxs_sgtl5000_dai[] = {
.stream_name = "HiFi Playback", .stream_name = "HiFi Playback",
.codec_dai_name = "sgtl5000", .codec_dai_name = "sgtl5000",
.ops = &mxs_sgtl5000_hifi_ops, .ops = &mxs_sgtl5000_hifi_ops,
.playback_only = true,
}, { }, {
.name = "HiFi Rx", .name = "HiFi Rx",
.stream_name = "HiFi Capture", .stream_name = "HiFi Capture",
.codec_dai_name = "sgtl5000", .codec_dai_name = "sgtl5000",
.ops = &mxs_sgtl5000_hifi_ops, .ops = &mxs_sgtl5000_hifi_ops,
.capture_only = true,
}, },
}; };