#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/initval.h>
#include "jz4740-i2s.h"
#include "jz4740-pcm.h"
Go to the source code of this file.
#define JZ_AIC_CLK_DIV_MASK 0xf |
#define JZ_AIC_CONF_BIT_CLK_MASTER BIT(2) |
#define JZ_AIC_CONF_ENABLE BIT(0) |
#define JZ_AIC_CONF_FIFO_RX_THRESHOLD_MASK (0xf << 12) |
#define JZ_AIC_CONF_FIFO_RX_THRESHOLD_OFFSET 12 |
#define JZ_AIC_CONF_FIFO_TX_THRESHOLD_MASK (0xf << 8) |
#define JZ_AIC_CONF_FIFO_TX_THRESHOLD_OFFSET 8 |
#define JZ_AIC_CONF_I2S BIT(4) |
#define JZ_AIC_CONF_INTERNAL_CODEC BIT(5) |
#define JZ_AIC_CONF_OVERFLOW_PLAY_LAST BIT(6) |
#define JZ_AIC_CONF_RESET BIT(3) |
#define JZ_AIC_CONF_SYNC_CLK_MASTER BIT(1) |
#define JZ_AIC_CTRL_ENABLE_CAPTURE BIT(0) |
#define JZ_AIC_CTRL_ENABLE_LOOPBACK BIT(2) |
#define JZ_AIC_CTRL_ENABLE_PLAYBACK BIT(1) |
#define JZ_AIC_CTRL_ENABLE_RFS_INT BIT(4) |
#define JZ_AIC_CTRL_ENABLE_ROR_INT BIT(6) |
#define JZ_AIC_CTRL_ENABLE_RX_DMA BIT(15) |
#define JZ_AIC_CTRL_ENABLE_TFS_INT BIT(3) |
#define JZ_AIC_CTRL_ENABLE_TUR_INT BIT(5) |
#define JZ_AIC_CTRL_ENABLE_TX_DMA BIT(14) |
#define JZ_AIC_CTRL_FLUSH BIT(8) |
#define JZ_AIC_CTRL_INPUT_SAMPLE_SIZE_MASK (0x7 << 16) |
#define JZ_AIC_CTRL_INPUT_SAMPLE_SIZE_OFFSET 16 |
#define JZ_AIC_CTRL_MONO_TO_STEREO BIT(11) |
#define JZ_AIC_CTRL_OUTPUT_SAMPLE_SIZE_MASK (0x7 << 19) |
#define JZ_AIC_CTRL_OUTPUT_SAMPLE_SIZE_OFFSET 19 |
#define JZ_AIC_CTRL_SIGNED_TO_UNSIGNED BIT(9) |
#define JZ_AIC_CTRL_SWITCH_ENDIANNESS BIT(10) |
#define JZ_AIC_I2S_FMT_DISABLE_BIT_CLK BIT(12) |
#define JZ_AIC_I2S_FMT_ENABLE_SYS_CLK BIT(4) |
#define JZ_AIC_I2S_FMT_MSB BIT(0) |
#define JZ_AIC_I2S_STATUS_BUSY BIT(2) |
#define JZ_REG_AIC_CLK_DIV 0x30 |
#define JZ_REG_AIC_CONF 0x00 |
#define JZ_REG_AIC_CTRL 0x04 |
#define JZ_REG_AIC_FIFO 0x34 |
#define JZ_REG_AIC_FIFO_STATUS 0x14 |
#define JZ_REG_AIC_I2S_FMT 0x10 |
#define JZ_REG_AIC_I2S_STATUS 0x1c |
MODULE_ALIAS |
( |
"platform:jz4740-i2s" |
| ) |
|
MODULE_AUTHOR |
( |
"Lars-Peter |
Clausen, |
|
|
< lars @metafoo.de >" |
|
|
) |
| |
MODULE_DESCRIPTION |
( |
"Ingenic JZ4740 SoC I2S driver" |
| ) |
|
module_platform_driver |
( |
jz4740_i2s_driver |
| ) |
|