linux/drivers/media/platform/verisilicon/imx8m_vpu_hw.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Hantro VPU codec driver
 *
 * Copyright (C) 2019 Pengutronix, Philipp Zabel <[email protected]>
 */

#include <linux/clk.h>
#include <linux/delay.h>

#include "hantro.h"
#include "hantro_jpeg.h"
#include "hantro_g1_regs.h"
#include "hantro_g2_regs.h"

#define CTRL_SOFT_RESET
#define RESET_G1
#define RESET_G2

#define CTRL_CLOCK_ENABLE
#define CLOCK_G1
#define CLOCK_G2

#define CTRL_G1_DEC_FUSE
#define CTRL_G1_PP_FUSE
#define CTRL_G2_DEC_FUSE

static void imx8m_soft_reset(struct hantro_dev *vpu, u32 reset_bits)
{}

static void imx8m_clk_enable(struct hantro_dev *vpu, u32 clock_bits)
{}

static int imx8mq_runtime_resume(struct hantro_dev *vpu)
{}

/*
 * Supported formats.
 */

static const struct hantro_fmt imx8m_vpu_postproc_fmts[] =;

static const struct hantro_fmt imx8m_vpu_dec_fmts[] =;

static const struct hantro_fmt imx8m_vpu_g2_postproc_fmts[] =;

static const struct hantro_fmt imx8m_vpu_g2_dec_fmts[] =;

static irqreturn_t imx8m_vpu_g1_irq(int irq, void *dev_id)
{}

static int imx8mq_vpu_hw_init(struct hantro_dev *vpu)
{}

static void imx8m_vpu_g1_reset(struct hantro_ctx *ctx)
{}

/*
 * Supported codec ops.
 */

static const struct hantro_codec_ops imx8mq_vpu_codec_ops[] =;

static const struct hantro_codec_ops imx8mq_vpu_g1_codec_ops[] =;

static const struct hantro_codec_ops imx8mq_vpu_g2_codec_ops[] =;

/*
 * VPU variants.
 */

static const struct hantro_irq imx8mq_irqs[] =;

static const struct hantro_irq imx8mq_g2_irqs[] =;

static const char * const imx8mq_clk_names[] =;
static const char * const imx8mq_reg_names[] =;
static const char * const imx8mq_g1_clk_names[] =;
static const char * const imx8mq_g2_clk_names[] =;

const struct hantro_variant imx8mq_vpu_variant =;

const struct hantro_variant imx8mq_vpu_g1_variant =;

const struct hantro_variant imx8mq_vpu_g2_variant =;

const struct hantro_variant imx8mm_vpu_g1_variant =;