linux/sound/soc/codecs/cs35l56-shared.c

// SPDX-License-Identifier: GPL-2.0-only
//
// Components shared between ASoC and HDA CS35L56 drivers
//
// Copyright (C) 2023 Cirrus Logic, Inc. and
//                    Cirrus Logic International Semiconductor Ltd.

#include <linux/array_size.h>
#include <linux/firmware/cirrus/wmfw.h>
#include <linux/gpio/consumer.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/types.h>
#include <sound/cs-amp-lib.h>

#include "cs35l56.h"

static const struct reg_sequence cs35l56_patch[] =;

int cs35l56_set_patch(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

static const struct reg_default cs35l56_reg_defaults[] =;

static bool cs35l56_is_dsp_memory(unsigned int reg)
{}

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

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

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

int cs35l56_mbox_send(struct cs35l56_base *cs35l56_base, unsigned int command)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_firmware_shutdown(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_wait_for_firmware_boot(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

void cs35l56_wait_control_port_ready(void)
{}
EXPORT_SYMBOL_NS_GPL();

void cs35l56_wait_min_reset_pulse(void)
{}
EXPORT_SYMBOL_NS_GPL();

static const struct reg_sequence cs35l56_system_reset_seq[] =;

void cs35l56_system_reset(struct cs35l56_base *cs35l56_base, bool is_soundwire)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_irq_request(struct cs35l56_base *cs35l56_base, int irq)
{}
EXPORT_SYMBOL_NS_GPL();

irqreturn_t cs35l56_irq(int irq, void *data)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_is_fw_reload_needed(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

static const struct reg_sequence cs35l56_hibernate_seq[] =;

static const struct reg_sequence cs35l56_hibernate_wake_seq[] =;

static void cs35l56_issue_wake_event(struct cs35l56_base *cs35l56_base)
{}

int cs35l56_runtime_suspend_common(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_runtime_resume_common(struct cs35l56_base *cs35l56_base, bool is_soundwire)
{}
EXPORT_SYMBOL_NS_GPL();

static const struct cs_dsp_region cs35l56_dsp1_regions[] =;

void cs35l56_init_cs_dsp(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp)
{}
EXPORT_SYMBOL_NS_GPL();

struct cs35l56_pte {} __packed;
static_assert();

static int cs35l56_read_silicon_uid(struct cs35l56_base *cs35l56_base, u64 *uid)
{}

/* Firmware calibration controls */
const struct cirrus_amp_cal_controls cs35l56_calibration_controls =;
EXPORT_SYMBOL_NS_GPL();

int cs35l56_get_calibration(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_read_prot_status(struct cs35l56_base *cs35l56_base,
			     bool *fw_missing, unsigned int *fw_version)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_hw_init(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

int cs35l56_get_speaker_id(struct cs35l56_base *cs35l56_base)
{}
EXPORT_SYMBOL_NS_GPL();

static const u32 cs35l56_bclk_valid_for_pll_freq_table[] =;

int cs35l56_get_bclk_freq_id(unsigned int freq)
{}
EXPORT_SYMBOL_NS_GPL();

static const char * const cs35l56_supplies[/* auto-sized */] =;

void cs35l56_fill_supply_names(struct regulator_bulk_data *data)
{}
EXPORT_SYMBOL_NS_GPL();

const char * const cs35l56_tx_input_texts[] =;
EXPORT_SYMBOL_NS_GPL();

const unsigned int cs35l56_tx_input_values[] =;
EXPORT_SYMBOL_NS_GPL();

struct regmap_config cs35l56_regmap_i2c =;
EXPORT_SYMBOL_NS_GPL();

struct regmap_config cs35l56_regmap_spi =;
EXPORT_SYMBOL_NS_GPL();

struct regmap_config cs35l56_regmap_sdw =;
EXPORT_SYMBOL_NS_GPL();

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