linux/sound/soc/sof/mediatek/mt8195/mt8195.c

// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
//
// Copyright(c) 2021 Mediatek Inc. All rights reserved.
//
// Author: YC Hung <[email protected]>
//

/*
 * Hardware interface for audio DSP on mt8195
 */

#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/io.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_reserved_mem.h>
#include <linux/module.h>

#include <sound/sof.h>
#include <sound/sof/xtensa.h>
#include "../../ops.h"
#include "../../sof-of-dev.h"
#include "../../sof-audio.h"
#include "../adsp_helper.h"
#include "../mtk-adsp-common.h"
#include "mt8195.h"
#include "mt8195-clk.h"

static int mt8195_get_mailbox_offset(struct snd_sof_dev *sdev)
{}

static int mt8195_get_window_offset(struct snd_sof_dev *sdev, u32 id)
{}

static int mt8195_send_msg(struct snd_sof_dev *sdev,
			   struct snd_sof_ipc_msg *msg)
{}

static void mt8195_dsp_handle_reply(struct mtk_adsp_ipc *ipc)
{}

static void mt8195_dsp_handle_request(struct mtk_adsp_ipc *ipc)
{}

static const struct mtk_adsp_ipc_ops dsp_ops =;

static int platform_parse_resource(struct platform_device *pdev, void *data)
{}

static int adsp_sram_power_on(struct device *dev, bool on)
{}

/*  Init the basic DSP DRAM address */
static int adsp_memory_remap_init(struct device *dev, struct mtk_adsp_chip_info *adsp)
{}

static int mt8195_run(struct snd_sof_dev *sdev)
{}

static int mt8195_dsp_probe(struct snd_sof_dev *sdev)
{}

static int mt8195_dsp_shutdown(struct snd_sof_dev *sdev)
{}

static void mt8195_dsp_remove(struct snd_sof_dev *sdev)
{}

static int mt8195_dsp_suspend(struct snd_sof_dev *sdev, u32 target_state)
{}

static int mt8195_dsp_resume(struct snd_sof_dev *sdev)
{}

/* on mt8195 there is 1 to 1 match between type and BAR idx */
static int mt8195_get_bar_index(struct snd_sof_dev *sdev, u32 type)
{}

static int mt8195_pcm_hw_params(struct snd_sof_dev *sdev,
				struct snd_pcm_substream *substream,
				struct snd_pcm_hw_params *params,
				struct snd_sof_platform_stream_params *platform_params)
{}

static snd_pcm_uframes_t mt8195_pcm_pointer(struct snd_sof_dev *sdev,
					    struct snd_pcm_substream *substream)
{}

static void mt8195_adsp_dump(struct snd_sof_dev *sdev, u32 flags)
{}

static struct snd_soc_dai_driver mt8195_dai[] =;

/* mt8195 ops */
static const struct snd_sof_dsp_ops sof_mt8195_ops =;

static struct snd_sof_of_mach sof_mt8195_machs[] =;

static const struct sof_dev_desc sof_of_mt8195_desc =;

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

/* DT driver definition */
static struct platform_driver snd_sof_of_mt8195_driver =;
module_platform_driver();

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