linux/sound/soc/tegra/tegra210_mbdrc.c

// SPDX-License-Identifier: GPL-2.0-only
//
// tegra210_mbdrc.c - Tegra210 MBDRC driver
//
// Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.

#include <linux/device.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <sound/core.h>
#include <sound/soc.h>
#include <sound/tlv.h>

#include "tegra210_mbdrc.h"
#include "tegra210_ope.h"

#define MBDRC_FILTER_REG(reg, id)

#define MBDRC_FILTER_REG_DEFAULTS(id)

static const struct reg_default tegra210_mbdrc_reg_defaults[] =;

/* Default MBDRC parameters */
static const struct tegra210_mbdrc_config mbdrc_init_config =;

static void tegra210_mbdrc_write_ram(struct regmap *regmap, unsigned int reg_ctrl,
				     unsigned int reg_data, unsigned int ram_offset,
				     unsigned int *data, size_t size)
{}

static int tegra210_mbdrc_get(struct snd_kcontrol *kcontrol,
			      struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_put(struct snd_kcontrol *kcontrol,
			      struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_get_enum(struct snd_kcontrol *kcontrol,
				   struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_put_enum(struct snd_kcontrol *kcontrol,
				   struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_band_params_get(struct snd_kcontrol *kcontrol,
					  struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_band_params_put(struct snd_kcontrol *kcontrol,
					  struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_threshold_get(struct snd_kcontrol *kcontrol,
					struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_threshold_put(struct snd_kcontrol *kcontrol,
					struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_biquad_coeffs_get(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_biquad_coeffs_put(struct snd_kcontrol *kcontrol,
					    struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_param_info(struct snd_kcontrol *kcontrol,
				     struct snd_ctl_elem_info *uinfo)
{}

static int tegra210_mbdrc_vol_get(struct snd_kcontrol *kcontrol,
				  struct snd_ctl_elem_value *ucontrol)
{}

static int tegra210_mbdrc_vol_put(struct snd_kcontrol *kcontrol,
				  struct snd_ctl_elem_value *ucontrol)
{}

static const char * const tegra210_mbdrc_mode_text[] =;

static const struct soc_enum tegra210_mbdrc_mode_enum =;

static const char * const tegra210_mbdrc_peak_rms_text[] =;

static const struct soc_enum tegra210_mbdrc_peak_rms_enum =;

static const char * const tegra210_mbdrc_filter_structure_text[] =;

static const struct soc_enum tegra210_mbdrc_filter_structure_enum =;

static const char * const tegra210_mbdrc_frame_size_text[] =;

static const struct soc_enum tegra210_mbdrc_frame_size_enum =;

#define TEGRA_MBDRC_BYTES_EXT(xname, xbase, xregs, xshift, xmask, xinfo)

#define TEGRA_MBDRC_BAND_BYTES_EXT(xname, xbase, xshift, xmask, xinfo)

static const DECLARE_TLV_DB_MINMAX(mdbrc_vol_tlv, -25600, 25500);

static const struct snd_kcontrol_new tegra210_mbdrc_controls[] =;

static bool tegra210_mbdrc_wr_reg(struct device *dev, unsigned int reg)
{}

static bool tegra210_mbdrc_rd_reg(struct device *dev, unsigned int reg)
{}

static bool tegra210_mbdrc_volatile_reg(struct device *dev, unsigned int reg)
{}

static bool tegra210_mbdrc_precious_reg(struct device *dev, unsigned int reg)
{}

static const struct regmap_config tegra210_mbdrc_regmap_cfg =;

int tegra210_mbdrc_hw_params(struct snd_soc_component *cmpnt)
{}

int tegra210_mbdrc_component_init(struct snd_soc_component *cmpnt)
{}

int tegra210_mbdrc_regmap_init(struct platform_device *pdev)
{}