linux/sound/soc/fsl/fsl_mqs.c

// SPDX-License-Identifier: GPL-2.0
//
// ALSA SoC IMX MQS driver
//
// Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
// Copyright 2019 NXP

#include <linux/clk.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
#include <linux/pm_runtime.h>
#include <linux/pm.h>
#include <linux/slab.h>
#include <sound/soc.h>
#include <sound/pcm.h>
#include <sound/initval.h>

#define REG_MQS_CTRL

#define MQS_EN_MASK
#define MQS_EN_SHIFT
#define MQS_SW_RST_MASK
#define MQS_SW_RST_SHIFT
#define MQS_OVERSAMPLE_MASK
#define MQS_OVERSAMPLE_SHIFT
#define MQS_CLK_DIV_MASK
#define MQS_CLK_DIV_SHIFT

enum reg_type {};

/**
 * struct fsl_mqs_soc_data - soc specific data
 *
 * @type: control register space type
 * @ctrl_off: control register offset
 * @en_mask: enable bit mask
 * @en_shift: enable bit shift
 * @rst_mask: reset bit mask
 * @rst_shift: reset bit shift
 * @osr_mask: oversample bit mask
 * @osr_shift: oversample bit shift
 * @div_mask: clock divider mask
 * @div_shift: clock divider bit shift
 */
struct fsl_mqs_soc_data {};

/* codec private data */
struct fsl_mqs {};

#define FSL_MQS_RATES
#define FSL_MQS_FORMATS

static int fsl_mqs_hw_params(struct snd_pcm_substream *substream,
			     struct snd_pcm_hw_params *params,
			     struct snd_soc_dai *dai)
{}

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

static int fsl_mqs_startup(struct snd_pcm_substream *substream,
			   struct snd_soc_dai *dai)
{}

static void fsl_mqs_shutdown(struct snd_pcm_substream *substream,
			     struct snd_soc_dai *dai)
{}

static const struct snd_soc_component_driver soc_codec_fsl_mqs =;

static const struct snd_soc_dai_ops fsl_mqs_dai_ops =;

static struct snd_soc_dai_driver fsl_mqs_dai =;

static const struct regmap_config fsl_mqs_regmap_config =;

static int fsl_mqs_probe(struct platform_device *pdev)
{}

static void fsl_mqs_remove(struct platform_device *pdev)
{}

#ifdef CONFIG_PM
static int fsl_mqs_runtime_resume(struct device *dev)
{}

static int fsl_mqs_runtime_suspend(struct device *dev)
{}
#endif

static const struct dev_pm_ops fsl_mqs_pm_ops =;

static const struct fsl_mqs_soc_data fsl_mqs_imx8qm_data =;

static const struct fsl_mqs_soc_data fsl_mqs_imx6sx_data =;

static const struct fsl_mqs_soc_data fsl_mqs_imx93_data =;

static const struct fsl_mqs_soc_data fsl_mqs_imx95_aon_data =;

static const struct fsl_mqs_soc_data fsl_mqs_imx95_netc_data =;

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

static struct platform_driver fsl_mqs_driver =;

module_platform_driver();

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