drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c

Source file repositories/reference/linux-study-clean/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
Extension
.c
Size
49675 bytes
Lines
1278
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

struct csiphy_lane_regs {
	s32 reg_addr;
	s32 reg_data;
	u32 delay_us;
	u32 csiphy_param_type;
};

/* 5nm 2PH v 1.3.0 2p5Gbps 4 lane DPHY mode */
static const struct
csiphy_lane_regs lane_regs_sa8775p[] = {
	{0x0724, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x070C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x072C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0734, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x071C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0714, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x073C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0704, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0720, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0708, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
	{0x0024, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0000, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
	{0x0224, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0200, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x022C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0234, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x021C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0214, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x023C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0204, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0220, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0208, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
	{0x0424, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0400, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0408, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
	{0x0624, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0600, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x062C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0634, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x061C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0614, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x063C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0604, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0620, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0608, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
	{0x005C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0060, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0064, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x025C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0260, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0264, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x045C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0460, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0464, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x065C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0660, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS},
	{0x0664, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
};

/* GEN2 1.0 2PH */
static const struct
csiphy_lane_regs lane_regs_sdm845[] = {
	{0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},

Annotation

Implementation Notes