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.

TDA4VM: About some problems encountered by OX03C10+MAX96717+MAX96712

Part Number: TDA4VM

Hi,expert:

We encountered some problems when debugging OX03C10+MAX96717+MAX96712 cameras. On the TDA4 platform, let me introduce the software and hardware development environment:

1) The video link is as follows:

2) TDA4 SDK software version:

  • ti-processor-sdk-rtos-j721e-evm-08_02_00_05
  • ti-processor-sdk-linux-j7-evm-08_02_00_03

3) Sensor OX03C10 output information:

  • Resolution: 1920x1080@30fps
  • Data format: YUV422-8bit

4) About ox03c10 configuration under imaging/sensor_drv:

static IssSensor_CreateParams  ox03c10CreatePrms = {
    SENSOR_ONSEMI_OX03C10_MAX96712_SG2,     /*sensor name*/
    0x0,                             /*i2cInstId*/
    {
    	0x11, 0x12, 0x13, 0x14,
    	0x00, 0x00, 0x00, 0x00
	}, /*i2cAddrSensor*/
    {
		0x41, 0x42, 0x43, 0x44,    	
    	0x00, 0x00, 0x00, 0x00
	}, /*i2cAddrSer*/
    /*IssSensor_Info*/
    {
        {
            OX03C10_OUT_WIDTH,               /*width*/
            OX03C10_OUT_HEIGHT,              /*height*/
            1,                              /*num_exposures*/
            vx_false_e,                     /*line_interleaved*/
            {
                {VX_DF_IMAGE_UYVY, 7},    /*dataFormat and MSB [0]*/
            },
            0,                              /*meta_height_before*/
            0,                              /*meta_height_after*/
        },
        ISS_SENSOR_OX03C10_FEATURES,     /*features*/
        ALGORITHMS_ISS_AEWB_MODE_NONE,  /*aewbMode*/
        30,                             /*fps*/
        4,                              /*numDataLanes*/
        {1, 2, 3, 4},                   /*dataLanesMap*/
        {0, 0, 0, 0},                   /*dataLanesPolarity*/
        CSIRX_LANE_BAND_SPEED_2250_TO_2500_MBPS, /*csi_laneBandSpeed*/
    },
    1,                                  /*numChan*/
    5233,                               /*dccId*/
};

Running the app_single_cam program outputs the following error message:

VX_ZONE_WARNING:[tivxCaptureSetTimeout:774]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!

The problem I am facing now is: the image coming out of the deserializer MAX96712 is not correct, after saving the cap_000.yuv file by typing 's' through the command line, the yuv file is not displayed properly.

cap_0000.rar

The following is the log information output by running run_app_single_cam.sh:

root@j7-evm:~/apps# ./run_app_single_cam.sh
APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
  1037.225948 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
  1037.232206 s:  VX_ZONE_INIT:Enabled
  1037.232228 s:  VX_ZONE_ERROR:Enabled
  1037.232239 s:  VX_ZONE_WARNING:Enabled
  1037.234512 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
  1037.236299 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
Invalid token [
]
sensor_selection = [1]
Invalid token [
]
ldc_enable = [0]
Invalid token [
]
num_frames_to_run = [1000000]
Invalid token [
]
is_interactive = [1]
IttCtrl_registerHandler: command echo registered at location 0
IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
IttCtrl_registerHandler: command iss_raw_save registered at location 3
IttCtrl_registerHandler: command iss_yuv_save registered at location 4
IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
IttCtrl_registerHandler: command dev_ctrl registered at location 7
IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
 NETWORK: Opened at IP Addr = 1.4.16.64, socket port=5000!!!
tivxImagingLoadKernels done
  1037.246777 s: ISS: Enumerating sensors ... !!!
[MCU2_0]   1037.246982 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
[MCU2_0]   1037.247233 s: [ybcs-dbg]: WKUP_GPIO0_29 before muxData: 0x50007
[MCU2_0]   1037.247311 s: [ybcs-dbg]: WKUP_GPIO0_29 after muxData: 0x50007
[MCU2_0]   1037.247361 s: [ybcs-dbg]: MAIN_GPIO0_30 before muxData: 0x50007
[MCU2_0]   1037.247416 s: [ybcs-dbg]: MAIN_GPIO0_30 after muxData: 0x50007
[MCU2_0]   1037.247461 s: [ybcs-dbg]: MAIN_GPIO0_76 before muxData: 0x50007
[MCU2_0]   1037.247515 s: [ybcs-dbg]: MAIN_GPIO0_76 after muxData: 0x50007
[MCU2_0]   1037.297118 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0
[MCU2_0]   1037.347118 s: [Board_fpd9296Pwr9295]: GPIO0_30 Direction regVal = 0x1 before set.
[MCU2_0]   1037.347180 s: [Board_fpd9296Pwr9295]: GPIO0_30 Direction regVal = 0x0 after set.
[MCU2_0]   1037.347234 s: [Board_fpd9296Pwr9295]: GPIO0_30 Level regVal = 0x0 before set.
[MCU2_0]   1037.397114 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Direction regVal = 0x1 before set.
[MCU2_0]   1037.397179 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Direction regVal = 0x0 after set.
[MCU2_0]   1037.397235 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Level regVal = 0x0 before set.
[MCU2_0]   1037.447111 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x1 before set.
[MCU2_0]   1037.447174 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 after set.
[MCU2_0]   1037.447230 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0 before set.
[MCU2_0]   1037.497110 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 before set.
[MCU2_0]   1037.497171 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 after set.
[MCU2_0]   1037.497226 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0 before set.
[MCU2_0]   1037.547108 s: [ybcs-dbg]: MAIN_GPIO0_31 before muxData: 0x50007
[MCU2_0]   1037.547172 s: [ybcs-dbg]: MAIN_GPIO0_31 after muxData: 0x50007
[MCU2_0]   1037.597114 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Direction regVal = 0x1 before set.
[MCU2_0]   1037.597176 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Direction regVal = 0x0 after set.
[MCU2_0]   1037.597233 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Level regVal = 0x0 before set.
[MCU2_0]   1037.647137 s:
[MCU2_0]   1037.647181 s:
[MCU2_0] Probing for 0 is in progress...
[MCU2_0]   1037.665212 s: I2C0: Passed for address 0x29 !!!
[MCU2_0]   1037.675084 s: I2C0: Passed for address 0x40 !!!
[   31.159671] am65-cpsw-nuss 46000000.ethernet eth0: Link is Down

  1037.702279 s: ISS: Enumerating sensors ... found 0 : AR0233-MAX9295-SG2
  1037.702302 s: ISS: Enumerating sensors ... found 1 : OX03C10-MAX96712-SG2
Select camera port index 0-7 : 0
2 registered sensor drivers
a : AR0233-MAX9295-SG2
b : OX03C10-MAX96712-SG2
Select a sensor above or press '0' to autodetect the sensor : b
Sensor selected : OX03C10-MAX96712-SG2
LDC Selection Yes(1)/No(0) : 0
[app_single_cam_main]: app_init done
Querying OX03C10-MAX96712-SG2
  1041.463066 s: ISS: Querying sensor [OX03C10-MAX96712-SG2] ... !!!
  1041.463524 s: ISS: Querying sensor [OX03C10-MAX96712-SG2] ... Done !!!
YUV Input selected. VISS and AEWB nodes will be bypassed.
Sensor DCC is enabled
Sensor width = 1920
Sensor height = 1080
Sensor DCC ID = 8322
Sensor Supported Features = 0x100
Sensor Enabled Features = 0x100
  1041.463553 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2], doing IM_SENSOR_CMD_PWRON ... !!!
  1041.463946 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2], doing IM_SENSOR_CMD_CONFIG ... !!!
[MCU2_0]   1041.463278 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
[MCU2_0]   1041.463342 s: Received Query for OX03C10-MAX96712-SG2
[MCU2_0]   1041.463723 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
[MCU2_0]   1041.463776 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1
[MCU2_0]   1041.464121 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
[MCU2_0]   1041.464168 s: Application requested features = 0x100
[MCU2_0]
[MCU2_0]   1041.464205 s: IM_SENSOR_CMD_CONFIG: channel_mask=0x1 sensor_name=OX03C10-MAX96712-SG2
[MCU2_0]   1041.469331 s: Board_fpd96712Enable3gModels [MAX96717]: read reg[0x6] value=0xff
[MCU2_0]   1041.474317 s: Board_fpd96712Enable3gModels [MAX96717]: read reg[0x10] value=0x11
[MCU2_0]   1041.574322 s: Board_fpd96712Enable3gModels [MAX96717]: read reg[0x11] value=0x11
[MCU2_0]   1041.574555 s: [MAX96717]: write dev[0x29] reg[0x6] value=0xf1 delay=0x64
[MCU2_0]   1041.674328 s: [MAX96717]: read dev[0x29] reg[0x6] value=0xf1 delay=0x64
[MCU2_0]   1041.674819 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1041.688564 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1041.692458 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1041.702319 s: I2C: Passed for address 0x40 !!!
[MCU2_0]   1041.705774 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1041.729494 s: [MAX96717]: write dev[0x40] reg[0x0] value=0x82 delay=0x1f4
[MCU2_0]   1042.229540 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1042.243284 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1042.247176 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1042.257466 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1042.260496 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1042.284219 s: [MAX96717]: write dev[0x41] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1042.784363 s: [MAX96717]: read dev[0x41] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1042.784851 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1042.798594 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1042.802491 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1042.812780 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1042.815812 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1042.826954 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1042.839597 s: [MAX96717]: write dev[0x41] reg[0x43] value=0x82 delay=0x1f4
[MCU2_0]   1043.339366 s: [MAX96717]: read dev[0x41] reg[0x43] value=0x82 delay=0x1f4
[MCU2_0]   1043.339854 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1043.353600 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1043.357491 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1043.367777 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1043.370809 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1043.381947 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1043.394591 s: [MAX96717]: write dev[0x41] reg[0x44] value=0x22 delay=0x1f4
[MCU2_0]   1043.894364 s: [MAX96717]: read dev[0x41] reg[0x44] value=0x22 delay=0x1f4
[MCU2_0]   1043.894851 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1043.902165 s: I2C: Passed for address 0x11 !!!
[MCU2_0]   1043.908644 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1043.912535 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1043.922824 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1043.925855 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1043.936992 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1043.949635 s: [MAX96717]: write dev[0x41] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1044.449365 s: [MAX96717]: read dev[0x41] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1044.449850 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1044.457161 s: I2C: Passed for address 0x11 !!!
[MCU2_0]   1044.463643 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1044.467528 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1044.477812 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1044.480842 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1044.491980 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1044.504617 s: [MAX96717]: write dev[0x29] reg[0x6] value=0xf2 delay=0x64
[MCU2_0]   1044.604330 s: [MAX96717]: read dev[0x29] reg[0x6] value=0xf2 delay=0x64
[MCU2_0]   1044.604821 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1044.618534 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1044.622421 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1044.632279 s: I2C: Passed for address 0x40 !!!
[MCU2_0]   1044.635771 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1044.659467 s: [MAX96717]: write dev[0x40] reg[0x0] value=0x84 delay=0x1f4
[MCU2_0]   1045.159543 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1045.173259 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1045.177145 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1045.187859 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1045.190496 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1045.214193 s: [MAX96717]: write dev[0x42] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1045.714365 s: [MAX96717]: read dev[0x42] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1045.714855 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1045.728567 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1045.732456 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1045.743190 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1045.745814 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1045.756956 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1045.769574 s: [MAX96717]: write dev[0x42] reg[0x43] value=0x84 delay=0x1f4
[MCU2_0]   1046.269367 s: [MAX96717]: read dev[0x42] reg[0x43] value=0x84 delay=0x1f4
[MCU2_0]   1046.269856 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1046.283566 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1046.287452 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1046.298185 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1046.300809 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1046.311954 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1046.324569 s: [MAX96717]: write dev[0x42] reg[0x44] value=0x24 delay=0x1f4
[MCU2_0]   1046.824370 s: [MAX96717]: read dev[0x42] reg[0x44] value=0x24 delay=0x1f4
[MCU2_0]   1046.824859 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1046.832593 s: I2C: Passed for address 0x12 !!!
[MCU2_0]   1046.838613 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1046.842499 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1046.853228 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1046.855852 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1046.866995 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1046.879610 s: [MAX96717]: write dev[0x42] reg[0x45] value=0x40 delay=0x1f4
[   40.375870] am65-cpsw-nuss 46000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[MCU2_0]   1047.379364 s: [MAX96717]: read dev[0x42] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1047.379852 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1047.387586 s: I2C: Passed for address 0x12 !!!
[MCU2_0]   1047.393608 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1047.397494 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1047.408207 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1047.410840 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1047.421984 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1047.434593 s: [MAX96717]: write dev[0x29] reg[0x6] value=0xf4 delay=0x64
[MCU2_0]   1047.534299 s: [MAX96717]: read dev[0x29] reg[0x6] value=0xf4 delay=0x64
[MCU2_0]   1047.552329 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1047.565612 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1047.589334 s: [MAX96717]: write dev[0x40] reg[0x0] value=0x86 delay=0x1f4
[MCU2_0]   1048.089543 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1048.103286 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1048.107181 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1048.118326 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1048.120506 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1048.144229 s: [MAX96717]: write dev[0x43] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1048.644360 s: [MAX96717]: read dev[0x43] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1048.644850 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1048.658592 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1048.662485 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1048.673627 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1048.675804 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1048.686941 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1048.699579 s: [MAX96717]: write dev[0x43] reg[0x43] value=0x86 delay=0x1f4
[MCU2_0]   1049.199361 s: [MAX96717]: read dev[0x43] reg[0x43] value=0x86 delay=0x1f4
[MCU2_0]   1049.199850 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1049.213590 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1049.217486 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1049.228631 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1049.230808 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1049.241946 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1049.254587 s: [MAX96717]: write dev[0x43] reg[0x44] value=0x26 delay=0x1f4
[MCU2_0]   1049.754359 s: [MAX96717]: read dev[0x43] reg[0x44] value=0x26 delay=0x1f4
[MCU2_0]   1049.754849 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1049.763009 s: I2C: Passed for address 0x13 !!!
[MCU2_0]   1049.768631 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1049.772518 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1049.783657 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1049.785834 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1049.796971 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1049.809612 s: [MAX96717]: write dev[0x43] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1050.309370 s: [MAX96717]: read dev[0x43] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1050.309859 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1050.318018 s: I2C: Passed for address 0x13 !!!
[MCU2_0]   1050.323644 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1050.327533 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1050.338678 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1050.340853 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1050.351990 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1050.364633 s: [MAX96717]: write dev[0x29] reg[0x6] value=0xf8 delay=0x64
[MCU2_0]   1050.464328 s: [MAX96717]: read dev[0x29] reg[0x6] value=0xf8 delay=0x64
[MCU2_0]   1050.464811 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1050.478521 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1050.482405 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1050.492263 s: I2C: Passed for address 0x40 !!!
[MCU2_0]   1050.495720 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1050.519452 s: [MAX96717]: write dev[0x40] reg[0x0] value=0x88 delay=0x1f4
[MCU2_0]   1051.019540 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1051.033256 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1051.037144 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1051.048712 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1051.050461 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1051.074183 s: [MAX96717]: write dev[0x44] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1051.574359 s: [MAX96717]: read dev[0x44] reg[0x42] value=0xc4 delay=0x1f4
[MCU2_0]   1051.574844 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1051.588555 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1051.592444 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1051.604013 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1051.605763 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1051.616938 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1051.629558 s: [MAX96717]: write dev[0x44] reg[0x43] value=0x88 delay=0x1f4
[MCU2_0]   1052.129366 s: [MAX96717]: read dev[0x44] reg[0x43] value=0x88 delay=0x1f4
[MCU2_0]   1052.129850 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1052.143562 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1052.147449 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1052.159014 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1052.160762 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1052.171933 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1052.184551 s: [MAX96717]: write dev[0x44] reg[0x44] value=0x28 delay=0x1f4
[MCU2_0]   1052.684366 s: [MAX96717]: read dev[0x44] reg[0x44] value=0x28 delay=0x1f4
[MCU2_0]   1052.684856 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1052.693444 s: I2C: Passed for address 0x14 !!!
[MCU2_0]   1052.698611 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1052.702497 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1052.714063 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1052.715811 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1052.726982 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1052.739601 s: [MAX96717]: write dev[0x44] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1053.239374 s: [MAX96717]: read dev[0x44] reg[0x45] value=0x40 delay=0x1f4
[MCU2_0]   1053.239864 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1053.248452 s: I2C: Passed for address 0x14 !!!
[MCU2_0]   1053.253619 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1053.257504 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1053.269070 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1053.270824 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1053.281997 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1053.294617 s: [MAX96717]: write dev[0x29] reg[0x6] value=0xff delay=0x1f4
[MCU2_0]   1053.794364 s: [MAX96717]: read dev[0x29] reg[0x6] value=0xff delay=0x1f4
[MCU2_0]   1053.794855 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1053.802167 s: I2C: Passed for address 0x11 !!!
[MCU2_0]   1053.802636 s: I2C: Passed for address 0x12 !!!
[MCU2_0]   1053.803104 s: I2C: Passed for address 0x13 !!!
[MCU2_0]   1053.803569 s: I2C: Passed for address 0x14 !!!
[MCU2_0]   1053.808731 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1053.812614 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1053.822900 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1053.823369 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1053.823833 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1053.824302 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1053.826048 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1053.837218 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1053.849836 s: [MAX96717]: write dev[0x29] reg[0x18] value=0xf delay=0x1f4
[MCU2_0]   1054.349366 s: [MAX96717]: read dev[0x29] reg[0x18] value=0x0 delay=0x1f4
[MCU2_0]   1054.349855 s: I2C: Passed for address 0x0 !!!
[MCU2_0]   1054.357166 s: I2C: Passed for address 0x11 !!!
[MCU2_0]   1054.357634 s: I2C: Passed for address 0x12 !!!
[MCU2_0]   1054.358104 s: I2C: Passed for address 0x13 !!!
[MCU2_0]   1054.358569 s: I2C: Passed for address 0x14 !!!
[MCU2_0]   1054.363732 s: I2C: Passed for address 0x20 !!!
[MCU2_0]   1054.367613 s: I2C: Passed for address 0x29 !!!
[MCU2_0]   1054.377899 s: I2C: Passed for address 0x41 !!!
[MCU2_0]   1054.378366 s: I2C: Passed for address 0x42 !!!
[MCU2_0]   1054.378830 s: I2C: Passed for address 0x43 !!!
[MCU2_0]   1054.379296 s: I2C: Passed for address 0x44 !!!
[MCU2_0]   1054.381042 s: I2C: Passed for address 0x48 !!!
[MCU2_0]   1054.392213 s: I2C: Passed for address 0x62 !!!
[MCU2_0]   1054.404631 s: Configuring camera # 0
[MCU2_0]   1054.404671 s: [ox03c10_Config]: start config ox03c10...
[MCU2_0]   1054.409358 s: [MAX96712]: read dev[0x29] reg[0x17] value=0x14
[MCU2_0]   1054.419361 s: [MAX96712]: read dev[0x29] reg[0x19] value=0x94
[MCU2_0]   1054.429348 s: [MAX96712]: read dev[0x29] reg[0x6c2] value=0x10
[MCU2_0]   1054.434345 s: [MAX96712]: read dev[0x29] reg[0x14d1] value=0x3
[MCU2_0]   1054.439345 s: [MAX96712]: read dev[0x29] reg[0x15d1] value=0x3
[MCU2_0]   1054.444344 s: [MAX96712]: read dev[0x29] reg[0x16d1] value=0x3
[MCU2_0]   1054.454357 s: [MAX96712]: read dev[0x29] reg[0x17d1] value=0x3
[MCU2_0]   1054.554353 s: [MAX96712]: read dev[0x29] reg[0x18] value=0x0
[MCU2_0]   1054.559358 s: [MAX96712]: read dev[0x41] reg[0x318] value=0x5e
[MCU2_0]   1054.574353 s: [MAX96712]: read dev[0x41] reg[0x2c7] value=0x18
[MCU2_0]   1054.579347 s: [MAX96712]: read dev[0x42] reg[0x318] value=0x5e
[MCU2_0]   1054.594361 s: [MAX96712]: read dev[0x42] reg[0x2c7] value=0x18
[MCU2_0]   1054.599350 s: [MAX96712]: read dev[0x43] reg[0x318] value=0x5e
[MCU2_0]   1054.614345 s: [MAX96712]: read dev[0x43] reg[0x2c7] value=0x18
[MCU2_0]   1054.619346 s: [MAX96712]: read dev[0x43] reg[0x318] value=0x5e
[MCU2_0]   1054.634356 s: [MAX96712]: read dev[0x43] reg[0x2c7] value=0x18
[MCU2_0]   1054.639350 s: [MAX96712]: read dev[0x29] reg[0xf4] value=0xf
[MCU2_0]   1054.644347 s: [MAX96712]: read dev[0x29] reg[0x90b] value=0x7
[MCU2_0]   1054.649345 s: [MAX96712]: read dev[0x29] reg[0x92d] value=0x15
[MCU2_0]   1054.654342 s: [MAX96712]: read dev[0x29] reg[0x90d] value=0x1e
[MCU2_0]   1054.659364 s: [MAX96712]: read dev[0x29] reg[0x90e] value=0x1e
[MCU2_0]   1054.664358 s: [MAX96712]: read dev[0x29] reg[0x90f] value=0x0
[MCU2_0]   1054.669348 s: [MAX96712]: read dev[0x29] reg[0x910] value=0x0
[MCU2_0]   1054.674346 s: [MAX96712]: read dev[0x29] reg[0x911] value=0x1
[MCU2_0]   1054.679344 s: [MAX96712]: read dev[0x29] reg[0x912] value=0x1
[MCU2_0]   1054.684345 s: [MAX96712]: read dev[0x29] reg[0x94b] value=0x7
[MCU2_0]   1054.689344 s: [MAX96712]: read dev[0x29] reg[0x96d] value=0x15
[MCU2_0]   1054.694355 s: [MAX96712]: read dev[0x29] reg[0x94d] value=0x1e
[MCU2_0]   1054.699353 s: [MAX96712]: read dev[0x29] reg[0x94e] value=0x5e
[MCU2_0]   1054.704349 s: [MAX96712]: read dev[0x29] reg[0x94f] value=0x0
[MCU2_0]   1054.709342 s: [MAX96712]: read dev[0x29] reg[0x950] value=0x40
[MCU2_0]   1054.714344 s: [MAX96712]: read dev[0x29] reg[0x951] value=0x1
[MCU2_0]   1054.719345 s: [MAX96712]: read dev[0x29] reg[0x952] value=0x41
[MCU2_0]   1054.724345 s: [MAX96712]: read dev[0x29] reg[0x98b] value=0x7
[MCU2_0]   1054.729351 s: [MAX96712]: read dev[0x29] reg[0x9ad] value=0x15
[MCU2_0]   1054.734355 s: [MAX96712]: read dev[0x29] reg[0x98d] value=0x1e
[MCU2_0]   1054.739349 s: [MAX96712]: read dev[0x29] reg[0x98e] value=0x9e
[MCU2_0]   1054.744341 s: [MAX96712]: read dev[0x29] reg[0x98f] value=0x0
[MCU2_0]   1054.749340 s: [MAX96712]: read dev[0x29] reg[0x990] value=0x80
[MCU2_0]   1054.754342 s: [MAX96712]: read dev[0x29] reg[0x991] value=0x1
[MCU2_0]   1054.759342 s: [MAX96712]: read dev[0x29] reg[0x992] value=0x81
[MCU2_0]   1054.764353 s: [MAX96712]: read dev[0x29] reg[0x9cb] value=0x7
[MCU2_0]   1054.769353 s: [MAX96712]: read dev[0x29] reg[0x9ed] value=0x15
[MCU2_0]   1054.774349 s: [MAX96712]: read dev[0x29] reg[0x9cd] value=0x1e
[MCU2_0]   1054.779345 s: [MAX96712]: read dev[0x29] reg[0x9ce] value=0xde
[MCU2_0]   1054.784348 s: [MAX96712]: read dev[0x29] reg[0x9cf] value=0x0
[MCU2_0]   1054.789345 s: [MAX96712]: read dev[0x29] reg[0x9d0] value=0xc0
[MCU2_0]   1054.794342 s: [MAX96712]: read dev[0x29] reg[0x9d1] value=0x1
[MCU2_0]   1054.809356 s: [MAX96712]: read dev[0x29] reg[0x9d2] value=0xc1
[MCU2_0]   1054.814345 s: [MAX96712]: read dev[0x29] reg[0x8a0] value=0x4
[MCU2_0]   1054.819344 s: [MAX96712]: read dev[0x29] reg[0x8a3] value=0xe4
[MCU2_0]   1054.824338 s: [MAX96712]: read dev[0x29] reg[0x8a4] value=0xe4
[MCU2_0]   1054.829344 s: [MAX96712]: read dev[0x29] reg[0x90a] value=0xd0
[MCU2_0]   1054.834357 s: [MAX96712]: read dev[0x29] reg[0x94a] value=0xd0
[MCU2_0]   1054.839350 s: [MAX96712]: read dev[0x29] reg[0x98a] value=0xd0
[MCU2_0]   1054.844345 s: [MAX96712]: read dev[0x29] reg[0x9ca] value=0xd0
[MCU2_0]   1054.849345 s: [MAX96712]: read dev[0x29] reg[0x8a2] value=0xf0
[MCU2_0]   1054.854347 s: [MAX96712]: read dev[0x29] reg[0x1c00] value=0xf4
[MCU2_0]   1054.859346 s: [MAX96712]: read dev[0x29] reg[0x1d00] value=0xf4
[MCU2_0]   1054.864344 s: [MAX96712]: read dev[0x29] reg[0x1e00] value=0xf4
[MCU2_0]   1054.869359 s: [MAX96712]: read dev[0x29] reg[0x1f00] value=0xf4
[MCU2_0]   1054.874348 s: [MAX96712]: read dev[0x29] reg[0x415] value=0x34
[MCU2_0]   1054.879351 s: [MAX96712]: read dev[0x29] reg[0x418] value=0x34
[MCU2_0]   1054.884342 s: [MAX96712]: read dev[0x29] reg[0x1c00] value=0xf5
[MCU2_0]   1054.889342 s: [MAX96712]: read dev[0x29] reg[0x1d00] value=0xf5
  1054.899621 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2] ... Done !!!
Creating graph
Initializing params for capture node
capture_config = 0x0xffffbbc5c080
Creating capture node
obj->capture_node = 0x0xffffbbc0a980
Display Set Target done
vxSetGraphScheduleConfig done
[MCU2_0]   1054.894341 s: [MAX96712]: read dev[0x29] reg[0x1e00] value=0xf5
[MCU2_0]   1054.899345 s: [MAX96712]: read dev[0x29] reg[0x1f00] value=0xf5
[MCU2_0]   1054.899387 s: [ox03c10_Config]: end config ox03c10...
[MCU2_0]   1054.899420 s: IM_SENSOR_CMD_CONFIG returning status = 0
Scaler is disabled
app_create_graph exiting
[app_single_cam_main]: app_create_graph done
[app_run_task]: Enter app_run_graph()
[app_run_graph] enter...
  1054.910161 s: ISS: Starting sensor [OX03C10-MAX96712-SG2] ... !!!


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System

 i: Dump [ar0233] reg status info

 o: Dump [ox03c10] reg status info
 x: Exit

 Enter Choice: [MCU2_0]   1054.910453 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
[MCU2_0]   1054.910535 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
  1054.912559 s: ISS: Starting sensor [OX03C10-MAX96712-SG2] ... !!!
get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/OX03C10-MAX96712-SG2/wdr
[MCU2_0]   1054.912371 s: Board_fpd96712Enable3gModels [MAX96717]: read reg[0x40b] value=0x2
[MCU2_0]   1054.913031 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:774]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!
o

[APP] Dump [ox03c10] gmsl2 reg info.
  1060.473186 s: ISS: Dump sensor [OX03C10-MAX96712-SG2] reg!!!
[MCU2_0]   1060.473287 s: IM_SENSOR_CMD_DUMP_REG: sensor_name=OX03C10-MAX96712-SG2
[MCU2_0]   1060.473647 s: [MAX96712]: read dev[0x29] reg[0x108] value=0x62
[MCU2_0]   1060.473945 s: [MAX96712]: read dev[0x29] reg[0x11a] value=0x62
[MCU2_0]   1060.474239 s: [MAX96712]: read dev[0x29] reg[0x12c] value=0x62


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System

 i: Dump [ar0233] reg status info

 o: Dump [ox03c10] reg status info
 x: Exit

 Enter Choice: [MCU2_0]   1060.474528 s: [MAX96712]: read dev[0x29] reg[0x13e] value=0x62
[MCU2_0]   1060.474810 s: [MAX96712]: read dev[0x29] reg[0x1dc] value=0x81
[MCU2_0]   1060.475098 s: [MAX96712]: read dev[0x29] reg[0x1fc] value=0x81
[MCU2_0]   1060.475384 s: [MAX96712]: read dev[0x29] reg[0x21c] value=0x81
[MCU2_0]   1060.475666 s: [MAX96712]: read dev[0x29] reg[0x23c] value=0x81
[MCU2_0]   1060.475949 s: [MAX96712]: read dev[0x29] reg[0x25c] value=0x80
[MCU2_0]   1060.476235 s: [MAX96712]: read dev[0x29] reg[0x27c] value=0x80
[MCU2_0]   1060.476520 s: [MAX96712]: read dev[0x29] reg[0x29c] value=0x80
[MCU2_0]   1060.476804 s: [MAX96712]: read dev[0x29] reg[0x2bc] value=0x80
[MCU2_0]   1060.477091 s: [MAX96717_A]: read dev[0x41] reg[0x102] value=0x0
[MCU2_0]   1060.477377 s: [MAX96717_A]: read dev[0x41] reg[0x10a] value=0x0
[MCU2_0]   1060.477658 s: [MAX96717_A]: read dev[0x41] reg[0x112] value=0x8a
[MCU2_0]   1060.477940 s: [MAX96717_A]: read dev[0x41] reg[0x11a] value=0x0
[MCU2_0]   1060.478224 s: [MAX96717_B]: read dev[0x42] reg[0x102] value=0x0
[MCU2_0]   1060.478510 s: [MAX96717_B]: read dev[0x42] reg[0x10a] value=0x0
[MCU2_0]   1060.478796 s: [MAX96717_B]: read dev[0x42] reg[0x112] value=0x8a
[MCU2_0]   1060.479085 s: [MAX96717_B]: read dev[0x42] reg[0x11a] value=0x0
[MCU2_0]   1060.479376 s: [MAX96717_C]: read dev[0x43] reg[0x102] value=0x0
[MCU2_0]   1060.479660 s: [MAX96717_C]: read dev[0x43] reg[0x10a] value=0x0
[MCU2_0]   1060.479943 s: [MAX96717_C]: read dev[0x43] reg[0x112] value=0x8a
[MCU2_0]   1060.480229 s: [MAX96717_C]: read dev[0x43] reg[0x11a] value=0x0
[MCU2_0]   1060.480519 s: [MAX96717_D]: read dev[0x44] reg[0x102] value=0x0
[MCU2_0]   1060.480800 s: [MAX96717_D]: read dev[0x44] reg[0x10a] value=0x0
[MCU2_0]   1060.481090 s: [MAX96717_D]: read dev[0x44] reg[0x112] value=0x8a
[MCU2_0]   1060.481377 s: [MAX96717_D]: read dev[0x44] reg[0x11a] value=0x0

s

YUV file name /opt/vision_apps/test_data/cap_0000.yuv
imgaddr_width = 1920
imgaddr_height = 1080
imgaddr_stride = 3840
width = 1920
height = 1080
Written 4147200 bytes
4147200 bytes written to /opt/vision_apps/test_data/cap_0000.yuv

Thanks!

  • Hi, expert:

    Thank you experts for your technical support!

    By reading the status register of the deserializer max96712 and the results obtained by the oscilloscope measurement, it can be confirmed that the max96712 has output data to TDA4, but it is strange that the software on the TDA4 side cannot enter the CsirxDrv_udmaCQEventCb() function.

    Obtain the following register information through the k3conf tool:

    DPHY_RX_VBUS2APB_WRAP_VBUSP_K3_DPHY_RX (0x04580B00) = 0x273
    
    CSI_RX_IF_VBUS2APB_STREAM0_CTRL (0x04504100) = 0x1
    
    -------------------------------> done
    CSI_RX_IF_VBUS2APB_STREAM0_CTRL Instances (0x04504100) = 0x1
            csi2rx status :  start
            csi2rx SOF_RST:  Enabled
    
    CSI_RX_IF_VBUS2APB_INFO_IRQS (0x04504020) = 0x0
            SP_RCVD_IRQ            : Short Packet received by the protocol module ---> No
            LP_RCVD_IRQ            : Long Packet received by the protocol module ---> No
            SLEEP_IRQ              : Sleep interrupt --> No
            WAKEUP_IRQ             : Wake-up interrupt --> No
            ECC_SPARES_NONZERO_IRQ : No
            DESKEW_ENTRY_IRQ       : Either clock or any datalane has entered deskew --> No
            SP_GENERIC_RCVD_IRQ    : A generic short packet has been received --> No
            STREAM0_STOP_IRQ       : Stream x Stop process complete --> No
            STREAM0_ABORT_IRQ      : Stream x Abort process complete --> No
            STREAM1_STOP_IRQ       : Stream x Stop process complete --> No
            STREAM1_ABORT_IRQ      : Stream x Abort process complete --> No
            STREAM2_STOP_IRQ       : Stream x Stop process complete --> No
            STREAM2_ABORT_IRQ      : Stream x Abort process complete --> No
            STREAM3_STOP_IRQ       : Stream x Stop process complete --> No
            STREAM3_ABORT_IRQ      : Stream x Abort process complete --> No
    
    CSI_RX_IF_VBUS2APB_INFO_IRQS (0x04504000) = 0x8421164c
            bit 0  : No
            bit 1  : No
            bit 2  : Yes
            bit 3  : Yes
            bit 4  : No
            bit 5  : No
            bit 6  : Yes
            bit 7  : No
            bit 8  : No
            bit 9  : Yes
            bit 10 : Yes
            bit 11 : No
            bit 12 : Yes
            bit 13 : No
            bit 14 : No
            bit 15 : No
            bit 16 : Yes
            bit 17 : No
            bit 18 : No
            bit 19 : No
            bit 20 : No
            bit 21 : Yes
            bit 22 : No
            bit 23 : No
            bit 24 : No
            bit 25 : No
            bit 26 : Yes
            bit 27 : No
            bit 28 : No
            bit 29 : No
            bit 30 : No
            bit 31 : Yes

    my question is:

    1) How do I locate where the max96712 data stream goes?

    2) Is the yuv file saved by typing 's' on the command line directly from max96712?

    3441.cap_0000.rar

    3) For the yuv422-8bit data format, does the app_single_cam program need to modify the code configuration? If necessary, please help to provide specific modification methods?

    Thanks!

  • Hi Youhua Liu,

    I see you are using more than 2Gbps lane speed. At this lane speed, CSIRX expects deskew calibration to be transmitted so CLK-DAT skew can be calibrated. Can you please check in deserializer and make sure to transmit deskew calibration? 

    Regards,

    Brijesh

  • Hi,Brijesh:

    To avoid deskew calibration, I set the lane speed of serializer and TDA4 to 1.5 Gbps, as follows:

    serializer max96717F lane speed:

    /*Set Data rate to be 1500Mbps/lane*/
    {0x29,0x0415,0x2F,0x10}, 
    {0x29,0x0418,0x2F,0x10},
    {0x29,0x041B,0x2F,0x10}, 
    {0x29,0x041E,0x2F,0x10},

    TDA4 lane speed:

    static IssSensor_CreateParams  ox03c10CreatePrms = {
        SENSOR_ONSEMI_OX03C10_MAX96712_SG2,     /*sensor name*/
        0x0,                             /*i2cInstId*/
        {
        	0x11, 0x12, 0x13, 0x14,
        	0x00, 0x00, 0x00, 0x00
    	}, /*i2cAddrSensor*/
        {
    		0x41, 0x42, 0x43, 0x44,    	
        	0x00, 0x00, 0x00, 0x00
    	}, /*i2cAddrSer*/
        /*IssSensor_Info*/
        {
            {
                OX03C10_OUT_WIDTH,               /*width*/
                OX03C10_OUT_HEIGHT,              /*height*/
                1,                              /*num_exposures*/
                vx_false_e,                     /*line_interleaved*/
                {
                    {VX_DF_IMAGE_UYVY, 7},    /*dataFormat and MSB [0]*/
                },
                0,                              /*meta_height_before*/
                0,                              /*meta_height_after*/
            },
            ISS_SENSOR_OX03C10_FEATURES,     /*features*/
            ALGORITHMS_ISS_AEWB_MODE_NONE,  /*aewbMode*/
            30,                             /*fps*/
            4,                              /*numDataLanes*/
            {1, 2, 3, 4},                   /*dataLanesMap*/
            {0, 0, 0, 0},                   /*dataLanesPolarity*/
            CSIRX_LANE_BAND_SPEED_1500_TO_1750_MBPS, /*csi_laneBandSpeed*/
        },
        1,                                  /*numChan*/
        5233,                               /*dccId*/
    };

    But the result of executing the app_single_cam example is the same as before.

    Also, reading 0x04504048 via devmem2 found:

    1) When the output of deserializer max96712 is turned on, the value of devmem2 0x04504048 will always be switched between 0x00222206 and 0x00333306 after multiple executions, as follows:

    /dev/mem opened.
    Memory mapped at address 0xffffa6820000.
    Read at address  0x04504048 (0xffffa6824048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff95b40000.
    Read at address  0x04504048 (0xffff95b44048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffa1300000.
    Read at address  0x04504048 (0xffffa1304048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffb8140000.
    Read at address  0x04504048 (0xffffb8144048): 0x00222206
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff8b4d0000.
    Read at address  0x04504048 (0xffff8b4d4048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff9b4e0000.
    Read at address  0x04504048 (0xffff9b4e4048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff82160000.
    Read at address  0x04504048 (0xffff82164048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffaa590000.
    Read at address  0x04504048 (0xffffaa594048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff819f0000.
    Read at address  0x04504048 (0xffff819f4048): 0x00222206
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffb3640000.
    Read at address  0x04504048 (0xffffb3644048): 0x00333306
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff86e10000.
    Read at address  0x04504048 (0xffff86e14048): 0x00333306

    2) When the output of deserializer max96712 is turned off, the value of devmem2 0x04504048 is always 0x00333307 after multiple executions:

    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffa6420000.
    Read at address  0x04504048 (0xffffa6424048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffb5e30000.
    Read at address  0x04504048 (0xffffb5e34048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffb68f0000.
    Read at address  0x04504048 (0xffffb68f4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffb5440000.
    Read at address  0x04504048 (0xffffb5444048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff83da0000.
    Read at address  0x04504048 (0xffff83da4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff9d3a0000.
    Read at address  0x04504048 (0xffff9d3a4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffa2ef0000.
    Read at address  0x04504048 (0xffffa2ef4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffa04a0000.
    Read at address  0x04504048 (0xffffa04a4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff98fa0000.
    Read at address  0x04504048 (0xffff98fa4048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffffa4e70000.
    Read at address  0x04504048 (0xffffa4e74048): 0x00333307
    root@j7-evm:~# ./devm.sh
    /dev/mem opened.
    Memory mapped at address 0xffff85b60000.
    Read at address  0x04504048 (0xffff85b64048): 0x00333307

    I don't know if this situation is normal, please expert give me some ideas to solve the problem.

    Thanks!

  • Hi youhua liu,

    In this case, can you please keep lane band speed to TIVX_CAPTURE_LANE_BAND_SPEED_1350_TO_1500_MBPS?

    In addition, please make sure to start/enable sensor and deserializer output only after vxVerifyGraph is called, ie in the streamon callback..

    Also please make sure that the virtual channel id and data type is configured correctly in the deserializer. Because if there is a mismatch, CSIRX will not capture the frames. 

    Regards,

    Brijesh

  • Hi, Brijesh:

    Thank you for your quick reply and technical support!

    According to your prompt, I have set the lane speed to TIVX_CAPTURE_LANE_BAND_SPEED_1350_TO_1500_MBPS, but there is still no image after executing the app_single_cam example.

    Because the deserializer max96712 register configuration is provided by Maxim FAE, I did not read the details carefully.

    The MAX96712 has two CSI interfaces, namely CSI1 and CS2. TDA4 CSI0 is connected to deserializer MAX96712 CSI1, in this case, how can I set virtual channel id and data type, please give an example,Thanks!

    Regards,

    Youhua

  • Hi Youhua Liu,

    From CSIRX, this is already taken care by setting VX_DF_IMAGE_UYVY data type and number of channel set to 1. Can you please check this with Maxim? 

    Also please make sure to start/enable output from deserializer only in streamon callback. 

    Regards,

    Brijesh

  • Hi,Brijesh:

    Thank you for your reply and support!

    The previous problem has been solved, and now the image can be generated. The problem is located in the MAX96712 output enable.

    But encountered a new problem. When executing the app_single_cam program, input 0 at the prompt "Select camera port index 0-7:" and the image output is normal, and input 1 or 2 or 3. The image display is abnormal. The following is the attachment of the abnormal image:

    1385.video.zip

    I added debugging information to CsirxDrv_udmaCQEventCb():459, and found that when 0 or 1 or 2 or 3 cameras are selected, the printing information is drvInstId=0x0 chId=0x0, and the debugging information is as follows:

    GT_2trace(CsirxTrace, GT_ERR, "drvInstId=0x%x chId=0x%x",chObj->instObj->drvInstId,chObj->chId); //@@@lyh

    The following are the configuration parameters of the camera driver:

    static IssSensor_CreateParams  ox03c10CreatePrms = {
        SENSOR_ONSEMI_OX03C10_MAX96712_SG2,     /*sensor name*/
        0x0,                             /*i2cInstId*/
        {
        	0x11, 0x12, 0x13, 0x14,
        	0x00, 0x00, 0x00, 0x00
    	}, /*i2cAddrSensor*/
        {
    		0x41, 0x42, 0x43, 0x44,    	
        	0x00, 0x00, 0x00, 0x00
    	}, /*i2cAddrSer*/
        /*IssSensor_Info*/
        {
            {
                OX03C10_OUT_WIDTH,               /*width*/
                OX03C10_OUT_HEIGHT,              /*height*/
                1,                              /*num_exposures*/
                vx_false_e,                     /*line_interleaved*/
                {
                    {VX_DF_IMAGE_UYVY, 7},    /*dataFormat and MSB [0]*/
                },
                0,                              /*meta_height_before*/
                0,                              /*meta_height_after*/
            },
            ISS_SENSOR_OX03C10_FEATURES,     /*features*/
            ALGORITHMS_ISS_AEWB_MODE_NONE,  /*aewbMode*/
            30,                             /*fps*/
            4,                              /*numDataLanes*/
            {1, 2, 3, 4},                   /*dataLanesMap*/
            {0, 0, 0, 0},                   /*dataLanesPolarity*/
            CSIRX_LANE_BAND_SPEED_1350_TO_1500_MBPS, /*csi_laneBandSpeed*/
        },
        4,                                  /*numChan*/
        5233,                               /*dccId*/
    };

    The following is the log information when executing the app_single_cam example:

    root@j7-evm:~/single# ./run_app_single_cam.sh
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       177.322894 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       177.331181 s:  VX_ZONE_INIT:Enabled
       177.331205 s:  VX_ZONE_ERROR:Enabled
       177.331211 s:  VX_ZONE_WARNING:Enabled
       177.336556 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
       177.336766 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    sensor_selection = [1]
    ldc_enable = [0]
    num_frames_to_run = [1000000]
    is_interactive = [1]
    IttCtrl_registerHandler: command echo registered at location 0
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
    IttCtrl_registerHandler: command iss_raw_save registered at location 3
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
    IttCtrl_registerHandler: command dev_ctrl registered at location 7
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
     NETWORK: Opened at IP Addr = 0.0.16.0, socket port=5000!!!
    tivxImagingLoadKernels done
       177.344983 s: ISS: Enumerating sensors ... !!!
    [MCU2_0]    177.345197 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
    [MCU2_0]    177.345443 s: [ybcs-dbg]: WKUP_GPIO0_29 before muxData: 0x8214007
    [MCU2_0]    177.345525 s: [ybcs-dbg]: WKUP_GPIO0_29 after muxData: 0x50007
    [MCU2_0]    177.345581 s: [ybcs-dbg]: MAIN_GPIO0_30 before muxData: 0x50007
    [MCU2_0]    177.345650 s: [ybcs-dbg]: MAIN_GPIO0_30 after muxData: 0x50007
    [MCU2_0]    177.345702 s: [ybcs-dbg]: MAIN_GPIO0_76 before muxData: 0x50007
    [MCU2_0]    177.345801 s: [ybcs-dbg]: MAIN_GPIO0_76 after muxData: 0x50007
    [MCU2_0]    177.395671 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0
    [MCU2_0]    177.445671 s: [Board_fpd9296Pwr9295]: GPIO0_30 Direction regVal = 0x1 before set.
    [MCU2_0]    177.445738 s: [Board_fpd9296Pwr9295]: GPIO0_30 Direction regVal = 0x0 after set.
    [MCU2_0]    177.445795 s: [Board_fpd9296Pwr9295]: GPIO0_30 Level regVal = 0x0 before set.
    [MCU2_0]    177.495668 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Direction regVal = 0x1 before set.
    [MCU2_0]    177.495735 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Direction regVal = 0x0 after set.
    [MCU2_0]    177.495793 s: [Board_fpd9296PwrAR0233]: GPIO0_29 Level regVal = 0x0 before set.
    [MCU2_0]    177.545668 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x1 before set.
    [MCU2_0]    177.545737 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 after set.
    [MCU2_0]    177.545797 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0 before set.
    [MCU2_0]    177.595667 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 before set.
    [MCU2_0]    177.595736 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Direction regVal = 0x0 after set.
    [MCU2_0]    177.595795 s: [Board_fpd9296PWDNB_Set]: GPIO0_76 Level regVal = 0x0 before set.
    [MCU2_0]    177.645665 s: [ybcs-dbg]: MAIN_GPIO0_31 before muxData: 0x50007
    [MCU2_0]    177.645734 s: [ybcs-dbg]: MAIN_GPIO0_31 after muxData: 0x50007
    [MCU2_0]    177.695668 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Direction regVal = 0x1 before set.
    [MCU2_0]    177.695738 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Direction regVal = 0x0 after set.
    [MCU2_0]    177.695797 s: [Board_fpd96712PwrMax6717]: GPIO0_31 Level regVal = 0x0 before set.
    [MCU2_0]    177.745688 s:
    [MCU2_0]    177.745736 s:
    [MCU2_0] Probing for 0 is in progress...
    [MCU2_0]    177.763762 s: I2C0: Passed for address 0x29 !!!
    [  171.547426] am65-cpsw-nuss 46000000.ethernet eth0: Link is Down
    
       177.800791 s: ISS: Enumerating sensors ... found 0 : AR0233-MAX9295-SG2
       177.800815 s: ISS: Enumerating sensors ... found 1 : OX03C10-MAX96712-SG2
    Select camera port index 0-7 : 1
    2 registered sensor drivers
    a : AR0233-MAX9295-SG2
    b : OX03C10-MAX96712-SG2
    Select a sensor above or press '0' to autodetect the sensor : b
    Sensor selected : OX03C10-MAX96712-SG2
    LDC Selection Yes(1)/No(0) : 0[  175.643628] am65-cpsw-nuss 46000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    
    [app_single_cam_main]: app_init done
    Querying OX03C10-MAX96712-SG2
       181.888616 s: ISS: Querying sensor [OX03C10-MAX96712-SG2] ... !!!
       181.889085 s: ISS: Querying sensor [OX03C10-MAX96712-SG2] ... Done !!!
    YUV Input selected. VISS and AEWB nodes will be bypassed.
    Sensor DCC is enabled
    Sensor width = 1920
    Sensor height = 1080
    Sensor DCC ID = 5233
    Sensor Supported Features = 0x100
    Sensor Enabled Features = 0x100
       181.889125 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2], doing IM_SENSOR_CMD_PWRON ... !!!
       181.889540 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2], doing IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0]    181.888819 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
    [MCU2_0]    181.888885 s: Received Query for OX03C10-MAX96712-SG2
    [MCU2_0]    181.889304 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    [MCU2_0]    181.889355 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x2
    [MCU2_0]    181.889750 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
    [MCU2_0]    181.889805 s: Application requested features = 0x100
    [MCU2_0]
    [MCU2_0]    181.889842 s: IM_SENSOR_CMD_CONFIG: channel_mask=0x2 sensor_name=OX03C10-MAX96712-SG2
    [MCU2_0]    181.889892 s: Configuring camera # 1
    [MCU2_0]    181.889937 s: [ox03c10_Config]: start config ox03c10...
       187.519505 s: ISS: Initializing sensor [OX03C10-MAX96712-SG2] ... Done !!!
    Creating graph
    Initializing params for capture node
    capture_config = 0x0xffff7ea98070
    Creating capture node
    obj->capture_node = 0x0xffff7ea46970
    Display Set Target done
    vxSetGraphScheduleConfig done
    [MCU2_0]    187.519263 s: [ox03c10_Config]: config ox03c10 done.
    [MCU2_0]    187.519302 s: IM_SENSOR_CMD_CONFIG returning status = 0
    Scaler is disabled
    app_create_graph exiting
    [app_single_cam_main]: app_create_graph done
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
     i: Dump [ar0233] reg status info
    
     o: Dump [ox03c10] reg status info
    
     n: ifconfig eth0 xxx.xxx.xxx.xxx
    
     m: stream_on start ouput stream
    
     w: stream_off stop ouput stream
    
     x: Exit
    
     Enter Choice: [app_run_task]: Enter app_run_graph()
    [app_run_graph] enter...
       187.528370 s: ISS: Starting sensor [OX03C10-MAX96712-SG2] ... !!!
       187.531112 s: ISS: Starting sensor [OX03C10-MAX96712-SG2] ... !!!
    get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/OX03C10-MAX96712-SG2/wdr
    [MCU2_0]    187.528538 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
    [MCU2_0]    187.528617 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x2
    [MCU2_0]    187.530924 s: Board_fpd96712StreamOn [MAX96717]: read reg[0x40b] value=0x2
    [MCU2_0]    187.531584 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:774]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!

    Thank you for your support, looking forward to your reply!

    Regards,

    Youhua

  • Hi Youhua,

    Can you please update latest status on this ticekt? Are you still facing issue in selecting the camera? 

    Regards,

    Brijesh