drivers/gpu/drm/amd/display/dc/gpio/ddc_regs.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/gpio/ddc_regs.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/gpio/ddc_regs.h
Extension
.h
Size
5667 bytes
Lines
202
Domain
Driver Families
Bucket
drivers/gpu
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 ddc_registers {
	struct gpio_registers gpio;
	uint32_t ddc_setup;
	uint32_t phy_aux_cntl;
	uint32_t dc_gpio_aux_ctrl_5;
};

struct ddc_sh_mask {
	/* i2c_dd_setup */
	uint32_t DC_I2C_DDC1_ENABLE;
	uint32_t DC_I2C_DDC1_EDID_DETECT_ENABLE;
	uint32_t DC_I2C_DDC1_EDID_DETECT_MODE;
	/* ddc1_mask */
	uint32_t DC_GPIO_DDC1DATA_PD_EN;
	uint32_t DC_GPIO_DDC1CLK_PD_EN;
	uint32_t AUX_PAD1_MODE;
	/* i2cpad_mask */
	uint32_t DC_GPIO_SDA_PD_DIS;
	uint32_t DC_GPIO_SCL_PD_DIS;
	//phy_aux_cntl
	uint32_t AUX_PAD_RXSEL;
	uint32_t DDC_PAD_I2CMODE;
};



/*** following in dc_resource */

#define ddc_data_regs(id) \
{\
	DDC_REG_LIST(DATA, id)\
}

#define ddc_clk_regs(id) \
{\
	DDC_REG_LIST(CLK, id)\
}

#define ddc_vga_data_regs \
{\
	DDC_VGA_REG_LIST(DATA)\
}

#define ddc_vga_clk_regs \
{\
	DDC_VGA_REG_LIST(CLK)\
}

#define ddc_i2c_data_regs \
{\
	DDC_I2C_REG_LIST(SDA)\
}

#define ddc_i2c_clk_regs \
{\
	DDC_I2C_REG_LIST(SCL)\
}
#define ddc_data_regs_dcn2(id) \
{\
	DDC_REG_LIST_DCN2(DATA, id)\
}

#define ddc_clk_regs_dcn2(id) \
{\
	DDC_REG_LIST_DCN2(CLK, id)\
}

#define ddc_i2c_data_regs_dcn2 \
{\
	DDC_I2C_REG_LIST_DCN2(SDA)\
}

#define ddc_i2c_clk_regs_dcn2 \
{\
	DDC_REG_LIST_DCN2(SCL)\
}


#endif /* DRIVERS_GPU_DRM_AMD_DC_DEV_DC_GPIO_DDC_REGS_H_ */

Annotation

Implementation Notes