linux/sound/soc/ti/j721e-evm.c

// SPDX-License-Identifier: GPL-2.0
/*
 *  Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com
 *  Author: Peter Ujfalusi <[email protected]>
 */

#include <linux/clk.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>

#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>

#include "davinci-mcasp.h"

/*
 * Maximum number of configuration entries for prefixes:
 * CPB: 2 (mcasp10 + codec)
 * IVI: 3 (mcasp0 + 2x codec)
 */
#define J721E_CODEC_CONF_COUNT

enum j721e_audio_domain_id {};

#define J721E_CLK_PARENT_48000
#define J721E_CLK_PARENT_44100

#define J721E_MAX_CLK_HSDIV
#define PCM1368A_MAX_SYSCLK

#define J721E_DAI_FMT

enum j721e_board_type {};

struct j721e_audio_match_data {};

static unsigned int ratios_for_pcm3168a[] =;

struct j721e_audio_clocks {};

struct j721e_audio_domain {};

struct j721e_priv {};

static const struct snd_soc_dapm_widget j721e_cpb_dapm_widgets[] =;

static const struct snd_soc_dapm_route j721e_cpb_dapm_routes[] =;

static const struct snd_soc_dapm_widget j721e_ivi_codec_a_dapm_widgets[] =;

static const struct snd_soc_dapm_route j721e_codec_a_dapm_routes[] =;

static const struct snd_soc_dapm_widget j721e_ivi_codec_b_dapm_widgets[] =;

static const struct snd_soc_dapm_route j721e_codec_b_dapm_routes[] =;

static int j721e_configure_refclk(struct j721e_priv *priv,
				  unsigned int audio_domain, unsigned int rate)
{}

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

static int j721e_audio_startup(struct snd_pcm_substream *substream)
{}

static int j721e_audio_hw_params(struct snd_pcm_substream *substream,
				 struct snd_pcm_hw_params *params)
{}

static void j721e_audio_shutdown(struct snd_pcm_substream *substream)
{}

static const struct snd_soc_ops j721e_audio_ops =;

static int j721e_audio_init(struct snd_soc_pcm_runtime *rtd)
{}

static int j721e_audio_init_ivi(struct snd_soc_pcm_runtime *rtd)
{}

static int j721e_get_clocks(struct device *dev,
			    struct j721e_audio_clocks *clocks, char *prefix)
{}

static const struct j721e_audio_match_data j721e_cpb_data =;

static const struct j721e_audio_match_data j721e_cpb_ivi_data =;

static const struct j721e_audio_match_data j7200_cpb_data =;

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

static int j721e_calculate_rate_range(struct j721e_priv *priv)
{}

static int j721e_soc_probe_cpb(struct j721e_priv *priv, int *link_idx,
			       int *conf_idx)
{}

static int j721e_soc_probe_ivi(struct j721e_priv *priv, int *link_idx,
			       int *conf_idx)
{}

static int j721e_soc_probe(struct platform_device *pdev)
{}

static struct platform_driver j721e_soc_driver =;

module_platform_driver();

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