#include <linux/bitfield.h>
#include <linux/clk.h>
#include <sound/pcm_params.h>
#include <sound/pcm_iec958.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include "aiu.h"
#define AIU_958_MISC_NON_PCM …
#define AIU_958_MISC_MODE_16BITS …
#define AIU_958_MISC_16BITS_ALIGN …
#define AIU_958_MISC_MODE_32BITS …
#define AIU_958_MISC_U_FROM_STREAM …
#define AIU_958_MISC_FORCE_LR …
#define AIU_958_CTRL_HOLD_EN …
#define AIU_CLK_CTRL_958_DIV_EN …
#define AIU_CLK_CTRL_958_DIV …
#define AIU_CLK_CTRL_958_DIV_MORE …
#define AIU_CS_WORD_LEN …
#define AIU_958_INTERNAL_DIV …
static void
aiu_encoder_spdif_divider_enable(struct snd_soc_component *component,
bool enable)
{ … }
static void aiu_encoder_spdif_hold(struct snd_soc_component *component,
bool enable)
{ … }
static int
aiu_encoder_spdif_trigger(struct snd_pcm_substream *substream, int cmd,
struct snd_soc_dai *dai)
{ … }
static int aiu_encoder_spdif_setup_cs_word(struct snd_soc_component *component,
struct snd_pcm_hw_params *params)
{ … }
static int aiu_encoder_spdif_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
static int aiu_encoder_spdif_hw_free(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int aiu_encoder_spdif_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static void aiu_encoder_spdif_shutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
const struct snd_soc_dai_ops aiu_encoder_spdif_dai_ops = …;