linux/drivers/media/platform/sunxi/sun8i-rotate/sun8i-rotate.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Allwinner DE2 rotation driver
 *
 * Copyright (C) 2020 Jernej Skrabec <[email protected]>
 */

#ifndef _SUN8I_ROTATE_H_
#define _SUN8I_ROTATE_H_

#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-mem2mem.h>
#include <media/videobuf2-v4l2.h>
#include <media/videobuf2-dma-contig.h>

#include <linux/platform_device.h>

#define ROTATE_NAME

#define ROTATE_GLB_CTL
#define ROTATE_GLB_CTL_START
#define ROTATE_GLB_CTL_RESET
#define ROTATE_GLB_CTL_BURST_LEN(x)
#define ROTATE_GLB_CTL_HFLIP
#define ROTATE_GLB_CTL_VFLIP
#define ROTATE_GLB_CTL_ROTATION(x)
#define ROTATE_GLB_CTL_MODE(x)

#define ROTATE_INT
#define ROTATE_INT_FINISH_IRQ_EN
#define ROTATE_INT_FINISH_IRQ

#define ROTATE_IN_FMT
#define ROTATE_IN_FMT_FORMAT(x)

#define ROTATE_IN_SIZE
#define ROTATE_IN_PITCH0
#define ROTATE_IN_PITCH1
#define ROTATE_IN_PITCH2
#define ROTATE_IN_ADDRL0
#define ROTATE_IN_ADDRH0
#define ROTATE_IN_ADDRL1
#define ROTATE_IN_ADDRH1
#define ROTATE_IN_ADDRL2
#define ROTATE_IN_ADDRH2
#define ROTATE_OUT_SIZE
#define ROTATE_OUT_PITCH0
#define ROTATE_OUT_PITCH1
#define ROTATE_OUT_PITCH2
#define ROTATE_OUT_ADDRL0
#define ROTATE_OUT_ADDRH0
#define ROTATE_OUT_ADDRL1
#define ROTATE_OUT_ADDRH1
#define ROTATE_OUT_ADDRL2
#define ROTATE_OUT_ADDRH2

#define ROTATE_BURST_8
#define ROTATE_BURST_16
#define ROTATE_BURST_32
#define ROTATE_BURST_64

#define ROTATE_MODE_COPY_ROTATE

#define ROTATE_FORMAT_ARGB32
#define ROTATE_FORMAT_ABGR32
#define ROTATE_FORMAT_RGBA32
#define ROTATE_FORMAT_BGRA32
#define ROTATE_FORMAT_XRGB32
#define ROTATE_FORMAT_XBGR32
#define ROTATE_FORMAT_RGBX32
#define ROTATE_FORMAT_BGRX32
#define ROTATE_FORMAT_RGB24
#define ROTATE_FORMAT_BGR24
#define ROTATE_FORMAT_RGB565
#define ROTATE_FORMAT_BGR565
#define ROTATE_FORMAT_ARGB4444
#define ROTATE_FORMAT_ABGR4444
#define ROTATE_FORMAT_RGBA4444
#define ROTATE_FORMAT_BGRA4444
#define ROTATE_FORMAT_ARGB1555
#define ROTATE_FORMAT_ABGR1555
#define ROTATE_FORMAT_RGBA5551
#define ROTATE_FORMAT_BGRA5551

#define ROTATE_FORMAT_YUYV
#define ROTATE_FORMAT_UYVY
#define ROTATE_FORMAT_YVYU
#define ROTATE_FORMAT_VYUV
#define ROTATE_FORMAT_NV61
#define ROTATE_FORMAT_NV16
#define ROTATE_FORMAT_YUV422P
#define ROTATE_FORMAT_NV21
#define ROTATE_FORMAT_NV12
#define ROTATE_FORMAT_YUV420P

#define ROTATE_SIZE(w, h)

#define ROTATE_MIN_WIDTH
#define ROTATE_MIN_HEIGHT
#define ROTATE_MAX_WIDTH
#define ROTATE_MAX_HEIGHT

struct rotate_ctx {};

struct rotate_dev {};

#endif