linux/sound/soc/meson/aiu-encoder-i2s.c

// SPDX-License-Identifier: GPL-2.0
//
// Copyright (c) 2020 BayLibre, SAS.
// Author: Jerome Brunet <[email protected]>

#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 =;