Hello Stefan, I can send you my code tomorrow. Meanwhile a short hint, that may help you: The mt9p031 needs a not only the i2c clock to work but also the cam_clk signals. Right now this is hacked into the isp-driver in my setup but I want to do it like the nokia code (pass a clock-setup function defined in the board-code to the sensor driver, so that the driver can setup the clock itself before i2c-checking is done). best greetings, Bastian 2010/12/1 Stefan Steuerwald <salsasepp@xxxxxxxxxxxxxx>: > Hi, > > may I please have your help with the following: > > I have adapted the MT9T001 driver from Laurent's tree at > http://git.linuxtv.org/pinchartl/media.git?a=shortlog;h=refs/heads/media-mt9t001 > to the current state of the media-framework in this kernel tree (devel branch): > http://meego.gitorious.org/maemo-multimedia/omap3isp-rx51 > to run this on a gumstix overo (OMAP3) board. > (Duplicating Bastian's recent work, I know, but he's on hoilday...). > > The mt9t001 driver module loads and probes ok, however, the creation > of a v4l2 subdev > for the sensor fails (i2c says -EBUSY, see below). It seems to choke > on the fact that the > sensor's I2C address of 0x5D is already in use after loading the > mt9t001 module, > which I think is fine: > > root@overo:~# modprobe iommu2 > omap-iommu omap-iommu.0: isp registered > > root@overo:~# modprobe omap3-isp > Linux media interface: v0.10 > Linux video capture interface: v2.00 > omap3isp omap3isp: Revision 2.0 found > omap-iommu omap-iommu.0: isp: version 1.1 > isp_register_subdev_group: i2c_adapter_id 3, type mt9t001, i2c_addr 93 > mt9t001 3-005d: mt9t001_probe() > mt9t001 3-005d: mt9t001_video_probe() > mt9t001 3-005d: MT9T001 detected > v4l2_i2c_new_subdev_board: info->addr=0x5d, probe_addrs=(null) > i2c i2c-3: Failed to register i2c client mt9t001 at 0x5d (-16) > isp_register_subdev_group: Unable to register subdev mt9t001 > > This creates these subdevs: > root@overo:~# cat /sys/class/video4linux/v4l-subdev*/name > OMAP3 ISP CCP2 > OMAP3 ISP CSI2a > OMAP3 ISP CCDC > OMAP3 ISP preview > OMAP3 ISP resizer > OMAP3 ISP AEWB > OMAP3 ISP AF > OMAP3 ISP histogram > which has the sensor missing, I believe. > > I am using platform_device_register() in my > arch/arm/mach-omap2/board-overo.c file > to register my iof_isp_platform_data as follows: > > static struct i2c_board_info overo_i2c_boardinfo_3[] = { > { > I2C_BOARD_INFO("mt9t001", 0x5d), > }, > }; > > static struct v4l2_subdev_i2c_board_info iof_camera_mt9t001[] = { > { > .board_info = &overo_i2c_boardinfo_3[0], > .i2c_adapter_id = 3, > }, > { NULL, 0, }, > }; > > static struct isp_v4l2_subdevs_group iof_camera_subdevs[] = { > { > .subdevs = iof_camera_mt9t001, > .interface = ISP_INTERFACE_PARALLEL, > .bus = { .parallel = { > .data_lane_shift = 0, > .clk_pol = 1, > .bridge = ISPCTRL_PAR_BRIDGE_DISABLE, > } }, > }, > { NULL, 0, }, > }; > > static struct isp_platform_data iof_isp_platform_data = { > .subdevs = iof_camera_subdevs, > }; > > I have followed the recent conversation between Bastian, Laurent and > others on the > similar subject of a mt9p031 driver used with omap3-isp. > Any pointers on what to check are greatly appreciated. > > Thank you, > Stefan. > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html