drivers/media/platform/samsung/s5p-mfc/regs-mfc-v6.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v6.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/samsung/s5p-mfc/regs-mfc-v6.h
Extension
.h
Size
15614 bytes
Lines
410
Domain
Driver Families
Bucket
drivers/media
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _REGS_FIMV_V6_H
#define _REGS_FIMV_V6_H

#include <linux/kernel.h>
#include <linux/sizes.h>

#define S5P_FIMV_REG_SIZE_V6	(S5P_FIMV_END_ADDR - S5P_FIMV_START_ADDR)
#define S5P_FIMV_REG_COUNT_V6	((S5P_FIMV_END_ADDR - S5P_FIMV_START_ADDR) / 4)

/* Number of bits that the buffer address should be shifted for particular
 * MFC buffers.  */
#define S5P_FIMV_MEM_OFFSET_V6		0

#define S5P_FIMV_START_ADDR_V6		0x0000
#define S5P_FIMV_END_ADDR_V6		0xfd80

#define S5P_FIMV_REG_CLEAR_BEGIN_V6	0xf000
#define S5P_FIMV_REG_CLEAR_COUNT_V6	1024

/* Codec Common Registers */
#define S5P_FIMV_RISC_ON_V6			0x0000
#define S5P_FIMV_RISC2HOST_INT_V6		0x003C
#define S5P_FIMV_HOST2RISC_INT_V6		0x0044
#define S5P_FIMV_RISC_BASE_ADDRESS_V6		0x0054

#define S5P_FIMV_MFC_RESET_V6			0x1070

#define S5P_FIMV_HOST2RISC_CMD_V6		0x1100
#define S5P_FIMV_H2R_CMD_EMPTY_V6		0
#define S5P_FIMV_H2R_CMD_SYS_INIT_V6		1
#define S5P_FIMV_H2R_CMD_OPEN_INSTANCE_V6	2
#define S5P_FIMV_CH_SEQ_HEADER_V6		3
#define S5P_FIMV_CH_INIT_BUFS_V6		4
#define S5P_FIMV_CH_FRAME_START_V6		5
#define S5P_FIMV_H2R_CMD_CLOSE_INSTANCE_V6	6
#define S5P_FIMV_H2R_CMD_SLEEP_V6		7
#define S5P_FIMV_H2R_CMD_WAKEUP_V6		8
#define S5P_FIMV_CH_LAST_FRAME_V6		9
#define S5P_FIMV_H2R_CMD_FLUSH_V6		10
#define S5P_FIMV_H2R_CMD_NAL_ABORT_V6		11
/* RMVME: REALLOC used? */
#define S5P_FIMV_CH_FRAME_START_REALLOC_V6	5

#define S5P_FIMV_RISC2HOST_CMD_V6		0x1104
#define S5P_FIMV_R2H_CMD_EMPTY_V6		0
#define S5P_FIMV_R2H_CMD_SYS_INIT_RET_V6	1
#define S5P_FIMV_R2H_CMD_OPEN_INSTANCE_RET_V6	2
#define S5P_FIMV_R2H_CMD_SEQ_DONE_RET_V6	3
#define S5P_FIMV_R2H_CMD_INIT_BUFFERS_RET_V6	4

#define S5P_FIMV_R2H_CMD_CLOSE_INSTANCE_RET_V6	6
#define S5P_FIMV_R2H_CMD_SLEEP_RET_V6		7
#define S5P_FIMV_R2H_CMD_WAKEUP_RET_V6		8
#define S5P_FIMV_R2H_CMD_COMPLETE_SEQ_RET_V6	9
#define S5P_FIMV_R2H_CMD_DPB_FLUSH_RET_V6	10
#define S5P_FIMV_R2H_CMD_NAL_ABORT_RET_V6	11
#define S5P_FIMV_R2H_CMD_FW_STATUS_RET_V6	12
#define S5P_FIMV_R2H_CMD_FRAME_DONE_RET_V6	13
#define S5P_FIMV_R2H_CMD_FIELD_DONE_RET_V6	14
#define S5P_FIMV_R2H_CMD_SLICE_DONE_RET_V6	15
#define S5P_FIMV_R2H_CMD_ENC_BUFFER_FUL_RET_V6	16
#define S5P_FIMV_R2H_CMD_ERR_RET_V6		32

#define S5P_FIMV_MFC_BUS_RESET_CTRL            0x7110
#define S5P_FIMV_FW_VERSION_V6			0xf000

#define S5P_FIMV_INSTANCE_ID_V6			0xf008
#define S5P_FIMV_CODEC_TYPE_V6			0xf00c
#define S5P_FIMV_CONTEXT_MEM_ADDR_V6		0xf014
#define S5P_FIMV_CONTEXT_MEM_SIZE_V6		0xf018
#define S5P_FIMV_PIXEL_FORMAT_V6		0xf020

#define S5P_FIMV_METADATA_ENABLE_V6		0xf024
#define S5P_FIMV_DBG_BUFFER_ADDR_V6		0xf030
#define S5P_FIMV_DBG_BUFFER_SIZE_V6		0xf034
#define S5P_FIMV_RET_INSTANCE_ID_V6		0xf070

#define S5P_FIMV_ERROR_CODE_V6			0xf074
#define S5P_FIMV_ERR_WARNINGS_START_V6		160
#define S5P_FIMV_ERR_DEC_MASK_V6		0xffff
#define S5P_FIMV_ERR_DEC_SHIFT_V6		0
#define S5P_FIMV_ERR_DSPL_MASK_V6		0xffff0000
#define S5P_FIMV_ERR_DSPL_SHIFT_V6		16

#define S5P_FIMV_DBG_BUFFER_OUTPUT_SIZE_V6	0xf078
#define S5P_FIMV_METADATA_STATUS_V6		0xf07C
#define S5P_FIMV_METADATA_ADDR_MB_INFO_V6	0xf080
#define S5P_FIMV_METADATA_SIZE_MB_INFO_V6	0xf084

/* Decoder Registers */

Annotation

Implementation Notes