drivers/media/platform/ti/vpe/vpe_regs.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/ti/vpe/vpe_regs.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/ti/vpe/vpe_regs.h
Extension
.h
Size
9549 bytes
Lines
307
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 __TI_VPE_REGS_H
#define __TI_VPE_REGS_H

/* VPE register offsets and field selectors */

/* VPE top level regs */
#define VPE_PID				0x0000
#define VPE_PID_MINOR_MASK		0x3f
#define VPE_PID_MINOR_SHIFT		0
#define VPE_PID_CUSTOM_MASK		0x03
#define VPE_PID_CUSTOM_SHIFT		6
#define VPE_PID_MAJOR_MASK		0x07
#define VPE_PID_MAJOR_SHIFT		8
#define VPE_PID_RTL_MASK		0x1f
#define VPE_PID_RTL_SHIFT		11
#define VPE_PID_FUNC_MASK		0xfff
#define VPE_PID_FUNC_SHIFT		16
#define VPE_PID_SCHEME_MASK		0x03
#define VPE_PID_SCHEME_SHIFT		30

#define VPE_SYSCONFIG			0x0010
#define VPE_SYSCONFIG_IDLE_MASK		0x03
#define VPE_SYSCONFIG_IDLE_SHIFT	2
#define VPE_SYSCONFIG_STANDBY_MASK	0x03
#define VPE_SYSCONFIG_STANDBY_SHIFT	4
#define VPE_FORCE_IDLE_MODE		0
#define VPE_NO_IDLE_MODE		1
#define VPE_SMART_IDLE_MODE		2
#define VPE_SMART_IDLE_WAKEUP_MODE	3
#define VPE_FORCE_STANDBY_MODE		0
#define VPE_NO_STANDBY_MODE		1
#define VPE_SMART_STANDBY_MODE		2
#define VPE_SMART_STANDBY_WAKEUP_MODE	3

#define VPE_INT0_STATUS0_RAW_SET	0x0020
#define VPE_INT0_STATUS0_RAW		VPE_INT0_STATUS0_RAW_SET
#define VPE_INT0_STATUS0_CLR		0x0028
#define VPE_INT0_STATUS0		VPE_INT0_STATUS0_CLR
#define VPE_INT0_ENABLE0_SET		0x0030
#define VPE_INT0_ENABLE0		VPE_INT0_ENABLE0_SET
#define VPE_INT0_ENABLE0_CLR		0x0038
#define VPE_INT0_LIST0_COMPLETE		BIT(0)
#define VPE_INT0_LIST0_NOTIFY		BIT(1)
#define VPE_INT0_LIST1_COMPLETE		BIT(2)
#define VPE_INT0_LIST1_NOTIFY		BIT(3)
#define VPE_INT0_LIST2_COMPLETE		BIT(4)
#define VPE_INT0_LIST2_NOTIFY		BIT(5)
#define VPE_INT0_LIST3_COMPLETE		BIT(6)
#define VPE_INT0_LIST3_NOTIFY		BIT(7)
#define VPE_INT0_LIST4_COMPLETE		BIT(8)
#define VPE_INT0_LIST4_NOTIFY		BIT(9)
#define VPE_INT0_LIST5_COMPLETE		BIT(10)
#define VPE_INT0_LIST5_NOTIFY		BIT(11)
#define VPE_INT0_LIST6_COMPLETE		BIT(12)
#define VPE_INT0_LIST6_NOTIFY		BIT(13)
#define VPE_INT0_LIST7_COMPLETE		BIT(14)
#define VPE_INT0_LIST7_NOTIFY		BIT(15)
#define VPE_INT0_DESCRIPTOR		BIT(16)
#define VPE_DEI_FMD_INT			BIT(18)

#define VPE_INT0_STATUS1_RAW_SET	0x0024
#define VPE_INT0_STATUS1_RAW		VPE_INT0_STATUS1_RAW_SET
#define VPE_INT0_STATUS1_CLR		0x002c
#define VPE_INT0_STATUS1		VPE_INT0_STATUS1_CLR
#define VPE_INT0_ENABLE1_SET		0x0034
#define VPE_INT0_ENABLE1		VPE_INT0_ENABLE1_SET
#define VPE_INT0_ENABLE1_CLR		0x003c
#define VPE_INT0_CHANNEL_GROUP0		BIT(0)
#define VPE_INT0_CHANNEL_GROUP1		BIT(1)
#define VPE_INT0_CHANNEL_GROUP2		BIT(2)
#define VPE_INT0_CHANNEL_GROUP3		BIT(3)
#define VPE_INT0_CHANNEL_GROUP4		BIT(4)
#define VPE_INT0_CHANNEL_GROUP5		BIT(5)
#define VPE_INT0_CLIENT			BIT(7)
#define VPE_DEI_ERROR_INT		BIT(16)
#define VPE_DS1_UV_ERROR_INT		BIT(22)

#define VPE_INTC_EOI			0x00a0

#define VPE_CLK_ENABLE			0x0100
#define VPE_VPEDMA_CLK_ENABLE		BIT(0)
#define VPE_DATA_PATH_CLK_ENABLE	BIT(1)

#define VPE_CLK_RESET			0x0104
#define VPE_VPDMA_CLK_RESET_MASK	0x1
#define VPE_VPDMA_CLK_RESET_SHIFT	0
#define VPE_DATA_PATH_CLK_RESET_MASK	0x1
#define VPE_DATA_PATH_CLK_RESET_SHIFT	1
#define VPE_MAIN_RESET_MASK		0x1
#define VPE_MAIN_RESET_SHIFT		31

Annotation

Implementation Notes