Lines Matching +full:audio +full:- +full:tx
2 * pxa2xx-i2s.c -- ALSA Soc Audio Layer
25 #include <sound/pxa2xx-lib.h>
29 #include <mach/audio.h>
31 #include "pxa2xx-i2s.h"
37 #define SACR1 __REG(0x40400004) /* Serial Audio I 2 S/MSB-Justified Control Register */
38 #define SASR0 __REG(0x4040000C) /* Serial Audio I 2 S/MSB-Justified Interface and FIFO Status Reg…
39 #define SAIMR __REG(0x40400014) /* Serial Audio Interrupt Mask Register */
40 #define SAICR __REG(0x40400018) /* Serial Audio Interrupt Clear Register */
41 #define SADIV __REG(0x40400060) /* Audio Clock Divider Register. */
42 #define SADR __REG(0x40400080) /* Serial Audio Data Register (TX and RX FIFO access Register). */
45 #define SACR0_TFTH(x) ((x) << 8) /* Tx FIFO Interrupt or DMA Trigger Threshold */
58 #define SASR0_TUR (1 << 5) /* Tx FIFO Underrun */
60 #define SASR0_TFS (1 << 3) /* Tx FIFO Service Request */
63 #define SASR0_TNF (1 << 0) /* Tx FIFO Not Empty */
66 #define SAICR_TUR (1 << 5) /* Clear Tx FIFO Underrun Interrupt */
69 #define SAIMR_TUR (1 << 5) /* Enable Tx FIFO Underrun Condition Interrupt */
71 #define SAIMR_TFS (1 << 3) /* Enable Tx FIFO Service Interrupt */
88 .chan_name = "tx",
102 struct snd_soc_pcm_runtime *rtd = substream->private_data; in pxa2xx_i2s_startup()
103 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in pxa2xx_i2s_startup()
108 if (!cpu_dai->active) in pxa2xx_i2s_startup()
155 return -ENODEV; in pxa2xx_i2s_set_dai_sysclk()
167 return -EINVAL; in pxa2xx_i2s_hw_params()
172 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_i2s_hw_params()
188 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_i2s_hw_params()
227 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_i2s_trigger()
240 ret = -EINVAL; in pxa2xx_i2s_trigger()
249 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { in pxa2xx_i2s_shutdown()
303 clk_i2s = clk_get(dai->dev, "I2SCLK"); in pxa2xx_i2s_probe()
329 clk_i2s = ERR_PTR(-ENOENT); in pxa2xx_i2s_remove()
366 .name = "pxa-i2s",
374 return devm_snd_soc_register_component(&pdev->dev, &pxa_i2s_component, in pxa2xx_i2s_drv_probe()
382 .name = "pxa2xx-i2s",
388 clk_i2s = ERR_PTR(-ENOENT); in pxa2xx_i2s_init()
404 MODULE_ALIAS("platform:pxa2xx-i2s");