User Tools

Site Tools


soc_camera

주요 구조체

  • soc_camera_device - soc_camera의 구현부의 _probe에서 채움

soc_camera는 i2c_driver의 일종으로 취급. 예:

static struct i2c_driver mt9m001_i2c_driver = {
	.driver = {
		.name = "mt9m001",
	},
	.probe		= mt9m001_probe,
	.remove		= mt9m001_remove,
	.id_table	= mt9m001_id,
};

icl은 arch/arm/mach-pxa/보드이름.c 에서 정의/구현됨 예. pcm990-baseboard.c march-rfidc100.c ???

static struct soc_camera_link iclink = {
	.bus_id	= 0, /* Must match with the camera ID above */
	.query_bus_param = pcm990_camera_query_bus_param,
	.set_bus_param = pcm990_camera_set_bus_param,
	.free_bus = pcm990_camera_free_bus,
};

이게 i2c의 platform_data로 묶여 들어감.

/* Board I2C devices. */
static struct i2c_board_info __initdata pcm990_i2c_devices[] = {
	{
		/* Must initialize before the camera(s) */
		I2C_BOARD_INFO("pca9536", 0x41),
		.platform_data = &pca9536_data,
	}, {
		I2C_BOARD_INFO("mt9v022", 0x48),
		.platform_data = &iclink, /* With extender */
	}, {
		I2C_BOARD_INFO("mt9m001", 0x5d),
		.platform_data = &iclink, /* With extender */
	},
};
soc_camera.txt · Last modified: 2013/08/03 05:04 (external edit)