This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem with TVP5150 and ISP

Other Parts Discussed in Thread: DM3730, TVP5150

BACKGROUND:

hacking a kernel supplied by my DM3730 hardware vendor.

Linux DM-37x 3.0.0-BSP-dm37x-2.0-4SLA #62 Wed Apr 4 14:23:05 PDT 2012 armv7l GNU/Linux

TVP5150 is compiled as a kernel module (different problems when it is compiled in).

the 5150 sits on the I2C-2 bus

Modified my board file to initialize camera support:

omap3_init_camera(&sla1500_isp_platform_data);

...

static struct i2c_board_info omap3logic_i2c2_boardinfo[] =
{
        {
         I2C_BOARD_INFO("tvp5150", 0x5d),
        },
};

static struct isp_subdev_i2c_board_info sla1500_tvp5150_subdevs[] = {
    {
        .board_info    = omap3logic_i2c2_boardinfo,
        .i2c_adapter_id    = TVP5150_I2C_BUS_NUM,
    },
    { NULL, 0 },
};

static struct isp_v4l2_subdevs_group sla1500_camera_subdevs[] = {
    {
        .subdevs    = sla1500_tvp5150_subdevs,
        .interface    = ISP_INTERFACE_PARALLEL,
        .bus        = {
          .parallel = {
         .data_lane_shift = 0,
         .clk_pol = 0,
            },
        },
    },
    { },
};

static struct isp_platform_data sla1500_isp_platform_data = {
    .subdevs = sla1500_camera_subdevs,
};

KERNEL LOG:

...

[    0.273590] omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz
[    0.289184] omap_i2c omap_i2c.3: bus 3 rev4.0 at 400 kHz
...
[    0.305908] sla1500 camera init done successfully...  // where I call
[    0.306884] omap-iommu omap-iommu.0: isp registered
...

[    2.687622] i2c /dev entries driver
[    2.692047] Linux media interface: v0.10
[    2.696228] Linux video capture interface: v2.00
[    2.701599] omap3isp omap3isp: Revision 15.0 found
[    2.706726] omap-iommu omap-iommu.0: isp: version 1.1
[    2.712219] omap3isp omap3isp: hist: DMA channel = 1
[    2.720092] isp_register_subdev_group: Unable to register subdev tvp5150
[    2.729034] vpfe_init

OTHER INFO:

I can query the TVP5150 over the I2C bus from the command line, so I know it is there and functioning properly.


QUESTION:

Why would it be unable to register the subdevices?

  • Couple of things,

     - Is your I2C address correct?

     - May be I2C communication is failing.

     - Have you modified TVP5150 driver? I believe you are using 2.6.32 kernel based PSP release, right? Can you trace, why TVP5150 probe function is failing?

    Thanks,

    Vaibhav

  • My I2C address is correct.  I verify this by using i2cdetect from the command line (when no ISP is initialized in the kernel)

    My I2C communication is not failing.  I can use the i2cget and i2cset functions from the command line (when no ISP is initialized in the kernel)