Tx1 CSI without I2c

Yes, both of them are “not” must have to implement functions.

You said before that they matter, my head is confused :))

@hburaksaruhan
Sorry, for my typo. Should be doesn’t matter.

Got my video0!!! There was a problem with channel.c where my debug comment interfered with a continue. So far so good.

Thank you a lot for now Shane. :)) You were a great help.

Now the real problem begins, I have to configure video0 such that it’ll be able to get video stream from our pre-configured camera.

While configuring for the specific video device, I know I need to change tegra210-camera-e3326-a00.dtsi

But do I also need to make any modification in ov5693.c/ov5693.h ?

Thank you! :)

(Do I need the CSI lanes connected? Camera is still not connected while I do these tests)

Tried

v4l2-ctl --list-devices

To see if the device is registered properly.
then

v4l2-ctl -d /dev/video0 --list-formats-ext

To see what resolutions are enabled.

The lowest-level capture with v4l2-ctl

v4l2-ctl --stream-mmap --stream-count=100 -d /dev/video0

first one outputed;

nvidia@tegra-ubuntu:~$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
         Index          :0
         Type           : Video Capture
         Pixel Format   :'RG10'
         Name           : 10-bit Bayer   RGRG/GBGB

And the others outputed nothing.

There were a lot of dmesg messages however, none of them included your PXL_EOF.
dmesg | grep PXL_EOF returned nothing.

[  373.639454] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  373.647181] regmap_util_write_table_8:regmap_util_write_table:-121
[  373.653989] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  373.661165] regmap_util_write_table_8:regmap_util_write_table:-121
[  373.668385] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  373.675313] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  373.682579] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  373.689567] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.195685] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:67a1, lanes:400000
[  374.205030] tegra_mipi_cal 700e3000.mipical: MIPI_CAL_CTRL                  0x00 0x2a000000
[  374.213736] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS            0x08 0x000067a1
[  374.223270] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS_2          0x0c 0x00000000
[  374.232144] tegra_mipi_cal 700e3000.mipical: CILA_MIPI_CAL_CONFIG           0x14 0x00000000
[  374.240647] tegra_mipi_cal 700e3000.mipical: CILB_MIPI_CAL_CONFIG           0x18 0x00000000
[  374.249142] tegra_mipi_cal 700e3000.mipical: CILC_MIPI_CAL_CONFIG           0x1c 0x00200000
[  374.257611] tegra_mipi_cal 700e3000.mipical: CILD_MIPI_CAL_CONFIG           0x20 0x00000000
[  374.266058] tegra_mipi_cal 700e3000.mipical: CILE_MIPI_CAL_CONFIG           0x24 0x00000000
[  374.274489] tegra_mipi_cal 700e3000.mipical: CILF_MIPI_CAL_CONFIG           0x28 0x00000000
[  374.282914] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG           0x38 0x00000000
[  374.291343] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG           0x3c 0x00000000
[  374.299766] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG           0x40 0x00000000
[  374.308191] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG           0x44 0x00000000
[  374.316622] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG0             0x58 0x00000000
[  374.324978] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG1             0x5c 0x00000000
[  374.333331] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG2             0x60 0x00000000
[  374.341674] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG_2         0x64 0x00000000
[  374.350019] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG_2         0x68 0x00000000
[  374.358362] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG_2         0x70 0x00000000
[  374.366703] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG_2         0x74 0x00000000
[  374.375064] vi 54080000.vi: mipi calibration failed
[  374.379940] vi 54080000.vi: calibration failed with -110 error
[  374.405937] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.412556] regmap_util_write_table_8:regmap_util_write_table:-121
[  374.418860] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.425643] regmap_util_write_table_8:regmap_util_write_table:-121
[  374.431898] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.438781] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.445580] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.452307] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  374.535617] video4linux video0: frame start syncpt timeout!0
[  374.748000] video4linux video0: frame start syncpt timeout!0
[  375.123567] video4linux video0: frame start syncpt timeout!0
[  375.491566] video4linux video0: frame start syncpt timeout!0
[  375.887573] video4linux video0: frame start syncpt timeout!0
[  376.251572] video4linux video0: frame start syncpt timeout!0
[  376.603571] video4linux video0: frame start syncpt timeout!0
[  376.983613] video4linux video0: frame start syncpt timeout!0
[  377.339570] video4linux video0: frame start syncpt timeout!0
[  377.711562] video4linux video0: frame start syncpt timeout!0
[  378.099573] video4linux video0: frame start syncpt timeout!0
[  378.200466] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  378.207083] regmap_util_write_table_8:regmap_util_write_table:-121
[  380.226126] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.234303] regmap_util_write_table_8:regmap_util_write_table:-121
[  380.243447] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.252577] regmap_util_write_table_8:regmap_util_write_table:-121
[  380.259173] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.266477] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.273731] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.280627] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  380.784566] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:67a1, lanes:400000
[  380.793765] tegra_mipi_cal 700e3000.mipical: MIPI_CAL_CTRL                  0x00 0x2a000000
[  380.802310] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS            0x08 0x000067a1
[  380.812853] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS_2          0x0c 0x00000000
[  380.821374] tegra_mipi_cal 700e3000.mipical: CILA_MIPI_CAL_CONFIG           0x14 0x00000000
[  380.830586] tegra_mipi_cal 700e3000.mipical: CILB_MIPI_CAL_CONFIG           0x18 0x00000000
[  380.839232] tegra_mipi_cal 700e3000.mipical: CILC_MIPI_CAL_CONFIG           0x1c 0x00200000
[  380.847788] tegra_mipi_cal 700e3000.mipical: CILD_MIPI_CAL_CONFIG           0x20 0x00000000
[  380.856261] tegra_mipi_cal 700e3000.mipical: CILE_MIPI_CAL_CONFIG           0x24 0x00000000
[  380.864718] tegra_mipi_cal 700e3000.mipical: CILF_MIPI_CAL_CONFIG           0x28 0x00000000
[  380.873253] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG           0x38 0x00000000
[  380.881860] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG           0x3c 0x00000000
[  380.890212] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG           0x40 0x00000000
[  380.898559] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG           0x44 0x00000000
[  380.906903] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG0             0x58 0x00000000
[  380.915294] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG1             0x5c 0x00000000
[  380.923649] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG2             0x60 0x00000000
[  380.931992] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG_2         0x64 0x00000000
[  380.940362] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG_2         0x68 0x00000000
[  380.948705] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG_2         0x70 0x00000000
[  380.957047] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG_2         0x74 0x00000000
[  380.965394] vi 54080000.vi: mipi calibration failed
[  380.970275] vi 54080000.vi: calibration failed with -110 error
[  380.995859] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.002533] regmap_util_write_table_8:regmap_util_write_table:-121
[  381.008720] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.015515] regmap_util_write_table_8:regmap_util_write_table:-121
[  381.021735] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.028673] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.035384] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.042153] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  381.127560] video4linux video0: frame start syncpt timeout!0
[  381.311583] video4linux video0: frame start syncpt timeout!0
[  381.671566] video4linux video0: frame start syncpt timeout!0
[  382.031563] video4linux video0: frame start syncpt timeout!0
[  382.379566] video4linux video0: frame start syncpt timeout!0
[  382.743609] video4linux video0: frame start syncpt timeout!0
[  383.139567] video4linux video0: frame start syncpt timeout!0
[  383.519608] video4linux video0: frame start syncpt timeout!0
[  383.899574] video4linux video0: frame start syncpt timeout!0
[  384.267608] video4linux video0: frame start syncpt timeout!0
[  384.647603] video4linux video0: frame start syncpt timeout!0
[  385.015574] video4linux video0: frame start syncpt timeout!0
[  385.407563] video4linux video0: frame start syncpt timeout!0
[  385.763568] video4linux video0: frame start syncpt timeout!0
[  386.151605] video4linux video0: frame start syncpt timeout!0
[  386.535608] video4linux video0: frame start syncpt timeout!0
[  386.927587] video4linux video0: frame start syncpt timeout!0
[  387.303563] video4linux video0: frame start syncpt timeout!0
[  387.687606] video4linux video0: frame start syncpt timeout!0
[  388.059608] video4linux video0: frame start syncpt timeout!0
[  388.439597] video4linux video0: frame start syncpt timeout!0
[  388.795610] video4linux video0: frame start syncpt timeout!0
[  389.191608] video4linux video0: frame start syncpt timeout!0
[  389.571609] video4linux video0: frame start syncpt timeout!0
[  389.943603] video4linux video0: frame start syncpt timeout!0
[  390.323609] video4linux video0: frame start syncpt timeout!0
[  390.703606] video4linux video0: frame start syncpt timeout!0
[  391.075611] video4linux video0: frame start syncpt timeout!0
[  391.447606] video4linux video0: frame start syncpt timeout!0
[  391.819600] video4linux video0: frame start syncpt timeout!0
[  392.195609] video4linux video0: frame start syncpt timeout!0
[  392.555564] video4linux video0: frame start syncpt timeout!0
[  392.899565] video4linux video0: frame start syncpt timeout!0
[  393.271567] video4linux video0: frame start syncpt timeout!0
[  393.619570] video4linux video0: frame start syncpt timeout!0
[  393.975564] video4linux video0: frame start syncpt timeout!0
[  394.327563] video4linux video0: frame start syncpt timeout!0
[  394.667570] video4linux video0: frame start syncpt timeout!0
[  395.027559] video4linux video0: frame start syncpt timeout!0
[  395.399614] video4linux video0: frame start syncpt timeout!0
[  395.747601] video4linux video0: frame start syncpt timeout!0
[  396.095571] video4linux video0: frame start syncpt timeout!0
[  396.471564] video4linux video0: frame start syncpt timeout!0
[  396.803561] video4linux video0: frame start syncpt timeout!0
[  397.151559] video4linux video0: frame start syncpt timeout!0
[  397.683593] video4linux video0: frame start syncpt timeout!0
[  398.107752] video4linux video0: frame start syncpt timeout!0
[  398.113969] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  398.121370] regmap_util_write_table_8:regmap_util_write_table:-121
[  399.464303] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  399.471440] regmap_util_write_table_8:regmap_util_write_table:-121
[  399.480762] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  399.488359] regmap_util_write_table_8:regmap_util_write_table:-121
[  399.495322] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  399.502996] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  399.510617] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  399.517821] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.023703] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:67a1, lanes:400000
[  400.031655] tegra_mipi_cal 700e3000.mipical: MIPI_CAL_CTRL                  0x00 0x2a000000
[  400.042579] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS            0x08 0x000067a1
[  400.053228] tegra_mipi_cal 700e3000.mipical: CIL_MIPI_CAL_STATUS_2          0x0c 0x00000000
[  400.061633] tegra_mipi_cal 700e3000.mipical: CILA_MIPI_CAL_CONFIG           0x14 0x00000000
[  400.070601] tegra_mipi_cal 700e3000.mipical: CILB_MIPI_CAL_CONFIG           0x18 0x00000000
[  400.079028] tegra_mipi_cal 700e3000.mipical: CILC_MIPI_CAL_CONFIG           0x1c 0x00200000
[  400.087386] tegra_mipi_cal 700e3000.mipical: CILD_MIPI_CAL_CONFIG           0x20 0x00000000
[  400.095755] tegra_mipi_cal 700e3000.mipical: CILE_MIPI_CAL_CONFIG           0x24 0x00000000
[  400.104107] tegra_mipi_cal 700e3000.mipical: CILF_MIPI_CAL_CONFIG           0x28 0x00000000
[  400.112483] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG           0x38 0x00000000
[  400.120829] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG           0x3c 0x00000000
[  400.129178] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG           0x40 0x00000000
[  400.137521] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG           0x44 0x00000000
[  400.145906] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG0             0x58 0x00000000
[  400.154250] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG1             0x5c 0x00000000
[  400.162591] tegra_mipi_cal 700e3000.mipical: MIPI_BIAS_PAD_CFG2             0x60 0x00000000
[  400.174922] tegra_mipi_cal 700e3000.mipical: DSIA_MIPI_CAL_CONFIG_2         0x64 0x00000000
[  400.183268] tegra_mipi_cal 700e3000.mipical: DSIB_MIPI_CAL_CONFIG_2         0x68 0x00000000
[  400.191619] tegra_mipi_cal 700e3000.mipical: DSIC_MIPI_CAL_CONFIG_2         0x70 0x00000000
[  400.199959] tegra_mipi_cal 700e3000.mipical: DSID_MIPI_CAL_CONFIG_2         0x74 0x00000000
[  400.208337] vi 54080000.vi: mipi calibration failed
[  400.213215] vi 54080000.vi: calibration failed with -110 error
[  400.239300] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.245991] regmap_util_write_table_8:regmap_util_write_table:-121
[  400.252350] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.259138] regmap_util_write_table_8:regmap_util_write_table:-121
[  400.265412] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.272335] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.279487] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.286213] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x36
[  400.371791] video4linux video0: frame start syncpt timeout!0
[  400.576062] video4linux video0: frame start syncpt timeout!0
[  400.975565] video4linux video0: frame start syncpt timeout!0
[  401.319566] video4linux video0: frame start syncpt timeout!0
[  401.715563] video4linux video0: frame start syncpt timeout!0
[  402.099573] video4linux video0: frame start syncpt timeout!0
[  402.487564] video4linux video0: frame start syncpt timeout!0
[  402.871579] video4linux video0: frame start syncpt timeout!0
[  403.255603] video4linux video0: frame start syncpt timeout!0
[  403.635573] video4linux video0: frame start syncpt timeout!0
[  404.015573] video4linux video0: frame start syncpt timeout!0
[  404.371581] video4linux video0: frame start syncpt timeout!0
[  404.775606] video4linux video0: frame start syncpt timeout!0
[  405.167571] video4linux video0: frame start syncpt timeout!0
[  405.515595] video4linux video0: frame start syncpt timeout!0
[  405.871588] video4linux video0: frame start syncpt timeout!0
[  406.219565] video4linux video0: frame start syncpt timeout!0
[  406.567564] video4linux video0: frame start syncpt timeout!0
[  406.923562] video4linux video0: frame start syncpt timeout!0
[  407.287493] video4linux video0: frame start syncpt timeout!0
[  407.655565] video4linux video0: frame start syncpt timeout!0
[  407.995609] video4linux video0: frame start syncpt timeout!0
[  408.379571] video4linux video0: frame start syncpt timeout!0
[  408.739583] video4linux video0: frame start syncpt timeout!0
[  409.095603] video4linux video0: frame start syncpt timeout!0
[  409.491493] video4linux video0: frame start syncpt timeout!0
[  409.891563] video4linux video0: frame start syncpt timeout!0
[  410.279570] video4linux video0: frame start syncpt timeout!0
[  410.679569] video4linux video0: frame start syncpt timeout!0
[  411.059566] video4linux video0: frame start syncpt timeout!0
[  411.455566] video4linux video0: frame start syncpt timeout!0
[  411.847562] video4linux video0: frame start syncpt timeout!0
[  412.235570] video4linux video0: frame start syncpt timeout!0
[  412.631567] video4linux video0: frame start syncpt timeout!0
[  413.023563] video4linux video0: frame start syncpt timeout!0
[  413.407569] video4linux video0: frame start syncpt timeout!0
[  413.807563] video4linux video0: frame start syncpt timeout!0
[  414.199569] video4linux video0: frame start syncpt timeout!0
[  414.583562] video4linux video0: frame start syncpt timeout!0
[  414.963575] video4linux video0: frame start syncpt timeout!0
[  415.327713] video4linux video0: frame start syncpt timeout!0
[  415.683616] video4linux video0: frame start syncpt timeout!0
[  416.027580] video4linux video0: frame start syncpt timeout!0
[  416.371578] video4linux video0: frame start syncpt timeout!0
[  416.715597] video4linux video0: frame start syncpt timeout!0
[  417.079616] video4linux video0: frame start syncpt timeout!0
[  417.415604] video4linux video0: frame start syncpt timeout!0
[  417.759598] video4linux video0: frame start syncpt timeout!0
[  418.107503] video4linux video0: frame start syncpt timeout!0
[  418.459615] video4linux video0: frame start syncpt timeout!0
[  418.803614] video4linux video0: frame start syncpt timeout!0
[  419.159603] video4linux video0: frame start syncpt timeout!0
[  419.531600] video4linux video0: frame start syncpt timeout!0
[  419.903608] video4linux video0: frame start syncpt timeout!0
[  420.279595] video4linux video0: frame start syncpt timeout!0
[  420.651620] video4linux video0: frame start syncpt timeout!0
[  421.023567] video4linux video0: frame start syncpt timeout!0
[  421.395604] video4linux video0: frame start syncpt timeout!0
[  421.767577] video4linux video0: frame start syncpt timeout!0
[  422.143612] video4linux video0: frame start syncpt timeout!0
[  422.523567] video4linux video0: frame start syncpt timeout!0
[  422.887563] video4linux video0: frame start syncpt timeout!0
[  423.271570] video4linux video0: frame start syncpt timeout!0
[  423.651575] video4linux video0: frame start syncpt timeout!0
[  424.039568] video4linux video0: frame start syncpt timeout!0
[  424.415569] video4linux video0: frame start syncpt timeout!0
[  424.835574] video4linux video0: frame start syncpt timeout!0
[  425.251730] video4linux video0: frame start syncpt timeout!0
[  425.663604] video4linux video0: frame start syncpt timeout!0
[  426.063606] video4linux video0: frame start syncpt timeout!0
[  426.447597] video4linux video0: frame start syncpt timeout!0
[  426.819607] video4linux video0: frame start syncpt timeout!0
[  427.191612] video4linux video0: frame start syncpt timeout!0
[  427.575577] video4linux video0: frame start syncpt timeout!0
[  427.943610] video4linux video0: frame start syncpt timeout!0
[  428.311561] video4linux video0: frame start syncpt timeout!0
[  428.655578] video4linux video0: frame start syncpt timeout!0
[  429.003608] video4linux video0: frame start syncpt timeout!0
[  429.383570] video4linux video0: frame start syncpt timeout!0
[  429.763564] video4linux video0: frame start syncpt timeout!0
[  430.147563] video4linux video0: frame start syncpt timeout!0
[  430.519559] video4linux video0: frame start syncpt timeout!0
[  430.899567] video4linux video0: frame start syncpt timeout!0
[  431.271575] video4linux video0: frame start syncpt timeout!0
[  431.663577] video4linux video0: frame start syncpt timeout!0
[  432.035604] video4linux video0: frame start syncpt timeout!0
[  432.403612] video4linux video0: frame start syncpt timeout!0
[  432.791583] video4linux video0: frame start syncpt timeout!0
[  433.175605] video4linux video0: frame start syncpt timeout!0
[  433.539581] video4linux video0: frame start syncpt timeout!0
[  433.927615] video4linux video0: frame start syncpt timeout!0
[  434.343572] video4linux video0: frame start syncpt timeout!0
[  434.735611] video4linux video0: frame start syncpt timeout!0
[  435.103613] video4linux video0: frame start syncpt timeout!0
[  435.487561] video4linux video0: frame start syncpt timeout!0
[  435.867574] video4linux video0: frame start syncpt timeout!0
[  436.267608] video4linux video0: frame start syncpt timeout!0
[  436.643606] video4linux video0: frame start syncpt timeout!0
[  437.027571] video4linux video0: frame start syncpt timeout!0
[  437.423608] video4linux video0: frame start syncpt timeout!0
[  437.795605] video4linux video0: frame start syncpt timeout!0
[  438.191603] video4linux video0: frame start syncpt timeout!0
[  438.567603] video4linux video0: frame start syncpt timeout!0
[  438.951609] video4linux video0: frame start syncpt timeout!0
[  439.339603] video4linux video0: frame start syncpt timeout!0
[  439.739567] video4linux video0: frame start syncpt timeout!0
[  440.119606] video4linux video0: frame start syncpt timeout!0
[  440.495604] video4linux video0: frame start syncpt timeout!0
[  440.887605] video4linux video0: frame start syncpt timeout!0
[  441.271599] video4linux video0: frame start syncpt timeout!0
[  441.659601] video4linux video0: frame start syncpt timeout!0
[  442.031705] video4linux video0: frame start syncpt timeout!0
[  442.423608] video4linux video0: frame start syncpt timeout!0
[  442.799603] video4linux video0: frame start syncpt timeout!0
[  443.175608] video4linux video0: frame start syncpt timeout!0
[  443.567569] video4linux video0: frame start syncpt timeout!0
[  443.947600] video4linux video0: frame start syncpt timeout!0
[  444.327605] video4linux video0: frame start syncpt timeout!0
[  444.691564] video4linux video0: frame start syncpt timeout!0
[  445.055569] video4linux video0: frame start syncpt timeout!0
[  445.423568] video4linux video0: frame start syncpt timeout!0
[  445.795566] video4linux video0: frame start syncpt timeout!0
[  446.175565] video4linux video0: frame start syncpt timeout!0
[  446.567558] video4linux video0: frame start syncpt timeout!0
[  446.951566] video4linux video0: frame start syncpt timeout!0
[  447.307570] video4linux video0: frame start syncpt timeout!0
[  447.667560] video4linux video0: frame start syncpt timeout!0
[  448.047565] video4linux video0: frame start syncpt timeout!0
[  448.443561] video4linux video0: frame start syncpt timeout!0
[  448.823563] video4linux video0: frame start syncpt timeout!0
[  449.203566] video4linux video0: frame start syncpt timeout!0
[  449.587560] video4linux video0: frame start syncpt timeout!0
[  449.979571] video4linux video0: frame start syncpt timeout!0
[  450.355558] video4linux video0: frame start syncpt timeout!0
[  450.739569] video4linux video0: frame start syncpt timeout!0
[  451.195597] video4linux video0: frame start syncpt timeout!0
[  451.575573] video4linux video0: frame start syncpt timeout!0
[  451.971610] video4linux video0: frame start syncpt timeout!0
[  452.355572] video4linux video0: frame start syncpt timeout!0
[  452.775596] video4linux video0: frame start syncpt timeout!0
[  453.187610] video4linux video0: frame start syncpt timeout!0
[  453.603571] video4linux video0: frame start syncpt timeout!0
[  454.027605] video4linux video0: frame start syncpt timeout!0
[  454.439593] video4linux video0: frame start syncpt timeout!0
[  454.855607] video4linux video0: frame start syncpt timeout!0
[  455.275604] video4linux video0: frame start syncpt timeout!0
[  455.695572] video4linux video0: frame start syncpt timeout!0
[  456.107580] video4linux video0: frame start syncpt timeout!0
[  456.531606] video4linux video0: frame start syncpt timeout!0
[  456.943607] video4linux video0: frame start syncpt timeout!0
[  457.359602] video4linux video0: frame start syncpt timeout!0
[  457.779604] video4linux video0: frame start syncpt timeout!0
[  458.199604] video4linux video0: frame start syncpt timeout!0
[  458.619574] video4linux video0: frame start syncpt timeout!0
[  459.023608] video4linux video0: frame start syncpt timeout!0
[  459.407575] video4linux video0: frame start syncpt timeout!0
[  459.791608] video4linux video0: frame start syncpt timeout!0
[  460.171609] video4linux video0: frame start syncpt timeout!0
[  460.563609] video4linux video0: frame start syncpt timeout!0
[  460.947604] video4linux video0: frame start syncpt timeout!0
[  461.363607] video4linux video0: frame start syncpt timeout!0
[  461.743613] video4linux video0: frame start syncpt timeout!0
[  462.155566] video4linux video0: frame start syncpt timeout!0
[  462.567602] video4linux video0: frame start syncpt timeout!0
[  462.983575] video4linux video0: frame start syncpt timeout!0
[  463.399608] video4linux video0: frame start syncpt timeout!0
[  463.811576] video4linux video0: frame start syncpt timeout!0
[  464.235596] video4linux video0: frame start syncpt timeout!0
[  464.651571] video4linux video0: frame start syncpt timeout!0
[  465.071604] video4linux video0: frame start syncpt timeout!0
[  465.487601] video4linux video0: frame start syncpt timeout!0
[  465.903605] video4linux video0: frame start syncpt timeout!0
[  466.311599] video4linux video0: frame start syncpt timeout!0
[  466.731611] video4linux video0: frame start syncpt timeout!0
[  467.151572] video4linux video0: frame start syncpt timeout!0
[  467.571601] video4linux video0: frame start syncpt timeout!0
[  467.979603] video4linux video0: frame start syncpt timeout!0
[  468.391576] video4linux video0: frame start syncpt timeout!0
[  468.811611] video4linux video0: frame start syncpt timeout!0
[  469.219607] video4linux video0: frame start syncpt timeout!0
[  469.643597] video4linux video0: frame start syncpt timeout!0
[  470.059599] video4linux video0: frame start syncpt timeout!0
[  470.471612] video4linux video0: frame start syncpt timeout!0
[  470.887616] video4linux video0: frame start syncpt timeout!0
[  471.303604] video4linux video0: frame start syncpt timeout!0
[  471.723608] video4linux video0: frame start syncpt timeout!0
[  472.131600] video4linux video0: frame start syncpt timeout!0
[  472.555615] video4linux video0: frame start syncpt timeout!0
[  472.979604] video4linux video0: frame start syncpt timeout!0
[  473.391604] video4linux video0: frame start syncpt timeout!0
[  473.807577] video4linux video0: frame start syncpt timeout!0
[  474.231608] video4linux video0: frame start syncpt timeout!0
[  474.651616] video4linux video0: frame start syncpt timeout!0
[  475.043597] video4linux video0: frame start syncpt timeout!0
[  475.419601] video4linux video0: frame start syncpt timeout!0
[  475.783580] video4linux video0: frame start syncpt timeout!0
[  476.147577] video4linux video0: frame start syncpt timeout!0
[  476.499576] video4linux video0: frame start syncpt timeout!0
[  476.859569] video4linux video0: frame start syncpt timeout!0
[  477.203615] video4linux video0: frame start syncpt timeout!0
[  477.555605] video4linux video0: frame start syncpt timeout!0
[  477.899608] video4linux video0: frame start syncpt timeout!0
[  478.255583] video4linux video0: frame start syncpt timeout!0
[  478.611608] video4linux video0: frame start syncpt timeout!0
[  478.963608] video4linux video0: frame start syncpt timeout!0
[  479.311623] video4linux video0: frame start syncpt timeout!0
[  479.675612] video4linux video0: frame start syncpt timeout!0
[  480.015612] video4linux video0: frame start syncpt timeout!0
[  480.399565] video4linux video0: frame start syncpt timeout!0
[  480.779604] video4linux video0: frame start syncpt timeout!0
[  481.175565] video4linux video0: frame start syncpt timeout!0
[  481.551580] video4linux video0: frame start syncpt timeout!0
[  481.931678] video4linux video0: frame start syncpt timeout!0
[  482.323602] video4linux video0: frame start syncpt timeout!0
[  482.707568] video4linux video0: frame start syncpt timeout!0
[  483.095568] video4linux video0: frame start syncpt timeout!0
[  483.479604] video4linux video0: frame start syncpt timeout!0
[  483.863605] video4linux video0: frame start syncpt timeout!0
[  484.247565] video4linux video0: frame start syncpt timeout!0
[  484.627605] video4linux video0: frame start syncpt timeout!0
[  485.011610] video4linux video0: frame start syncpt timeout!0
[  485.399606] video4linux video0: frame start syncpt timeout!0
[  485.783609] video4linux video0: frame start syncpt timeout!0
[  486.179605] video4linux video0: frame start syncpt timeout!0
[  486.567602] video4linux video0: frame start syncpt timeout!0
[  486.951606] video4linux video0: frame start syncpt timeout!0
[  487.315611] video4linux video0: frame start syncpt timeout!0
[  487.663605] video4linux video0: frame start syncpt timeout!0
[  488.011609] video4linux video0: frame start syncpt timeout!0
[  488.379612] video4linux video0: frame start syncpt timeout!0
[  488.767605] video4linux video0: frame start syncpt timeout!0
[  489.151600] video4linux video0: frame start syncpt timeout!0
  1. Looks like the i2c code from the driver not remove clean still saw the i2c access no ack message.
  2. Did you probe the MIPI signal to make sure the device was output validate data to MIPI bus.
  3. enable the debug print at csi2_fops.c to print the error status.

Thank you Shane. But my camera is still not connected while I do these tests.

Can you please tell me the correct commands to test if /dev/video0 works correctly, for both with camera and without camera.

You can’t test without camera.

Have a check below doc for the command to capture image from video input device.

[url]https://docs.nvidia.com/jetson/l4t/Tegra%20Linux%20Driver%20Package%20Development%20Guide/camera_sensor_prog.html#wwpID0E0HF0HA[/url]

nvidia@tegra-ubuntu:~$ v4l2-ctl --list-devices
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
vi-output, my_in 6-0036 (platform:54080000.vi:2):
          /dev/video0
          /dev/v4l-subdev1
          /dev/v4l-subdev0

Is this normal for pre-configured camera? (Camera is still not connected, trying to figure out drivers without it.

nvidia@tegra-ubuntu:~$ v4l2-ctl --list-devices
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
vi-output, my_in 6-0036 (platform:54080000.vi:2):
          /dev/video0
          /dev/v4l-subdev1
          /dev/v4l-subdev0

Is this normal for pre-configured camera? (Camera is still not connected, trying to figure out drivers without it.

i2c errors are all gone now, but still get

vi 54080000.vi: mipi calibration failed
vi 54080000.vi: calibration failed -110 error
tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:67a1, lanes:400000

You can ignore the calibration message if your output resolution is not much higher.
Also the can ignore the “VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device” message.

i want to change pixel_t = “bayer_bggr”; -----------> yuv422 format
i want to change output depth 10bit -----------> 8bit;

how to configure the device tree file? which files do I need to configure?

Have a reference to below topic for YUV sensor.

https://devtalk.nvidia.com/default/topic/972192
https://devtalk.nvidia.com/default/topic/976709
https://devtalk.nvidia.com/default/topic/977871
https://devtalk.nvidia.com/default/topic/981601

Thanks Shane. I checked them, but still have some questions.

  1. What are the “must” be correct parameters for /dev/video0 to be configured correctly? There are a lot of parameters here and in the sensor programming guide, but I dont think all are necessary.

i2c@546c0000 {
			// avdd_dsi_csi-supply = <&max77620_ldo0>;

			status = "okay";

			#address-cells = <1>;
			#size-cells = <0>;

			my_video_in@01 {
				compatible = "my_video_in";
				/* I2C device address */
				reg = <0x36>; 

				/* V4L2 device node location */
				devnode = "video0";

				/* Physical dimensions of sensor */
				physical_w = "3.674";
				physical_h = "2.738";

				/* Sensor output flip settings */
				vertical-flip = "true";

				/* Define any required hw resources needed by driver */
				/* ie. clocks, io pins, power sources */
				avdd-reg = "vana";
				iovdd-reg = "vif";
				status = "okay";

				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_multiplier
				*
				*
				*
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* pixel_t = "";
				* The sensor readout pixel pattern
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* mclk_multiplier = "";
				* Multiplier to MCLK to help time hardware capture sequence
				* TODO: Assign to PLL_Multiplier as well until fixed in core
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*/
				mode0 { // OV5693_MODE_2592X1944
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_c";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "2592";
					active_h = "1944";
					pixel_t = "bayer_bggr";
					readout_orientation = "90";
					line_length = "2688";
					inherent_gain = "1";
					mclk_multiplier = "6.67";
					pix_clk_hz = "160000000";

					min_gain_val = "1.0";
					max_gain_val = "16";
					min_hdr_ratio = "1";
					max_hdr_ratio = "64";
					min_framerate = "1.816577";
					max_framerate = "30";
					min_exp_time = "34";
					max_exp_time = "550385";
				};

				mode1 { //OV5693_MODE_2592X1458
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_c";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "2592";
					active_h = "1458";
					pixel_t = "bayer_bggr";
					readout_orientation = "90";
					line_length = "2688";
					inherent_gain = "1";
					mclk_multiplier = "6.67";
					pix_clk_hz = "160000000";

					min_gain_val = "1.0";
					max_gain_val = "16";
					min_hdr_ratio = "1";
					max_hdr_ratio = "64";
					min_framerate = "1.816577";
					max_framerate = "30";
					min_exp_time = "34";
					max_exp_time = "550385";
				};

				mode2 { //OV5693_MODE_1280X720
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_c";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_bggr";
					readout_orientation = "90";
					line_length = "1752";
					inherent_gain = "1";
					mclk_multiplier = "6.67";
					pix_clk_hz = "160000000";

					min_gain_val = "1.0";
					max_gain_val = "16";
					min_hdr_ratio = "1";
					max_hdr_ratio = "64";
					min_framerate = "2.787078";
					max_framerate = "120";
					min_exp_time = "22";
					max_exp_time = "358733";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						status = "okay";
						e3326_ov5693_out0: endpoint {
							csi-port = <2>;
							bus-width = <2>;
							status = "okay";
							remote-endpoint = <&e3326_csi_in0>;
						};
					};
				};
			};
		};
	};

	e3326_lens_ov5693@P5V27C {
		min_focus_distance = "0.0";
		hyper_focal = "0.0";
		focal_length = "2.67";
		f_number = "2.0";
		aperture = "2.0";
	};

	tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		/**
		* Physical settings to calculate max ISO BW
		*
		* num_csi_lanes = <>;
		* Total number of CSI lanes when all cameras are active
		*
		* max_lane_speed = <>;
		* Max lane speed in Kbit/s
		*
		* min_bits_per_pixel = <>;
		* Min bits per pixel
		*
		* vi_peak_byte_per_pixel = <>;
		* Max byte per pixel for the VI ISO case
		*
		* vi_bw_margin_pct = <>;
		* Vi bandwidth margin in percentage
		*
		* isp_peak_byte_per_pixel = <>;
		* Max byte per pixel for the ISP ISO case
		*
		* isp_bw_margin_pct = <>;
		* Isp bandwidth margin in percentage
		*/
		num_csi_lanes = <4>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <10>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		isp_peak_byte_per_pixel = <2>;
		isp_bw_margin_pct = <25>;

		/**
		* The general guideline for naming badge_info contains 3 parts, and is as follows,
		* The first part is the camera_board_id for the module; if the module is in a FFD
		* platform, then use the platform name for this part.
		* The second part contains the position of the module, ex. “rear” or “front”.
		* The third part contains the last 6 characters of a part number which is found
		* in the module's specsheet from the vender.
		*/
		modules {
			module0 {
				badge = "e3326_front_P5V27C";
				position = "rear";
				orientation = "1";
				status = "okay";
				drivernode0 {
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver's v4l2 device name */
					devname = "ov5693 6-0036";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/my_video_in@01";
				};
				drivernode1 {
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/e3326_lens_ov5693@P5V27C/";
				};
			};
		};
	};

I think the “tegra-camera-platform” device-tree is what matters right? Are i2c@546c0000–>my_video_in@01 parameters are only used for configuring the camera? Or are they used in defining the /dev/video0 as well?

  1. If the modeX matters for not just configuring the camera, but also configuring the video stream, how are modeX decided? Do I need to specifically set the mode somewhere, or does JetsonTx1 select the most appropriate mode itself?

Thank you very much.

For your case below must be correct.

num_lanes = "2";
					tegra_sinterface = "serial_c";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "2592";
					active_h = "1458";
					pixel_t = "bayer_bggr";
					readout_orientation = "90";


					mclk_multiplier = "6.67";
					pix_clk_hz = "160000000

Hello Shane. Thank you again.

I gave numbers for each question, If you can answer them referring to numbers I’d be really happy.
Thanks for all the help and patience you’ve shown to us.

mode0 { // OV5693_MODE_2592X1944
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

...
...
...
				};

As I said before, we’re using a 4-lane MIPI CSI-2 yuv422 camera input. We’ve checked the Sensor Programming Guide configuration for lanes, and it is serial_a and num_lanes=4 in the modeX.

1)But what confuses us is that what are these csi-port and bus-width then?(e3326_vi_in0, e3326_csi_in0, e3326_ov5693_out0) Do we need to modify this as well? (I guess so)

vi {
			num-channels = <1>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					status = "okay";
					e3326_vi_in0: endpoint {
						csi-port = <2>;
						bus-width = <2>;
						status = "okay";
						remote-endpoint = <&e3326_csi_out0>;
					};
				};
			};
		};
		nvcsi {
			num-channels = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			channel@0 {
				reg = <0>;
				status = "okay";
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						status = "okay";
						e3326_csi_in0: endpoint@0 {
							csi-port = <2>;
							bus-width = <2>;
							status = "okay";
							remote-endpoint = <&e3326_ov5693_out0>;
						};
					};

e3326_vi_in0, e3326_csi_in0, e3326_ov5693_out0. They all use;

csi-port = <2>;
bus-width = <2>;

2)Is this okey for a 4-lane, mipi csi2 camera? I think we need to change them.
3)We still don’t know how to select the mode of our choice. How do we select the mode we want?

The csi-port and bus-width must be correct for the vi/nvcsi scope too.

CSIA is 0 CSIF is 5 bus-width the same with the lane number. For your case should be like below.

csi-port = <0>;
bus-width = <4>;

How does the mode selection works? Any knowledge on that one Shane? At the worst case, we’ll delete all the other mode’s and just stick with mode0 of our choice.

Thank you.

The width and high can request from the application layer and vi/sensor driver handle it.
It’s better to support one mode to reduce the problem.