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.

SK-TDA4VM: Can't probe ds90ub953 and imx390 when using SDK 9.1

Part Number: SK-TDA4VM
Other Parts Discussed in Thread: TDA4VM

We intend to use us90ub954ds 90ub9543 and imx390 to capture images.

when using SDK8.6,everything is OK. In addition to the incorrect I2C address of the default device tree (ds90ub954  I2C 0X3d->0x30;imx390 I2C: 0x1a -> 0x21)

But when we use SDK9.1 which downloads from TI.com,90ub9543 and imx390 probe failed.

We have tried the following ways:

1.modify uEnv.txt (ds90ub954  I2C 0X3d->0x30,otherwise TDA4VM cannot probe 954)

name_overlays=k3-j721e-edgeai-apps.dtbo k3-j721e-fpdlink-sk-fusion.dtbo k3-j721e-fpdlink-imx390-rcm-0-0.dtbo
at this time, we find that the 954 can be probed normally,but  90ub9543 and imx390 probe failed,even we can't find any message about  90ub9543 and imx390 in the kernel log 
 media-ctl -p:
2、We tried to modify the I2c addresses of the serializer and sensor in K3-J721E-FPDLINK-IMX390-RCM-0-0.DTBO, and tried as follows:
a、The serializer address is assigned to the serializer in turn according to the addresses 4a~4f that can be assigned in the deserializer device tree, and all of them fail to be identified, but the development board can be started
b、If you change the Sensor I2C address to the 0x21 given by the manufacturer, the development board will not even start, and an error will be reported after it is stuck

c、We also found in the forum that the imx390_serdes_config.h file defines rcm/cm and the corresponding address, etc., and we also tried to change the I2C address corresponding to rcm in the file to 0x21, but it cannot be started, and an error is reported after getting stuck. In short, we found that as long as the default 0x1a address of the camera is changed, the development board will definitely fail to boot and an error will be reported
the command wo used to complie the dtbo is:
cpp -nostdinc -I. -undef -x assembler-with-cpp k3-fpdlink-imx390-rcm-0-0.dtso > k3-fpdlink-imx390-rcm-0-0.dts
dtc -I dts -O dtb -b 0 -o k3-fpdlink-imx390-rcm-0-0.dtbo k3-fpdlink-imx390-rcm-0-0.dts
how can we probe imx390 and ds90ub953 successfully?
  • Hello,

    Could you try modifying uEnv.txt to the following:

    name_overlays=k3-j721e-edgeai-apps.dtbo k3-j721e-sk-fusion.dtbo k3-fpdlink-imx390-rcm-0-0.dtbo

    The name for dtb overlay for the fpdlink fusion board has changed from k3-j721e-fpdlink-sk-fusion.dtbo to k3-j721e-sk-fusion.dtbo from SDK v8.x to v9.x. Try this without the modifications to the device tree and share the output from running media-ctl -p.

    Thank you,

    Fabiana

  • Thanks for your replying,we have modifying uEnv.txt as :name_overlays=k3-j721e-edgeai-apps.dtbo k3-j721e-sk-fusion.dtbo k3-fpdlink-imx390-rcm-0-0.dtbo already.

    but  when without any modifications,media-ctl -p only print:

    ds90ub954 can only be probed when we modifyed the I2C address from 0X3d to 0X30.

    But the ds90ub954 and imx390 never can be probed due to :

    We want to know if there is an address conflict? or is there a problem with the way to decompile the device tree?

    In addition, there is only ds90ub960_port in the SDK in version 8.6, but there are ds90ub960_link in the SDK in version 9.1, why do you want to set link?

  • Hi,

    Could you please share your uEnv.txt file and the complete logs as a file? The DS90UB960 driver should work with DS90UB960 and DS90UB954 without modification.

    The reason for the device tree changes are due to changes made to the DS90UB960 driver with the switch from SDK version 8.6 which is based on Linux Kernel 5.10 to SDK version 9.0 which is based on Linux KErnel version 6.1.

    Thank you,

    Fabiana