#include <dt-bindings/sound/qcom,lpass.h>
#include <linux/clk.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include "lpass-lpaif-reg.h"
#include "lpass.h"
#define LPASS_CPU_MAX_MI2S_LINES …
#define LPASS_CPU_I2S_SD0_MASK …
#define LPASS_CPU_I2S_SD1_MASK …
#define LPASS_CPU_I2S_SD2_MASK …
#define LPASS_CPU_I2S_SD3_MASK …
#define LPASS_CPU_I2S_SD0_1_MASK …
#define LPASS_CPU_I2S_SD2_3_MASK …
#define LPASS_CPU_I2S_SD0_1_2_MASK …
#define LPASS_CPU_I2S_SD0_1_2_3_MASK …
#define LPASS_REG_READ …
#define LPASS_REG_WRITE …
static struct snd_pcm_chmap_elem lpass_quad_chmaps[] = …;
static int lpass_cpu_init_i2sctl_bitfields(struct device *dev,
struct lpaif_i2sctl *i2sctl, struct regmap *map)
{ … }
static int lpass_cpu_daiops_set_sysclk(struct snd_soc_dai *dai, int clk_id,
unsigned int freq, int dir)
{ … }
static int lpass_cpu_daiops_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static void lpass_cpu_daiops_shutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int lpass_cpu_daiops_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{ … }
static int lpass_cpu_daiops_trigger(struct snd_pcm_substream *substream,
int cmd, struct snd_soc_dai *dai)
{ … }
static int lpass_cpu_daiops_prepare(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int lpass_cpu_daiops_pcm_new(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
{ … }
static int lpass_cpu_daiops_probe(struct snd_soc_dai *dai)
{ … }
const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops = …;
EXPORT_SYMBOL_GPL(…);
const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops2 = …;
EXPORT_SYMBOL_GPL(…);
static int asoc_qcom_of_xlate_dai_name(struct snd_soc_component *component,
const struct of_phandle_args *args,
const char **dai_name)
{ … }
static const struct snd_soc_component_driver lpass_cpu_comp_driver = …;
static bool lpass_cpu_regmap_writeable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_cpu_regmap_readable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_cpu_regmap_volatile(struct device *dev, unsigned int reg)
{ … }
static struct regmap_config lpass_cpu_regmap_config = …;
static int lpass_hdmi_init_bitfields(struct device *dev, struct regmap *map)
{ … }
static bool lpass_hdmi_regmap_writeable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_hdmi_regmap_readable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_hdmi_regmap_volatile(struct device *dev, unsigned int reg)
{ … }
static struct regmap_config lpass_hdmi_regmap_config = …;
static bool __lpass_rxtx_regmap_accessible(struct device *dev, unsigned int reg, bool rw)
{ … }
static bool lpass_rxtx_regmap_writeable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_rxtx_regmap_readable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_rxtx_regmap_volatile(struct device *dev, unsigned int reg)
{ … }
static bool __lpass_va_regmap_accessible(struct device *dev, unsigned int reg, bool rw)
{ … }
static bool lpass_va_regmap_writeable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_va_regmap_readable(struct device *dev, unsigned int reg)
{ … }
static bool lpass_va_regmap_volatile(struct device *dev, unsigned int reg)
{ … }
static struct regmap_config lpass_rxtx_regmap_config = …;
static struct regmap_config lpass_va_regmap_config = …;
static unsigned int of_lpass_cpu_parse_sd_lines(struct device *dev,
struct device_node *node,
const char *name)
{ … }
static void of_lpass_cpu_parse_dai_data(struct device *dev,
struct lpass_data *data)
{ … }
static int of_lpass_cdc_dma_clks_parse(struct device *dev,
struct lpass_data *data)
{ … }
int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
void asoc_qcom_lpass_cpu_platform_remove(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
void asoc_qcom_lpass_cpu_platform_shutdown(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;