brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · 61c60e4 Raw
92 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (c) 2019 MediaTek Inc.4 * Author: Xia Jiang <xia.jiang@mediatek.com>5 *6 */7 8#ifndef _MTK_JPEG_ENC_HW_H9#define _MTK_JPEG_ENC_HW_H10 11#include <media/videobuf2-core.h>12 13#include "mtk_jpeg_core.h"14 15#define JPEG_ENC_INT_STATUS_DONE	BIT(0)16#define JPEG_ENC_INT_STATUS_MASK_ALLIRQ	0x1317 18#define JPEG_ENC_DST_ADDR_OFFSET_MASK	GENMASK(3, 0)19 20#define JPEG_ENC_CTRL_YUV_FORMAT_MASK	0x1821#define JPEG_ENC_CTRL_RESTART_EN_BIT	BIT(10)22#define JPEG_ENC_CTRL_FILE_FORMAT_BIT	BIT(5)23#define JPEG_ENC_CTRL_INT_EN_BIT	BIT(2)24#define JPEG_ENC_CTRL_ENABLE_BIT	BIT(0)25#define JPEG_ENC_RESET_BIT		BIT(0)26 27#define JPEG_ENC_YUV_FORMAT_YUYV	028#define JPEG_ENC_YUV_FORMAT_YVYU	129#define JPEG_ENC_YUV_FORMAT_NV12	230#define JEPG_ENC_YUV_FORMAT_NV21	331 32#define JPEG_ENC_QUALITY_Q60		0x033#define JPEG_ENC_QUALITY_Q80		0x134#define JPEG_ENC_QUALITY_Q90		0x235#define JPEG_ENC_QUALITY_Q95		0x336#define JPEG_ENC_QUALITY_Q39		0x437#define JPEG_ENC_QUALITY_Q68		0x538#define JPEG_ENC_QUALITY_Q84		0x639#define JPEG_ENC_QUALITY_Q92		0x740#define JPEG_ENC_QUALITY_Q48		0x841#define JPEG_ENC_QUALITY_Q74		0xa42#define JPEG_ENC_QUALITY_Q87		0xb43#define JPEG_ENC_QUALITY_Q34		0xc44#define JPEG_ENC_QUALITY_Q64		0xe45#define JPEG_ENC_QUALITY_Q82		0xf46#define JPEG_ENC_QUALITY_Q97		0x1047 48#define JPEG_ENC_RSTB			0x10049#define JPEG_ENC_CTRL			0x10450#define JPEG_ENC_QUALITY		0x10851#define JPEG_ENC_BLK_NUM		0x10C52#define JPEG_ENC_BLK_CNT		0x11053#define JPEG_ENC_INT_STS		0x11c54#define JPEG_ENC_DST_ADDR0		0x12055#define JPEG_ENC_DMA_ADDR0		0x12456#define JPEG_ENC_STALL_ADDR0		0x12857#define JPEG_ENC_OFFSET_ADDR		0x13858#define JPEG_ENC_RST_MCU_NUM		0x15059#define JPEG_ENC_IMG_SIZE		0x15460#define JPEG_ENC_DEBUG_INFO0		0x16061#define JPEG_ENC_DEBUG_INFO1		0x16462#define JPEG_ENC_TOTAL_CYCLE		0x16863#define JPEG_ENC_BYTE_OFFSET_MASK	0x16c64#define JPEG_ENC_SRC_LUMA_ADDR		0x17065#define JPEG_ENC_SRC_CHROMA_ADDR	0x17466#define JPEG_ENC_STRIDE			0x17867#define JPEG_ENC_IMG_STRIDE		0x17c68#define JPEG_ENC_DCM_CTRL		0x30069#define JPEG_ENC_CODEC_SEL		0x31470#define JPEG_ENC_ULTRA_THRES		0x31871 72/**73 * struct mtk_jpeg_enc_qlt - JPEG encoder quality data74 * @quality_param:	quality value75 * @hardware_value:	hardware value of quality76 */77struct mtk_jpeg_enc_qlt {78	u8	quality_param;79	u8	hardware_value;80};81 82void mtk_jpeg_enc_reset(void __iomem *base);83u32 mtk_jpeg_enc_get_file_size(void __iomem *base);84void mtk_jpeg_enc_start(void __iomem *enc_reg_base);85void mtk_jpeg_set_enc_src(struct mtk_jpeg_ctx *ctx,  void __iomem *base,86			  struct vb2_buffer *src_buf);87void mtk_jpeg_set_enc_dst(struct mtk_jpeg_ctx *ctx, void __iomem *base,88			  struct vb2_buffer *dst_buf);89void mtk_jpeg_set_enc_params(struct mtk_jpeg_ctx *ctx,  void __iomem *base);90 91#endif /* _MTK_JPEG_ENC_HW_H */92