drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h
Extension
.h
Size
17106 bytes
Lines
419
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 __IMX8_ISI_REGS_H__
#define __IMX8_ISI_REGS_H__

#include <linux/bits.h>

/* ISI Registers Define  */
/* Channel Control Register */
#define CHNL_CTRL						0x0000
#define CHNL_CTRL_CHNL_EN					BIT(31)
#define CHNL_CTRL_CLK_EN					BIT(30)
#define CHNL_CTRL_CHNL_BYPASS					BIT(29)
#define CHNL_CTRL_CHAIN_BUF(n)					((n) << 25)
#define CHNL_CTRL_CHAIN_BUF_MASK				GENMASK(26, 25)
#define CHNL_CTRL_CHAIN_BUF_NO_CHAIN				0
#define CHNL_CTRL_CHAIN_BUF_2_CHAIN				1
#define CHNL_CTRL_SW_RST					BIT(24)
#define CHNL_CTRL_BLANK_PXL(n)					((n) << 16)
#define CHNL_CTRL_BLANK_PXL_MASK				GENMASK(23, 16)
#define CHNL_CTRL_MIPI_VC_ID(n)					((n) << 6)
#define CHNL_CTRL_MIPI_VC_ID_MASK				GENMASK(7, 6)
#define CHNL_CTRL_SRC_TYPE(n)					((n) << 4)
#define CHNL_CTRL_SRC_TYPE_MASK					BIT(4)
#define CHNL_CTRL_SRC_TYPE_DEVICE				0
#define CHNL_CTRL_SRC_TYPE_MEMORY				1
#define CHNL_CTRL_SRC_INPUT(n)					((n) << 0)
#define CHNL_CTRL_SRC_INPUT_MASK				GENMASK(2, 0)

/* Channel Image Control Register */
#define CHNL_IMG_CTRL						0x0004
#define CHNL_IMG_CTRL_FORMAT(n)					((n) << 24)
#define CHNL_IMG_CTRL_FORMAT_MASK				GENMASK(29, 24)
#define CHNL_IMG_CTRL_FORMAT_RGBA8888				0x00
#define CHNL_IMG_CTRL_FORMAT_ABGR8888				0x01
#define CHNL_IMG_CTRL_FORMAT_ARGB8888				0x02
#define CHNL_IMG_CTRL_FORMAT_RGBX888				0x03
#define CHNL_IMG_CTRL_FORMAT_XBGR888				0x04
#define CHNL_IMG_CTRL_FORMAT_XRGB888				0x05
#define CHNL_IMG_CTRL_FORMAT_RGB888P				0x06
#define CHNL_IMG_CTRL_FORMAT_BGR888P				0x07
#define CHNL_IMG_CTRL_FORMAT_A2BGR10				0x08
#define CHNL_IMG_CTRL_FORMAT_A2RGB10				0x09
#define CHNL_IMG_CTRL_FORMAT_RGB565				0x0a
#define CHNL_IMG_CTRL_FORMAT_RAW8				0x0b
#define CHNL_IMG_CTRL_FORMAT_RAW10				0x0c
#define CHNL_IMG_CTRL_FORMAT_RAW10P				0x0d
#define CHNL_IMG_CTRL_FORMAT_RAW12				0x0e
#define CHNL_IMG_CTRL_FORMAT_RAW16				0x0f
#define CHNL_IMG_CTRL_FORMAT_YUV444_1P8P			0x10
#define CHNL_IMG_CTRL_FORMAT_YUV444_2P8P			0x11
#define CHNL_IMG_CTRL_FORMAT_YUV444_3P8P			0x12
#define CHNL_IMG_CTRL_FORMAT_YUV444_1P8				0x13
#define CHNL_IMG_CTRL_FORMAT_YUV444_1P10			0x14
#define CHNL_IMG_CTRL_FORMAT_YUV444_2P10			0x15
#define CHNL_IMG_CTRL_FORMAT_YUV444_3P10			0x16
#define CHNL_IMG_CTRL_FORMAT_YUV444_1P10P			0x18
#define CHNL_IMG_CTRL_FORMAT_YUV444_2P10P			0x19
#define CHNL_IMG_CTRL_FORMAT_YUV444_3P10P			0x1a
#define CHNL_IMG_CTRL_FORMAT_YUV444_1P12			0x1c
#define CHNL_IMG_CTRL_FORMAT_YUV444_2P12			0x1d
#define CHNL_IMG_CTRL_FORMAT_YUV444_3P12			0x1e
#define CHNL_IMG_CTRL_FORMAT_YUV422_1P8P			0x20
#define CHNL_IMG_CTRL_FORMAT_YUV422_2P8P			0x21
#define CHNL_IMG_CTRL_FORMAT_YUV422_3P8P			0x22
#define CHNL_IMG_CTRL_FORMAT_YUV422_1P10			0x24
#define CHNL_IMG_CTRL_FORMAT_YUV422_2P10			0x25
#define CHNL_IMG_CTRL_FORMAT_YUV422_3P10			0x26
#define CHNL_IMG_CTRL_FORMAT_YUV422_1P10P			0x28
#define CHNL_IMG_CTRL_FORMAT_YUV422_2P10P			0x29
#define CHNL_IMG_CTRL_FORMAT_YUV422_3P10P			0x2a
#define CHNL_IMG_CTRL_FORMAT_YUV422_1P12			0x2c
#define CHNL_IMG_CTRL_FORMAT_YUV422_2P12			0x2d
#define CHNL_IMG_CTRL_FORMAT_YUV422_3P12			0x2e
#define CHNL_IMG_CTRL_FORMAT_YUV420_2P8P			0x31
#define CHNL_IMG_CTRL_FORMAT_YUV420_3P8P			0x32
#define CHNL_IMG_CTRL_FORMAT_YUV420_2P10			0x35
#define CHNL_IMG_CTRL_FORMAT_YUV420_3P10			0x36
#define CHNL_IMG_CTRL_FORMAT_YUV420_2P10P			0x39
#define CHNL_IMG_CTRL_FORMAT_YUV420_3P10P			0x3a
#define CHNL_IMG_CTRL_FORMAT_YUV420_2P12			0x3d
#define CHNL_IMG_CTRL_FORMAT_YUV420_3P12			0x3e
#define CHNL_IMG_CTRL_GBL_ALPHA_VAL(n)				((n) << 16)
#define CHNL_IMG_CTRL_GBL_ALPHA_VAL_MASK			GENMASK(23, 16)
#define CHNL_IMG_CTRL_GBL_ALPHA_EN				BIT(15)
#define CHNL_IMG_CTRL_DEINT(n)					((n) << 12)
#define CHNL_IMG_CTRL_DEINT_MASK				GENMASK(14, 12)
#define CHNL_IMG_CTRL_DEINT_WEAVE_ODD_EVEN			2
#define CHNL_IMG_CTRL_DEINT_WEAVE_EVEN_ODD			3
#define CHNL_IMG_CTRL_DEINT_BLEND_ODD_EVEN			4
#define CHNL_IMG_CTRL_DEINT_BLEND_EVEN_ODD			5
#define CHNL_IMG_CTRL_DEINT_LDOUBLE_ODD_EVEN			6

Annotation

Implementation Notes