#include <linux/firmware.h>
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/pm_domain.h>
#include <linux/module.h>
#include <sound/sof.h>
#include <sound/sof/xtensa.h>
#include <linux/firmware/imx/ipc.h>
#include <linux/firmware/imx/dsp.h>
#include <linux/firmware/imx/svc/misc.h>
#include <dt-bindings/firmware/imx/rsrc.h>
#include "../ops.h"
#include "../sof-of-dev.h"
#include "imx-common.h"
#define IRAM_OFFSET …
#define IRAM_SIZE …
#define DRAM0_OFFSET …
#define DRAM0_SIZE …
#define DRAM1_OFFSET …
#define DRAM1_SIZE …
#define SYSRAM_OFFSET …
#define SYSRAM_SIZE …
#define SYSROM_OFFSET …
#define SYSROM_SIZE …
#define RESET_VECTOR_VADDR …
#define MBOX_OFFSET …
#define MBOX_SIZE …
struct imx8_priv { … };
static int imx8_get_mailbox_offset(struct snd_sof_dev *sdev)
{ … }
static int imx8_get_window_offset(struct snd_sof_dev *sdev, u32 id)
{ … }
static void imx8_dsp_handle_reply(struct imx_dsp_ipc *ipc)
{ … }
static void imx8_dsp_handle_request(struct imx_dsp_ipc *ipc)
{ … }
static struct imx_dsp_ops dsp_ops = …;
static int imx8_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
{ … }
static int imx8x_run(struct snd_sof_dev *sdev)
{ … }
static int imx8_run(struct snd_sof_dev *sdev)
{ … }
static int imx8_probe(struct snd_sof_dev *sdev)
{ … }
static void imx8_remove(struct snd_sof_dev *sdev)
{ … }
static int imx8_get_bar_index(struct snd_sof_dev *sdev, u32 type)
{ … }
static void imx8_suspend(struct snd_sof_dev *sdev)
{ … }
static int imx8_resume(struct snd_sof_dev *sdev)
{ … }
static int imx8_dsp_runtime_resume(struct snd_sof_dev *sdev)
{ … }
static int imx8_dsp_runtime_suspend(struct snd_sof_dev *sdev)
{ … }
static int imx8_dsp_suspend(struct snd_sof_dev *sdev, unsigned int target_state)
{ … }
static int imx8_dsp_resume(struct snd_sof_dev *sdev)
{ … }
static struct snd_soc_dai_driver imx8_dai[] = …;
static int imx8_dsp_set_power_state(struct snd_sof_dev *sdev,
const struct sof_dsp_power_state *target_state)
{ … }
static const struct snd_sof_dsp_ops sof_imx8_ops = …;
static const struct snd_sof_dsp_ops sof_imx8x_ops = …;
static struct snd_sof_of_mach sof_imx8_machs[] = …;
static struct sof_dev_desc sof_of_imx8qxp_desc = …;
static struct sof_dev_desc sof_of_imx8qm_desc = …;
static const struct of_device_id sof_of_imx8_ids[] = …;
MODULE_DEVICE_TABLE(of, sof_of_imx8_ids);
static struct platform_driver snd_sof_of_imx8_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_IMPORT_NS(…);