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.

J784S4XEVM: D3 Engineering IMX390 not detected

Part Number: J784S4XEVM
Other Parts Discussed in Thread: TDA4VH

Tool/software:

Hi,

after loading the fusion board overlays properly and having a camera attached at port 0 I get the following outputs:

name_overlays=k3-j784s4-evm-virt-mac-client.dtbo k3-j784s4-edgeai-apps.dtbo k3-j721s2-evm-fusion.dtbo k3-fpdlink-imx390-rcm-0-0.dtbo


Powering the EVM first

fusion board dmesg:

root@ve-vob-0001a:~# dmesg | grep ds90
[    4.361742] ds90ub960 3-0036: supply vddio not found, using dummy regulator
[    4.367732] ds90ub960 3-0036: ub960_write: cannot write register 0x01 (-121)!
[    4.367799] ds90ub960 3-0036: reset failed: -121
[    4.367877] ds90ub960 3-0036: ub960_read: cannot read register 0x03 (-121)!
[    4.367882] ds90ub960 3-0036: error -EREMOTEIO: Cannot read first register, abort
[    4.368089] ds90ub960: probe of 3-0036 failed with error -121
[    4.368225] ds90ub960 3-003d: supply vddio not found, using dummy regulator
[    4.368516] ds90ub960 3-003d: ub960_write: cannot write register 0x01 (-121)!
[    4.368568] ds90ub960 3-003d: reset failed: -121
[    4.368617] ds90ub960 3-003d: ub960_read: cannot read register 0x03 (-121)!
[    4.368621] ds90ub960 3-003d: error -EREMOTEIO: Cannot read first register, abort
[    4.368706] ds90ub960: probe of 3-003d failed with error -121

i2cdetect:

root@ve-vob-0001a:~# i2cdetect -y -r 0x2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
root@ve-vob-0001a:~# i2cdetect -y -r 0x3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: 30 -- -- -- -- -- -- -- -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

v4l2-ctl:

root@ve-vob-0001a:~# v4l2-ctl --list-devices
TI-CSI2RX (platform:4500000.ticsi2rx):
	/dev/media0

TI-CSI2RX (platform:4510000.ticsi2rx):
	/dev/media1

TI-CSI2RX (platform:4520000.ticsi2rx):
	/dev/media2

wave5-dec (platform:wave5-dec):
	/dev/video0
	/dev/video2

wave5-enc (platform:wave5-enc):
	/dev/video1
	/dev/video3

media-ctl:

root@ve-vob-0001a:~# media-ctl -p
Media controller API version 6.1.80

Media device information
------------------------
driver          j721e-csi2rx
model           TI-CSI2RX
serial          
bus info        platform:4500000.ticsi2rx
hw revision     0x1
driver version  6.1.80

Device topology
- entity 1: 4500000.ticsi2rx (9 pads, 0 link, 0 route)
            type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
	pad1: Source
	pad2: Source
	pad3: Source
	pad4: Source
	pad5: Source
	pad6: Source
	pad7: Source
	pad8: Source

- entity 11: cdns_csi2rx.4504000.csi-bridge (5 pads, 0 link, 0 route)
             type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
	pad1: Source
	pad2: Source
	pad3: Source
	pad4: Source


Powering the Fusion Board first

fusion board dmesg:

root@ve-vob-0001a:~# dmesg | grep ds90
[    4.618700] ds90ub960 3-0036: supply vddio not found, using dummy regulator
[    4.629852] ds90ub960 3-003d: supply vddio not found, using dummy regulator
[    5.044661] ds90ub953 3-0044: Found ub953 rev/mask 0x20
[    5.066377] ds90ub960 3-003d: Consider updating driver ds90ub960 to match on endpoints
[    5.102237] ds90ub960 3-0036: Consider updating driver ds90ub960 to match on endpoints

i2cdetect:

root@ve-vob-0001a:~# i2cdetect -y -r 0x2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
root@ve-vob-0001a:~# i2cdetect -y -r 0x3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- UU -- -- -- -- -- -- UU -- -- 
40: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

v4l2-ctl:

root@ve-vob-0001a:~# v4l2-ctl --list-devices
TI-CSI2RX (platform:4500000.ticsi2rx):
	/dev/media0

j721e-csi2rx (platform:4510000.ticsi2rx):
	/dev/video4
	/dev/video5
	/dev/video6
	/dev/video7
	/dev/video8
	/dev/video9
	/dev/video10
	/dev/video11
	/dev/media1

TI-CSI2RX (platform:4520000.ticsi2rx):
	/dev/media2

wave5-dec (platform:wave5-dec):
	/dev/video0
	/dev/video2

wave5-enc (platform:wave5-enc):
	/dev/video1
	/dev/video3

media-ctl:

root@ve-vob-0001a:~# media-ctl -p
Media controller API version 6.1.80

Media device information
------------------------
driver          j721e-csi2rx
model           TI-CSI2RX
serial          
bus info        platform:4500000.ticsi2rx
hw revision     0x1
driver version  6.1.80

Device topology
- entity 1: 4500000.ticsi2rx (9 pads, 0 link, 0 route)
            type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
	pad1: Source
	pad2: Source
	pad3: Source
	pad4: Source
	pad5: Source
	pad6: Source
	pad7: Source
	pad8: Source

- entity 11: cdns_csi2rx.4504000.csi-bridge (5 pads, 1 link, 0 route)
             type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
		<- "ds90ub960 3-003d":4 [ENABLED,IMMUTABLE]
	pad1: Source
	pad2: Source
	pad3: Source
	pad4: Source

- entity 17: ds90ub960 3-003d (6 pads, 2 links, 0 route)
             type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
		<- "ds90ub953 3-0044":1 [ENABLED,IMMUTABLE]
	pad1: Sink
	pad2: Sink
	pad3: Sink
	pad4: Source
		-> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]
	pad5: Source

- entity 26: ds90ub953 3-0044 (2 pads, 1 link, 0 route)
             type V4L2 subdev subtype Unknown flags 0
	pad0: Sink
	pad1: Source
		-> "ds90ub960 3-003d":0 [ENABLED,IMMUTABLE]

init_script.sh

root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh 
root@ve-vob-0001a:/opt/edgeai-gst-apps# 

is there anything I am missing to make this work?

  • Hi Richard,

    Power the fusion board first every time. Could you share which SDK version you are using? Have you tried swapping CSI ports?

    Thank you,

    Fabiana

  • Hi Fabiana,

    we use SDK 09_02_00_05

    When switching to CSI interface 1-0 instead of 0-0 it looks like this. But the rest is identical

    root@ve-vob-0001a:/etc# media-ctl -p
    Media controller API version 6.1.80
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:4500000.ticsi2rx
    hw revision     0x1
    driver version  6.1.80
    
    Device topology
    - entity 1: 4500000.ticsi2rx (9 pads, 9 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
    	routes:
    		0/0 -> 1/0 [ACTIVE]
    	pad0: Sink
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    		<- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
    	pad1: Source
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    		-> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
    	pad2: Source
    		-> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
    	pad3: Source
    		-> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
    	pad4: Source
    		-> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
    	pad5: Source
    		-> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
    	pad6: Source
    		-> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    	pad7: Source
    		-> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE]
    	pad8: Source
    		-> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE]
    
    - entity 11: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 1 route)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev1
    	routes:
    		0/0 -> 1/0 [ACTIVE]
    	pad0: Sink
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    		<- "ds90ub960 3-003d":4 [ENABLED,IMMUTABLE]
    	pad1: Source
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    		-> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
    	pad2: Source
    	pad3: Source
    	pad4: Source
    
    - entity 17: ds90ub960 3-003d (6 pads, 1 link, 1 route)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev2
    	routes:
    		0/0 -> 4/0 [ACTIVE]
    	pad0: Sink
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    	pad1: Sink
    	pad2: Sink
    	pad3: Sink
    	pad4: Source
    		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
    		-> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]
    	pad5: Source
    
    - entity 28: 4500000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
    	pad0: Sink
    		<- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 34: 4500000.ticsi2rx context 1 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
    	pad0: Sink
    		<- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 40: 4500000.ticsi2rx context 2 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
    	pad0: Sink
    		<- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 46: 4500000.ticsi2rx context 3 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
    	pad0: Sink
    		<- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 52: 4500000.ticsi2rx context 4 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
    	pad0: Sink
    		<- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 58: 4500000.ticsi2rx context 5 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video9
    	pad0: Sink
    		<- "4500000.ticsi2rx":6 [ENABLED,IMMUTABLE]
    
    - entity 64: 4500000.ticsi2rx context 6 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video10
    	pad0: Sink
    		<- "4500000.ticsi2rx":7 [ENABLED,IMMUTABLE]
    
    - entity 70: 4500000.ticsi2rx context 7 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video11
    	pad0: Sink
    		<- "4500000.ticsi2rx":8 [ENABLED,IMMUTABLE]
    

  • Hello,

    It sounds like you have an IMX390 Discovery Camera - which is not the same as an IMX390 RCM.  Perhaps there's another device tree overlay for the discovery camera? If not, it's likely not supported in the edge-ai style releases yet.

    I have tested the IMX390 Discovery Camera on the TDA4vH platform and found it works in 9.2 when running it based on the linux + RTOS SDK.

  • Hi Richard,

    Are you using the D3RCM-IMX390-953 rugged camera module? If not, could you share which camera module you are using?

    Thank you,

    Fabiana

  • Hello, yes we are using the Discovery Sony IMX390:

    We have the following modules:
    2x DesignCore® Discovery Sony IMX390 97°
    2x DesignCore® Discovery Sony IMX390 180°

    I do not see a D3RCM-IMX390-953 module on the D3 Engineering website. Is this camera still available for purchase?

  • Hi Richard,

    This is the sensor that is currently supported on our Linux SDK: https://www.d3engineering.com/product/designcore-d3rcm-imx390-953-rugged-camera-module/

    The IMX390 Discovery sensor is supported on the RTOS SDK and I am having discussions with our imaging team about whether there is an overlay available for this model. I will update this thread once I receive an answer.

    Thank you,

    Fabiana

  • Hi Richard,

    The DesignCore® Discovery Sony IMX390 is supported on Linux + RTOS SDK, but not on Linux or Edge AI SDKs. The D3RCM-IMX390-953 Rugged Camera Module is supported on all SDK platforms for this device.

    Thank you,

    Fabiana

  • Thank you Fabiana,

    we are about to receive the RCMs to use them instead.