drivers/media/i2c/ccs/ccs-limits.h
Source file repositories/reference/linux-study-clean/drivers/media/i2c/ccs/ccs-limits.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/i2c/ccs/ccs-limits.h- Extension
.h- Size
- 10679 bytes
- Lines
- 264
- 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/bits.hlinux/types.h
Detected Declarations
struct ccs_limit
Annotated Snippet
struct ccs_limit {
u32 reg;
u16 size;
u16 flags;
const char *name;
};
#define CCS_L_FL_SAME_REG BIT(0)
extern const struct ccs_limit ccs_limits[];
#define CCS_L_FRAME_FORMAT_MODEL_TYPE 0
#define CCS_L_FRAME_FORMAT_MODEL_SUBTYPE 1
#define CCS_L_FRAME_FORMAT_DESCRIPTOR 2
#define CCS_L_FRAME_FORMAT_DESCRIPTOR_OFFSET(n) ((n) * 2)
#define CCS_L_FRAME_FORMAT_DESCRIPTOR_4 3
#define CCS_L_FRAME_FORMAT_DESCRIPTOR_4_OFFSET(n) ((n) * 4)
#define CCS_L_ANALOG_GAIN_CAPABILITY 4
#define CCS_L_ANALOG_GAIN_CODE_MIN 5
#define CCS_L_ANALOG_GAIN_CODE_MAX 6
#define CCS_L_ANALOG_GAIN_CODE_STEP 7
#define CCS_L_ANALOG_GAIN_TYPE 8
#define CCS_L_ANALOG_GAIN_M0 9
#define CCS_L_ANALOG_GAIN_C0 10
#define CCS_L_ANALOG_GAIN_M1 11
#define CCS_L_ANALOG_GAIN_C1 12
#define CCS_L_ANALOG_LINEAR_GAIN_MIN 13
#define CCS_L_ANALOG_LINEAR_GAIN_MAX 14
#define CCS_L_ANALOG_LINEAR_GAIN_STEP_SIZE 15
#define CCS_L_ANALOG_EXPONENTIAL_GAIN_MIN 16
#define CCS_L_ANALOG_EXPONENTIAL_GAIN_MAX 17
#define CCS_L_ANALOG_EXPONENTIAL_GAIN_STEP_SIZE 18
#define CCS_L_DATA_FORMAT_MODEL_TYPE 19
#define CCS_L_DATA_FORMAT_MODEL_SUBTYPE 20
#define CCS_L_DATA_FORMAT_DESCRIPTOR 21
#define CCS_L_DATA_FORMAT_DESCRIPTOR_OFFSET(n) ((n) * 2)
#define CCS_L_INTEGRATION_TIME_CAPABILITY 22
#define CCS_L_COARSE_INTEGRATION_TIME_MIN 23
#define CCS_L_COARSE_INTEGRATION_TIME_MAX_MARGIN 24
#define CCS_L_FINE_INTEGRATION_TIME_MIN 25
#define CCS_L_FINE_INTEGRATION_TIME_MAX_MARGIN 26
#define CCS_L_DIGITAL_GAIN_CAPABILITY 27
#define CCS_L_DIGITAL_GAIN_MIN 28
#define CCS_L_DIGITAL_GAIN_MAX 29
#define CCS_L_DIGITAL_GAIN_STEP_SIZE 30
#define CCS_L_PEDESTAL_CAPABILITY 31
#define CCS_L_ADC_CAPABILITY 32
#define CCS_L_ADC_BIT_DEPTH_CAPABILITY 33
#define CCS_L_MIN_EXT_CLK_FREQ_MHZ 34
#define CCS_L_MAX_EXT_CLK_FREQ_MHZ 35
#define CCS_L_MIN_PRE_PLL_CLK_DIV 36
#define CCS_L_MAX_PRE_PLL_CLK_DIV 37
#define CCS_L_MIN_PLL_IP_CLK_FREQ_MHZ 38
#define CCS_L_MAX_PLL_IP_CLK_FREQ_MHZ 39
#define CCS_L_MIN_PLL_MULTIPLIER 40
#define CCS_L_MAX_PLL_MULTIPLIER 41
#define CCS_L_MIN_PLL_OP_CLK_FREQ_MHZ 42
#define CCS_L_MAX_PLL_OP_CLK_FREQ_MHZ 43
#define CCS_L_MIN_VT_SYS_CLK_DIV 44
#define CCS_L_MAX_VT_SYS_CLK_DIV 45
#define CCS_L_MIN_VT_SYS_CLK_FREQ_MHZ 46
#define CCS_L_MAX_VT_SYS_CLK_FREQ_MHZ 47
#define CCS_L_MIN_VT_PIX_CLK_FREQ_MHZ 48
#define CCS_L_MAX_VT_PIX_CLK_FREQ_MHZ 49
#define CCS_L_MIN_VT_PIX_CLK_DIV 50
#define CCS_L_MAX_VT_PIX_CLK_DIV 51
#define CCS_L_CLOCK_CALCULATION 52
#define CCS_L_NUM_OF_VT_LANES 53
#define CCS_L_NUM_OF_OP_LANES 54
#define CCS_L_OP_BITS_PER_LANE 55
#define CCS_L_MIN_FRAME_LENGTH_LINES 56
#define CCS_L_MAX_FRAME_LENGTH_LINES 57
#define CCS_L_MIN_LINE_LENGTH_PCK 58
#define CCS_L_MAX_LINE_LENGTH_PCK 59
#define CCS_L_MIN_LINE_BLANKING_PCK 60
#define CCS_L_MIN_FRAME_BLANKING_LINES 61
#define CCS_L_MIN_LINE_LENGTH_PCK_STEP_SIZE 62
#define CCS_L_TIMING_MODE_CAPABILITY 63
#define CCS_L_FRAME_MARGIN_MAX_VALUE 64
#define CCS_L_FRAME_MARGIN_MIN_VALUE 65
#define CCS_L_GAIN_DELAY_TYPE 66
#define CCS_L_MIN_OP_SYS_CLK_DIV 67
#define CCS_L_MAX_OP_SYS_CLK_DIV 68
#define CCS_L_MIN_OP_SYS_CLK_FREQ_MHZ 69
#define CCS_L_MAX_OP_SYS_CLK_FREQ_MHZ 70
#define CCS_L_MIN_OP_PIX_CLK_DIV 71
#define CCS_L_MAX_OP_PIX_CLK_DIV 72
#define CCS_L_MIN_OP_PIX_CLK_FREQ_MHZ 73
#define CCS_L_MAX_OP_PIX_CLK_FREQ_MHZ 74
#define CCS_L_X_ADDR_MIN 75
Annotation
- Immediate include surface: `linux/bits.h`, `linux/types.h`.
- Detected declarations: `struct ccs_limit`.
- 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.