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.

DM8148 Video output

We have a custom DM8148 board that uses vout1 output form connected to DVO1 to  sii9022a HDMI transmitter. How do we configure the kernel/uboot/filesystem to output on the Display connected to sii9022a HDMI TX.

Shilpa.

  • Hi,

    Please take care of below things to output on DVO1,

    1, Change the pinmux settings to configure DVO1 in 16 bit emb or 24 bit discrete sync capture

    2, Do not insert HDMI kernel module

    3, Configure venc using sysfs entries

    4, insert and configure Sii9022a driver in the kernel

    Thanks,

    Brijesh Jadav

  • Brijesh,

    Thankyou very much for your immediate reply.

    Step 1: Change the pinmux settings to configure DVO1 in 16 bit emb or 24 bit discrete sync capture. How do I achieve this? Any document will be of great help

    Step 4: Below is the error I get while I load the sii9022a kernel module.

    Unable to handle kernel NULL pointer dereference at virtual address 00000002

    pgd = cb7e8000

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

    Internal error: Oops: 17 [#1]

    last sysfs file: /sys/kernel/uevent_seqnum

    Modules linked in: sii9022a(+) vpss syslink

    CPU: 0 Not tainted (2.6.37 #1)

    PC is at i2c_smbus_write_byte_data+0x10/0x48

    LR is at sii9022a_device_write+0x60/0x94 [sii9022a]

    pc : [<c0289788>] lr : [<bf1620f0>] psr: 80000013

    sp : cb78ddc0 ip : cb78de10 fp : cb78de0c

    r10: 000000c7 r9 : 00000001 r8 : 00000000

    r7 : cb78de4e r6 : cb78de46 r5 : 00000001 r4 : 00000000

    r3 : bf1630c8 r2 : 00000000 r1 : 000000c7 r0 : 00000000

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

    Control: 10c5387d Table: 8b7e8019 DAC: 00000015

    Process insmod (pid: 1209, stack limit = 0xcb78c2e8)

    Stack: (0xcb78ddc0 to 0xcb78e000)

    ddc0: cb78de00 00000000 cb78ddec cb78ddd8 c0086450 c00863d8 00030d40 00000000

    dde0: cb78de64 cb78ddf0 c039f154 c0086444 00030d40 00000001 000493e0 00000000

    de00: cb78de3c cb78de10 bf1620f0 c0289784 ffffffc7 00000001 0000000d 00000001

    de20: 00012018 bf166000 cb78de4e cb78de46 cb78de84 cb78de40 bf162360 bf16209c

    de40: 00000000 00000000 10040004 cbc7dea8 cbd00780 00000000 10040004 bf1630c8

    de60: 0000000d 00000001 00012018 bf166000 cb78c000 00000000 cb78df24 cb78de88

    de80: bf16254c bf1622d4 cb78ded4 cb78de98 bf14385c c008b600 00000001 cb78dea8

    dea0: 4ee2657a 000e920d 4ee2657a 000e9447 bf151c30 00000001 00000039 00000000

    dec0: 00000000 00000000 00000000 cb78ded8 bf144ad8 bf143754 bf1517b8 bf1630fc

    dee0: cb7d4400 00000001 cb78df24 cb78def8 bf145c50 c039ecd8 00000000 00000001

    df00: bf1630c8 00000000 00012018 bf166000 cb78c000 00000000 cb78df44 cb78df28

    df20: bf16604c bf162514 00000000 bf162fa4 00012008 00012018 cb78df7c cb78df48

    df40: c003a3d8 bf16600c bf162fa4 00012008 00012018 c0044f48 00000000 bf162fa4

    df60: 00012008 00012018 c0044f48 00000000 cb78dfa4 cb78df80 c0097598 c003a314

    df80: c00c3e80 c00c3d98 00000000 00004000 00000003 00000080 00000000 cb78dfa8

    dfa0: c0044da0 c0097508 00000000 00004000 00012018 000022ec 00012008 00000001

    dfc0: 00000000 00004000 00000003 00000080 00012008 00000000 00012018 00000000

    dfe0: beab2ed6 beab2c6c 00008da0 401d67d4 60000010 00012018 00000000 00000000

    Backtrace:

    [<c0289778>] (i2c_smbus_write_byte_data+0x0/0x48) from [<bf1620f0>] (sii9022a_device_write+0x60/0x94 [sii9022a])

    r4:00000000

    [<bf162090>] (sii9022a_device_write+0x0/0x94 [sii9022a]) from [<bf162360>] (sii9022a_config+0x98/0x240 [sii9022a])

    [<bf1622c8>] (sii9022a_config+0x0/0x240 [sii9022a]) from [<bf16254c>] (sii9022a_set_power+0x44/0x73c [sii9022a])

    [<bf162508>] (sii9022a_set_power+0x0/0x73c [sii9022a]) from [<bf16604c>] (sii9022a_init+0x4c/0x68 [sii9022a])

    [<bf166000>] (sii9022a_init+0x0/0x68 [sii9022a]) from [<c003a3d8>] (do_one_initcall+0xd0/0x1a4)

    r7:00012018 r6:00012008 r5:bf162fa4 r4:00000000

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

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

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

    Code: e1a0c00d e92dd810 e24cb004 e24dd03c (e1d0c0b2)

    ---[ end trace ac5af55dba65040c ]---

    Segmentation fault

    Thanks,

    Shilpa.

     

     

  • Hi Shilpa,

    Contact your TI local representative for hte pinmux document.

    This crash is coming because I2c instance is not enabled in the kernel. Can you please enable and try it out?

    Thanks,

    Brijesh Jadav

  • Shilpa,

    PINMUX is described in the DM814X data sheet, please get the data sheet from below link:

    http://www.ti.com/product/tms320dm8148

    TI does not have SII9022a SW for DM814X. the sii9022a is only valid for DM816X.

    Many modifications are required if you are planning to use DM816X SII9022a over your own board, such as I2C instance, I2c address,

    All these need be taken care.

    Regards,

    yihe

  • Hi,

    Any reason why you want to use sii9022a instead of in-built on-chip HDMI. Becuase both of them will give you same functionality. You should be using sii9022a on DVO2 port, which is not having any on-chip HDMI. I think you want to use sii9022a on display of DM8148, which is not having HDMI.  Please correct me if I am wrong.

    Regards,

    Hardik Shah

  • Brijesh,yihi and hardik.Thanks for your immediate reply.

    So my understanding is that if I follow the steps below, I might have a chance of getting an output on vout1
    1. Set the pinmux for vout1 in uboot.
    2. Configure I2C used in uboot.
    3. Configure the venc to use graphics0 and display0 in load-hd-firmware.sh.
    4. Modify sii9022a_drv.c to at line 841
    device_i2c_inst_id and device_i2c_addr to match what we use.
    5. Modify sii9022a_drv.c to use TI81xx_DISPLAY_HDMI.

    Please correct me if I am wrong.

    @Hardik: We want to use sii9022a on VOUT1 which is multiplesed with HDMI instead of VOUT2.

    Shilpa.

  • Hi shilpa,

    We re you able to get some video on VOUT1? If that's the case, what change did you make.

    Thank you!

  • add I2C_BOARD_INFO("sii9022a", 0x39),to your board-xxx.c I thing maybe is your i2c probe didnot run!

  • Shilpa,

    Please mark thread as closed if your problem is solved,

    New thread can be opened for new issues.