#include <linux/bitfield.h>
#include <linux/clk.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include "aiu.h"
#define AIU_I2S_SOURCE_DESC_MODE_8CH …
#define AIU_I2S_SOURCE_DESC_MODE_24BIT …
#define AIU_I2S_SOURCE_DESC_MODE_32BIT …
#define AIU_I2S_SOURCE_DESC_MODE_SPLIT …
#define AIU_RST_SOFT_I2S_FAST …
#define AIU_I2S_DAC_CFG_MSB_FIRST …
#define AIU_CLK_CTRL_I2S_DIV_EN …
#define AIU_CLK_CTRL_I2S_DIV …
#define AIU_CLK_CTRL_AOCLK_INVERT …
#define AIU_CLK_CTRL_LRCLK_INVERT …
#define AIU_CLK_CTRL_LRCLK_SKEW …
#define AIU_CLK_CTRL_MORE_HDMI_AMCLK …
#define AIU_CLK_CTRL_MORE_I2S_DIV …
#define AIU_CODEC_DAC_LRCLK_CTRL_DIV …
static void aiu_encoder_i2s_divider_enable(struct snd_soc_component *component,
bool enable)
{ … }
static int aiu_encoder_i2s_setup_desc(struct snd_soc_component *component,
struct snd_pcm_hw_params *params)
{ … }
static int aiu_encoder_i2s_set_legacy_div(struct snd_soc_component *component,
struct snd_pcm_hw_params *params,
unsigned int bs)
{ … }
static int aiu_encoder_i2s_set_more_div(struct snd_soc_component *component,
struct snd_pcm_hw_params *params,
unsigned int bs)
{ … }
static int aiu_encoder_i2s_set_clocks(struct snd_soc_component *component,
struct snd_pcm_hw_params *params)
{ … }
static int aiu_encoder_i2s_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
static int aiu_encoder_i2s_hw_free(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int aiu_encoder_i2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{ … }
static int aiu_encoder_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
unsigned int freq, int dir)
{ … }
static const unsigned int hw_channels[] = …;
static const struct snd_pcm_hw_constraint_list hw_channel_constraints = …;
static int aiu_encoder_i2s_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static void aiu_encoder_i2s_shutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
const struct snd_soc_dai_ops aiu_encoder_i2s_dai_ops = …;