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.

Compiler/DS90UB960-Q1: TDA4VM : [ UB960-Q1 - UB913A ] Device driver Create

Part Number: DS90UB960-Q1
Other Parts Discussed in Thread: TDA4VM

Tool/software: TI C/C++ Compiler

Hello Expert,

To sum up first, I am trying to create a device driver for UB913A.

I am using tda4vm, Fusion rev3, Camera image sensor is ISX016 and Serializer is DS90UB913.


The single_cam example provided in basic_demo confirmed that the code was written for UB953.

Unfortunately, the serializer of our camera is UB913, and I am trying to write a device driver for UB913.


I found two pages of pdf file "sensor_bringup_notes" during google search. It was helpful, but I thought it was insufficient.


Is there any guide to make a sensor driver? Or is there any example code for UB913?


If you don't have it, please any advise.

Regards,

- Kim

sensor_bringup_notes (1).pdf

  • Hi Yoonseong, 

    We don't really provide software support but can you show me an example of what you have so far in the basic_demo? I know it's for 953, but perhaps we can point out the registers you can set for a 913. 

    Thanks, 
    Sally 

  • Hello Sally,


    Thank you for the reply.


    I was able to check the  <PSDKRA Dir>/imaging/sensor_drv/    folder where the device drivers are gathered through  'app_show_usage' in    'Basic_demo/app_single_cam/app_single_cam_main.c'.

    I tell you a list that I added to create a device driver.

    ---------------------------------------------------------------------

    1. < PSDKRA Dir>/imaging/sensor_drv/include/iss_sensor.h

    #define SENSOR_SONY_ISX016 "ISX016-UB913"

    2. < PSDKRA Dir>/imaging/sensor_drv/include/iss_sensor.c 

    status |= IssSensor_ISX016_Init();

    3. < PSDKRA Dir>/imaging/sensor_drv/include/iss_sensor_priv.h 

    int32_t IssSensor_ISX016_Init();

    4. < PSDKRA Dir>/imaging/sensor_drv/src/concerto.mak 

    CSOURCES += isx016/iss_sensor_isx016.c

    5. < PSDKRA Dir>/imaging/sensor_drv/ 

    //Create a folder isx016

    6. < PSDKRA Dir>/imaging/sensor_drv/isx016

    iss_sensor_isx016.c create
    isx_sensor_isx016.h create
    isx016_serdes_config.h create

    // The iss_sensor_isx016.c and .h files were copied and modified by other device drivers.

    //The isx016_serdes_config.h file was created based on DS90UB960 and DS90UB913.

    7. < PSDKRA Dir>/vision_apps/apps/basic_demos/app_linux_fs_files/app_single_cam.cfg

    # 3 : ISX016


    -------------------------------------------------------------------------------------------

    However, even if I run  'app_single_cam'    in TDA4VM, the device driver that I registered in   'app_show_usage'    I could not confirm.

    Any guesses? I would appreciate your reply.

    Regards,

    Kim

  • Hello Sally,


    A few hours ago I completed the device registration.

    Now, i can see my device driver in 'app_single_cam_main.c'


    But I had a new problem.

    I want to save the image to test my camera, but nothing is saved.


    It seems that I am modifying serDes or app_single_cam_main.c incorrectly.


    I will share my current situation, can you please confirm?

    -------------------------------------------------------------------------

    Deserializer register config

    {0x4C, 0x01,0x10},
    {0x58, 0x58,0x10},
    {0xD5, 0xF0,0x10},
    {0x6D, 0x6F,0x10}, /*raw 10 mode*/
    {0x70, 0x1E,0x10},

    {0x5D, (BSPUTILS_SER_ID_ADDR << 1U), 0x10}, /*Serializer I2C Address*/
    {0x65, (SER_0_I2C_ALIAS << 1U), 0x10},
    {0x5E, ISX016_I2C_ADDR, 0x10}, /*Sensor I2C Address*/
    {0x66, (SENSOR_0_I2C_ALIAS << 1U), 0x10},
    {0x32, 0x01,0x0},

    {0x20, 0x00, 0x10},
    {0x21, 0x03, 0x0},

    {0xFFFF, 0x00, 0x0} //End of script

    app_single_cam_main.c

    VISS and 2A nodes are removed from the graph

    And i set,

    capture_node => obj->mydata => display_image


    And image dump,

    write_output_image_raw(raw_image_fname, obj->mydata);


    The data type of obj->mydata is vx_image.

    ---------------------------------------------------------------------

    Do you have any idea where I'm setting it wrong?

    Any advice is appreciated.

    Regards,

    Kim

  • Hi Kim, 

    Unfortunately, the questions you are asking I cannot answer. These questions should be asked to the Jacinto team who makes the processor. You can post on the processor forum on E2E where you will find people who can answer these questions. 


    Thanks, 

    Sally 

  • Hello Sally,


    Thank you .

    I moved the thread to the Processor forum.

    Regards,

    Kim