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.

C6A8168 EVM, EZSDK5.03.1.15,Problem with loading ti81xxvin.ko

Other Parts Discussed in Thread: TVP7002

Hi, all.

After system boot I tried to load ti81xxvin.ko and got messages :

Arago Project http://arago-project.org dm816x-evm ttyO2

 

Arago 2011.09 dm816x-evm ttyO2

 

dm816x-evm login: root

root@dm816x-evm:~# insmod /lib/modules/2.6.37/kernel/drivers/media/video/tvp7002.ko

root@dm816x-evm:~# insmod /lib/modules/2.6.37/kernel/drivers/media/video/ti81xx/ti81xxvin.ko

tvp7002 2-005d: tvp7002 found @ 0x5d (OMAP I2C adapter)

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

tvp7002 2-005d: TVP7002 read error -110

tvp7002: probe of 2-005d failed with error -110

ti81xxvin ti81xxvin: Error registering v4l2 subdevice

root@dm816x-evm:~#

syslink kernel driver module,M3 BIOS Firmware binary and VPSS kernel driver module are loaded during system boot, so all prerequisites for loading ti81xxvin.ko has beenmet.

Any propositions?

Thanks.

  • In addition to previous post

    When I stopped Matrix GUI application, problem persists.

     

    Arago Project http://arago-project.org dm816x-evm ttyO2

     

    Arago 2011.09 dm816x-evm ttyO2

     

    dm816x-evm login: root

    root@dm816x-evm:~# /etc/init.d/matrix-gui-e stop

    Stopping Matrix GUI application.

    root@dm816x-evm:~# insmod /lib/modules/2.6.37/kernel/drivers/media/video/tvp7002.ko

    root@dm816x-evm:~# insmod /lib/modules/2.6.37/kernel/drivers/media/video/ti81xx/ti81xxvin.ko

    tvp7002 2-005d: tvp7002 found @ 0x5d (OMAP I2C adapter)

    tvp7002 2-005d: Rev. 00 detected.

    tvp7002 2-005d: Unknown revision detected.

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 1

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 1

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    omap_i2c omap_i2c.2: controller timed out

    tvp7002 2-005d: Write: retry ... 0

    Unable to handle kernel NULL pointer dereference at virtual address 00000002

    pgd = c9d3c000

    [00000002] *pgd=8b7d5031, *pte=00000000, *ppte=00000000

    Internal error: Oops: 17 [#1]

    last sysfs file: /sys/module/tvp7002/initstate

    Modules linked in: ti81xxvin(+) tvp7002 bufferclass_ti omaplfb pvrsrvkm ti81xxhdmi ti81xxfb vpss syslink ipv6

    CPU: 0 Not tainted (2.6.37 #1)

    PC is at vps_ti816x_select_video_decoder+0x28/0xac

    LR is at ti81xxvin_probe+0x3e4/0x50c [ti81xxvin]

    pc : [<c005cb10>] lr : [<bf20ff88>] psr: a0000013

    sp : c9d2ddd8 ip : c9d2de08 fp : c9d2de04

    r10: bf211200 r9 : bf211200 r8 : 00000004

    r7 : c04b227c r6 : 00000000 r5 : 00000000 r4 : 00000000

    r3 : c04e3c58 r2 : 0000000c r1 : 00000000 r0 : c9d2dddc

    Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user

    Control: 10c5387d Table: 89d3c019 DAC: 00000015

    Process insmod (pid: 1194, stack limit = 0xc9d2c2e8)

    Stack: (0xc9d2ddd8 to 0xc9d2e000)

    ddc0: c9d2de04 c9d2dde8

    dde0: c0280a1c c0095b54 cbc31540 c9d54400 bf2111f0 00000000 c9d2de44 c9d2de08

    de00: bf20ff88 c005caf4 00000000 00000001 c04c9aa8 c04b2138 c9d2de34 c04b2140

    de20: c04b2140 bf211030 cb7d1d80 c04c9aa8 c9d2c000 00000000 c9d2de54 c9d2de48

    de40: c01e0758 bf20fbb0 c9d2de74 c9d2de58 c01df6c4 c01e0744 c04b2140 c04b2174

    de60: bf211030 cb7d1d80 c9d2de94 c9d2de78 c01df7ec c01df600 00000000 c01df784

    de80: bf211030 cb7d1d80 c9d2debc c9d2de98 c01dee70 c01df790 cc81bfb8 cc865730

    dea0: c0190698 00000000 bf2110cc bf211030 c9d2decc c9d2dec0 c01df4e8 c01dee2c

    dec0: c9d2defc c9d2ded0 c01de748 c01df4d4 bf210c8e c9d2dee0 00000000 bf2110cc

    dee0: bf211030 00012018 bf214000 00000000 c9d2df24 c9d2df00 c01dfb24 c01de6a0

    df00: 00000000 bf2110cc 00012008 00012018 bf214000 c9d2c000 c9d2df34 c9d2df28

    df20: c01e0a44 c01dfa80 c9d2df44 c9d2df38 bf214014 c01e0a04 c9d2df7c c9d2df48

    df40: c003a3d8 bf21400c bf2110cc 00012008 00012018 c0044f48 00000000 bf2110cc

    df60: 00012008 00012018 c0044f48 00000000 c9d2dfa4 c9d2df80 c0097440 c003a314

    df80: c00c2a50 c00c2968 00000000 00010000 00000003 00000080 00000000 c9d2dfa8

    dfa0: c0044da0 c00973b0 00000000 00010000 00012018 00008cac 00012008 00000001

    dfc0: 00000000 00010000 00000003 00000080 00012008 00000000 00012018 00000000

    dfe0: bec87ec4 bec87c5c 00008da0 402207d4 60000010 00012018 00001802 00025c1c

    Backtrace:

    [<c005cae8>] (vps_ti816x_select_video_decoder+0x0/0xac) from [<bf20ff88>] (ti81xxvin_probe+0x3e4/0x50c [ti81xxvin])

    r6:00000000 r5:bf2111f0 r4:c9d54400

    [<bf20fba4>] (ti81xxvin_probe+0x0/0x50c [ti81xxvin]) from [<c01e0758>] (platform_drv_probe+0x20/0x24)

    [<c01e0738>] (platform_drv_probe+0x0/0x24) from [<c01df6c4>] (driver_probe_device+0xd0/0x190)

    [<c01df5f4>] (driver_probe_device+0x0/0x190) from [<c01df7ec>] (__driver_attach+0x68/0x8c)

    r7:cb7d1d80 r6:bf211030 r5:c04b2174 r4:c04b2140

    [<c01df784>] (__driver_attach+0x0/0x8c) from [<c01dee70>] (bus_for_each_dev+0x50/0x84)

    r7:cb7d1d80 r6:bf211030 r5:c01df784 r4:00000000

    [<c01dee20>] (bus_for_each_dev+0x0/0x84) from [<c01df4e8>] (driver_attach+0x20/0x28)

    r6:bf211030 r5:bf2110cc r4:00000000

    [<c01df4c8>] (driver_attach+0x0/0x28) from [<c01de748>] (bus_add_driver+0xb4/0x234)

    [<c01de694>] (bus_add_driver+0x0/0x234) from [<c01dfb24>] (driver_register+0xb0/0x13c)

    [<c01dfa74>] (driver_register+0x0/0x13c) from [<c01e0a44>] (platform_driver_register+0x4c/0x60)

    r9:c9d2c000 r8:bf214000 r7:00012018 r6:00012008 r5:bf2110cc

    r4:00000000

    [<c01e09f8>] (platform_driver_register+0x0/0x60) from [<bf214014>] (ti81xxvin_init+0x14/0x1c [ti81xxvin])

    [<bf214000>] (ti81xxvin_init+0x0/0x1c [ti81xxvin]) from [<c003a3d8>] (do_one_initcall+0xd0/0x1a4)

    [<c003a308>] (do_one_initcall+0x0/0x1a4) from [<c0097440>] (sys_init_module+0x9c/0x1bc)

    [<c00973a4>] (sys_init_module+0x0/0x1bc) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)

    r7:00000080 r6:00000003 r5:00010000 r4:00000000

    Code: e3a01000 e3a0200c e24b0028 e5935004 (e1d560b2)

    ---[ end trace c16049f7de442fc4 ]---

    Segmentation fault

    root@dm816x-evm:~#

  • Gregory,

    Could you try below when loading vpss.ko

    insmod vpss.ko i2c_mode=1

    Regards,

    yihe

     

  • Hi,

    You cant run open max and V4L2 capture together. This is because openmax requires I2C to be accessed from media controller and V4L2 capture requires same I2C instance to be accessed from A8 Linux. So you have to select either of them. Further you need to insmod tvp7002.ko before loading ti81xxvin.ko.

    Regards,

    Hardik shah

  • Hi, yihe.

    Hi, Hardik.

    Below line from load-hd-firmware.sh script

    modprobe vpss sbufaddr=0xBFB00000 mode=hdmi:1080p-60,dvo2:1080p-60,hdcomp:1080p-60 i2c_mode=1

    i2c_mode is set to 1.

    Next, I removed /etc/rc5.d/S99-matrix-gui-e. And I load tvp7002.ko before ti81xxvin.ko.

    Problem persists.

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/152894.aspx#554794 - can this post resolve my trouble?

     

  • Hi,

    For V4L2 capture you should not be using load-hd-firmware.sh. You should refer to following userguides. load-hd-firmware.sh is for SDK. SDK doesnt support V4L2 capture and display as of now.

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Video_Capture_Driver_User_Guide and http://processors.wiki.ti.com/index.php/DM816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.01.14

    Regards,

    Hardik Shah

  • Hi

    ti81xxvin.ko successfully loaded by using load-hd-v4l2-firmware.sh and dm816x-hdvpss-v4l2.xem3 instead of  load-hd-firmware.sh and dm816x-hdvpss.xem3. This files located at /usr/share/ti/ti-media-controller-utils of  target filesystem, prepared by SDK installer.

  • Hi Gregory,

    thank you for your solution. Bash commands tweaking rc to insert ti81xxvin.ko each time system loads

    cp /usr/share/ti/ti-media-controller-utils/load-hd-v4l2-firmware.sh /etc/init.d/
    cd /etc/init.d
    cp load-hd-firmware.sh load-hd-firmware.sh.old
    cp load-hd-v4l2-firmware.sh load-hd-v4l2-firmware.sh.old
    cp load-hd-v4l2-firmware.sh load-hd-firmware.sh

    Does TI provide something more sophisticated then interchanging files?

    Regards,

    Jacek