drivers/media/platform/amlogic/meson-ge2d/ge2d-regs.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/amlogic/meson-ge2d/ge2d-regs.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/amlogic/meson-ge2d/ge2d-regs.h
Extension
.h
Size
13176 bytes
Lines
361
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 __GE2D_REGS__
#define __GE2D_REGS__

/* Registers starts at (GE2D_REG(0x8a0 * 4) */
#define GE2D_REG(x) ((0x8a0 + (x)) * 4)

#define GE2D_GEN_CTRL0 GE2D_REG(0x00)

#define GE2D_DST_BYTEMASK_ONLY		BIT(31)
#define GE2D_DST_BITMASK_EN		BIT(30)
#define GE2D_SRC2_KEY_EN		BIT(29)
#define GE2D_SRC2_KEY_MODE		BIT(28)
#define GE2D_SRC1_KEY_EN		BIT(27)
#define GE2D_SRC1_KEY_MODE		BIT(26)
#define GE2D_DST1_8B_MODE_SEL		GENMASK(25, 24)
#define GE2D_DST_CLIP_MODE		BIT(23)
#define GE2D_SRC2_8B_MODE_SEL		GENMASK(16, 15)
#define GE2D_SRC2_FILL_MODE		BIT(14)
#define GE2D_SRC2_PIC_STRUCT		GENMASK(13, 12)
#define GE2D_SRC2_X_YC_RATIO		BIT(11)
#define GE2D_SRC1_8B_MODE_SEL		GENMASK(6, 5)
#define GE2D_SRC1_FILL_MODE		BIT(4)
#define GE2D_SRC1_LUT_EN		BIT(3)
#define GE2D_SRC1_PIC_STRUCT		GENMASK(2, 1)

#define GE2D_GEN_CTRL1 GE2D_REG(0x01)

#define GE2D_SOFT_RST			BIT(31)
#define GE2D_DST_WRITE_RESP_CNT_RST	BIT(30)
#define GE2D_DST_WRITE_RESP_CNT_ADD_DIS	BIT(29)
#define GE2D_COLOR_CONVERSION_MODE1	BIT(26)
#define GE2D_INTERRUPT_CTRL		GENMASK(25, 24)
#define GE2D_SRC2_BURST_SIZE_CTRL	GENMASK(23, 22)
#define GE2D_SRC1_BURST_SIZE_CTRL	GENMASK(21, 16)
#define GE2D_DST1_PIC_STRUCT		GENMASK(15, 14)
#define GE2D_SRC_RD_CTRL		GENMASK(13, 12)
#define GE2D_DST2_URGENT_EN		BIT(11)
#define GE2D_SRC1_URGENT_EN		BIT(10)
#define GE2D_SRC2_URGENT_EN		BIT(9)
#define GE2D_DST1_URGENT_EN		BIT(8)
#define GE2D_SRC1_GB_ALPHA		GENMASK(7, 0)

#define GE2D_GEN_CTRL2 GE2D_REG(0x02)

#define GE2D_ALPHA_CONVERSION_MODE0	BIT(31)
#define GE2D_COLOR_CONVERSION_MODE0	BIT(30)
#define GE2D_SRC1_GB_ALPHA_EN		BIT(29)
#define GE2D_DST1_COLOR_ROUND_MODE	BIT(28)
#define GE2D_SRC2_COLOR_EXPAND_MODE	BIT(27)
#define GE2D_SRC2_ALPHA_EXPAND_MODE	BIT(26)
#define GE2D_SRC1_COLOR_EXPAND_MODE	BIT(25)
#define GE2D_SRC1_ALPHA_EXPAND_MODE	BIT(24)
#define GE2D_DST_LITTLE_ENDIAN		BIT(23)
#define GE2D_DST1_COLOR_MAP		GENMASK(22, 19)
#define GE2D_ALU_MULT_MODE		BIT(18)
#define GE2D_DST1_FORMAT		GENMASK(17, 16)
#define GE2D_SRC2_LITTLE_ENDIAN		BIT(15)
#define GE2D_SRC2_COLOR_MAP		GENMASK(14, 11)
#define GE2D_ALPHA_CONVERSION_MODE1	BIT(10)
#define GE2D_SRC2_FORMAT		GENMASK(9, 8)
#define GE2D_SRC1_LITTLE_ENDIAN		BIT(7)
#define GE2D_SRC1_COLOR_MAP		GENMASK(6, 3)
#define GE2D_SRC1_DEEPCOLOR		BIT(2)
#define GE2D_SRC1_FORMAT		GENMASK(1, 0)

#define GE2D_FORMAT_8BIT	0
#define GE2D_FORMAT_16BIT	1
#define GE2D_FORMAT_24BIT	2
#define GE2D_FORMAT_32BIT	3

/* 16 bit */
#define GE2D_COLOR_MAP_YUV422		0
#define GE2D_COLOR_MAP_RGB655		1
#define GE2D_COLOR_MAP_YUV655		1
#define GE2D_COLOR_MAP_RGB844		2
#define GE2D_COLOR_MAP_YUV844		2
#define GE2D_COLOR_MAP_RGBA6442		3
#define GE2D_COLOR_MAP_YUVA6442		3
#define GE2D_COLOR_MAP_RGBA4444		4
#define GE2D_COLOR_MAP_YUVA4444		4
#define GE2D_COLOR_MAP_RGB565		5
#define GE2D_COLOR_MAP_YUV565		5
#define GE2D_COLOR_MAP_ARGB4444		6
#define GE2D_COLOR_MAP_AYUV4444		6
#define GE2D_COLOR_MAP_ARGB1555		7
#define GE2D_COLOR_MAP_AYUV1555		7
#define GE2D_COLOR_MAP_RGBA4642		8
#define GE2D_COLOR_MAP_YUVA4642		8

/* 24 bit */

Annotation

Implementation Notes