linux/drivers/media/platform/amphion/vpu_imx8q.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2020-2021 NXP
 */

#include <linux/init.h>
#include <linux/device.h>
#include <linux/ioctl.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/types.h>
#include "vpu.h"
#include "vpu_core.h"
#include "vpu_imx8q.h"
#include "vpu_rpc.h"

#define IMX8Q_CSR_CM0Px_ADDR_OFFSET
#define IMX8Q_CSR_CM0Px_CPUWAIT

#ifdef CONFIG_IMX_SCU
#include <linux/firmware/imx/ipc.h>
#include <linux/firmware/imx/svc/misc.h>

#define VPU_DISABLE_BITS
#define VPU_IMX_DECODER_FUSE_OFFSET
#define VPU_ENCODER_MASK
#define VPU_DECODER_MASK
#define VPU_DECODER_H264_MASK
#define VPU_DECODER_HEVC_MASK

static u32 imx8q_fuse;

struct vpu_sc_msg_misc {} __packed;
#endif

int vpu_imx8q_setup_dec(struct vpu_dev *vpu)
{}

int vpu_imx8q_setup_enc(struct vpu_dev *vpu)
{}

int vpu_imx8q_setup(struct vpu_dev *vpu)
{}

static int vpu_imx8q_reset_enc(struct vpu_dev *vpu)
{}

static int vpu_imx8q_reset_dec(struct vpu_dev *vpu)
{}

int vpu_imx8q_reset(struct vpu_dev *vpu)
{}

int vpu_imx8q_set_system_cfg_common(struct vpu_rpc_system_config *config, u32 regs, u32 core_id)
{}

int vpu_imx8q_boot_core(struct vpu_core *core)
{}

int vpu_imx8q_get_power_state(struct vpu_core *core)
{}

int vpu_imx8q_on_firmware_loaded(struct vpu_core *core)
{}

int vpu_imx8q_check_memory_region(dma_addr_t base, dma_addr_t addr, u32 size)
{}

#ifdef CONFIG_IMX_SCU
static u32 vpu_imx8q_get_fuse(void)
{}

bool vpu_imx8q_check_codec(enum vpu_core_type type)
{}

bool vpu_imx8q_check_fmt(enum vpu_core_type type, u32 pixelfmt)
{}
#else
bool vpu_imx8q_check_codec(enum vpu_core_type type)
{
	return true;
}

bool vpu_imx8q_check_fmt(enum vpu_core_type type, u32 pixelfmt)
{
	return true;
}
#endif