drivers/media/platform/samsung/s3c-camif/camif-regs.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/samsung/s3c-camif/camif-regs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/samsung/s3c-camif/camif-regs.h- Extension
.h- Size
- 11058 bytes
- Lines
- 269
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/bitops.hcamif-core.hmedia/drv-intf/s3c_camif.h
Detected Declarations
function camif_hw_get_status
Annotated Snippet
#ifndef CAMIF_REGS_H_
#define CAMIF_REGS_H_
#include <linux/bitops.h>
#include "camif-core.h"
#include <media/drv-intf/s3c_camif.h>
/*
* The id argument indicates the processing path:
* id = 0 - codec (FIMC C), 1 - preview (FIMC P).
*/
/* Camera input format */
#define S3C_CAMIF_REG_CISRCFMT 0x00
#define CISRCFMT_ITU601_8BIT BIT(31)
#define CISRCFMT_ITU656_8BIT (0 << 31)
#define CISRCFMT_ORDER422_YCBYCR (0 << 14)
#define CISRCFMT_ORDER422_YCRYCB (1 << 14)
#define CISRCFMT_ORDER422_CBYCRY (2 << 14)
#define CISRCFMT_ORDER422_CRYCBY (3 << 14)
#define CISRCFMT_ORDER422_MASK (3 << 14)
#define CISRCFMT_SIZE_CAM_MASK (0x1fff << 16 | 0x1fff)
/* Window offset */
#define S3C_CAMIF_REG_CIWDOFST 0x04
#define CIWDOFST_WINOFSEN BIT(31)
#define CIWDOFST_CLROVCOFIY BIT(30)
#define CIWDOFST_CLROVRLB_PR BIT(28)
/* #define CIWDOFST_CLROVPRFIY BIT(27) */
#define CIWDOFST_CLROVCOFICB BIT(15)
#define CIWDOFST_CLROVCOFICR BIT(14)
#define CIWDOFST_CLROVPRFICB BIT(13)
#define CIWDOFST_CLROVPRFICR BIT(12)
#define CIWDOFST_OFST_MASK (0x7ff << 16 | 0x7ff)
/* Window offset 2 */
#define S3C_CAMIF_REG_CIWDOFST2 0x14
#define CIWDOFST2_OFST2_MASK (0xfff << 16 | 0xfff)
/* Global control */
#define S3C_CAMIF_REG_CIGCTRL 0x08
#define CIGCTRL_SWRST BIT(31)
#define CIGCTRL_CAMRST BIT(30)
#define CIGCTRL_TESTPATTERN_NORMAL (0 << 27)
#define CIGCTRL_TESTPATTERN_COLOR_BAR (1 << 27)
#define CIGCTRL_TESTPATTERN_HOR_INC (2 << 27)
#define CIGCTRL_TESTPATTERN_VER_INC (3 << 27)
#define CIGCTRL_TESTPATTERN_MASK (3 << 27)
#define CIGCTRL_INVPOLPCLK BIT(26)
#define CIGCTRL_INVPOLVSYNC BIT(25)
#define CIGCTRL_INVPOLHREF BIT(24)
#define CIGCTRL_IRQ_OVFEN BIT(22)
#define CIGCTRL_HREF_MASK BIT(21)
#define CIGCTRL_IRQ_LEVEL BIT(20)
/* IRQ_CLR_C, IRQ_CLR_P */
#define CIGCTRL_IRQ_CLR(id) BIT(19 - (id))
#define CIGCTRL_FIELDMODE BIT(2)
#define CIGCTRL_INVPOLFIELD BIT(1)
#define CIGCTRL_CAM_INTERLACE BIT(0)
/* Y DMA output frame start address. n = 0..3. */
#define S3C_CAMIF_REG_CIYSA(id, n) (0x18 + (id) * 0x54 + (n) * 4)
/* Cb plane output DMA start address. n = 0..3. Only codec path. */
#define S3C_CAMIF_REG_CICBSA(id, n) (0x28 + (id) * 0x54 + (n) * 4)
/* Cr plane output DMA start address. n = 0..3. Only codec path. */
#define S3C_CAMIF_REG_CICRSA(id, n) (0x38 + (id) * 0x54 + (n) * 4)
/* CICOTRGFMT, CIPRTRGFMT - Target format */
#define S3C_CAMIF_REG_CITRGFMT(id, _offs) (0x48 + (id) * (0x34 + (_offs)))
#define CITRGFMT_IN422 BIT(31) /* only for s3c24xx */
#define CITRGFMT_OUT422 BIT(30) /* only for s3c24xx */
#define CITRGFMT_OUTFORMAT_YCBCR420 (0 << 29) /* only for s3c6410 */
#define CITRGFMT_OUTFORMAT_YCBCR422 (1 << 29) /* only for s3c6410 */
#define CITRGFMT_OUTFORMAT_YCBCR422I (2 << 29) /* only for s3c6410 */
#define CITRGFMT_OUTFORMAT_RGB (3 << 29) /* only for s3c6410 */
#define CITRGFMT_OUTFORMAT_MASK (3 << 29) /* only for s3c6410 */
#define CITRGFMT_TARGETHSIZE(x) ((x) << 16)
#define CITRGFMT_FLIP_NORMAL (0 << 14)
#define CITRGFMT_FLIP_X_MIRROR (1 << 14)
#define CITRGFMT_FLIP_Y_MIRROR (2 << 14)
#define CITRGFMT_FLIP_180 (3 << 14)
#define CITRGFMT_FLIP_MASK (3 << 14)
/* Preview path only */
#define CITRGFMT_ROT90_PR BIT(13)
#define CITRGFMT_TARGETVSIZE(x) ((x) << 0)
#define CITRGFMT_TARGETSIZE_MASK ((0x1fff << 16) | 0x1fff)
/* CICOCTRL, CIPRCTRL. Output DMA control. */
#define S3C_CAMIF_REG_CICTRL(id, _offs) (0x4c + (id) * (0x34 + (_offs)))
Annotation
- Immediate include surface: `linux/bitops.h`, `camif-core.h`, `media/drv-intf/s3c_camif.h`.
- Detected declarations: `function camif_hw_get_status`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.