linux/sound/soc/sti/sti_uniperif.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) STMicroelectronics SA 2015
 * Authors: Arnaud Pouliquen <[email protected]>
 *          for STMicroelectronics.
 */

#include <linux/module.h>
#include <linux/pinctrl/consumer.h>
#include <linux/delay.h>

#include "uniperif.h"

/*
 * User frame size shall be 2, 4, 6 or 8 32-bits words length
 * (i.e. 8, 16, 24 or 32 bytes)
 * This constraint comes from allowed values for
 * UNIPERIF_I2S_FMT_NUM_CH register
 */
#define UNIPERIF_MAX_FRAME_SZ
#define UNIPERIF_ALLOWED_FRAME_SZ

struct sti_uniperiph_dev_data {};

static const struct sti_uniperiph_dev_data sti_uniplayer_hdmi =;

static const struct sti_uniperiph_dev_data sti_uniplayer_pcm_out =;

static const struct sti_uniperiph_dev_data sti_uniplayer_dac =;

static const struct sti_uniperiph_dev_data sti_uniplayer_spdif =;

static const struct sti_uniperiph_dev_data sti_unireader_pcm_in =;

static const struct sti_uniperiph_dev_data sti_unireader_hdmi_in =;

static const struct of_device_id snd_soc_sti_match[] =;
MODULE_DEVICE_TABLE(of, snd_soc_sti_match);

int  sti_uniperiph_reset(struct uniperif *uni)
{}

int sti_uniperiph_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
			       unsigned int rx_mask, int slots,
			       int slot_width)
{}

int sti_uniperiph_fix_tdm_chan(struct snd_pcm_hw_params *params,
			       struct snd_pcm_hw_rule *rule)
{}

int sti_uniperiph_fix_tdm_format(struct snd_pcm_hw_params *params,
				 struct snd_pcm_hw_rule *rule)
{}

int sti_uniperiph_get_tdm_word_pos(struct uniperif *uni,
				   unsigned int *word_pos)
{}

/*
 * sti_uniperiph_dai_create_ctrl
 * This function is used to create Ctrl associated to DAI but also pcm device.
 * Request is done by front end to associate ctrl with pcm device id
 */
static int sti_uniperiph_dai_create_ctrl(struct snd_soc_dai *dai)
{}

/*
 * DAI
 */
int sti_uniperiph_dai_hw_params(struct snd_pcm_substream *substream,
				struct snd_pcm_hw_params *params,
				struct snd_soc_dai *dai)
{}

int sti_uniperiph_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{}

static int sti_uniperiph_suspend(struct snd_soc_component *component)
{}

static int sti_uniperiph_resume(struct snd_soc_component *component)
{}

int sti_uniperiph_dai_probe(struct snd_soc_dai *dai)
{}

static const struct snd_soc_dai_ops sti_uniperiph_dai_ops =;

static const struct snd_soc_dai_driver sti_uniperiph_dai_template =;

static const struct snd_soc_component_driver sti_uniperiph_dai_component =;

static int sti_uniperiph_cpu_dai_of(struct device_node *node,
				    struct sti_uniperiph_data *priv)
{}

static int sti_uniperiph_probe(struct platform_device *pdev)
{}

static struct platform_driver sti_uniperiph_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();