CX3: CyU3PMipicsiSetSensorControl() fails error 0x4A (CY_U3P_ERROR_FAILURE)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
ErDE_3356256
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hello Infineon Experts,

We use a CX3 and one or two related image sensors on our board, and we are facing a CY_U3P_ERROR_FAILURE value returned by the CyU3PMipicsiSetSensorControl() API. This behavior is random, but the error rate is over 20 %.

We probed the I2C bus and some other significant signals (CX3_RESET*, CX3_XRESET and CX3_XSHUTDOWN), to look what’s happen (see attached pictures):

  • On successful execution, a first reading of Register 0x0012 (CY_U3P_MIPICSI_REG_GPIOIN) is done, bits [2:1] of this value are set to ‘1’ to drive High XRESET and XSHUTDOWN pins, the changed value is written to Register 0x0014 (CX3_CSI_SENSOR_SIG_VAL) and a second reading of Register 0x0012 is performed to be sure that Register 0x0014 is correctly written. So, reserved bits of Register 0x0014 are preserved as requested to section 1.10.7 of CX3 TRM.
  • On fail execution, the second reading of register 0x0012 doesn’t match the writing to Register 0x0014 and the CyU3PMipicsiSetSensorControl() API returns CY_U3P_ERROR_FAILURE. The difference concerns the reserved bit 0.

Do you have an explanation for this error CY_U3P_ERROR_FAILURE?

For your information, both SDA and SCL signals are pulled high with 2kΩ resistors, and the I2C block is initialized (by calling CyU3PMipicsiInitializeI2c() API) before initializing the MIPI-CSI-2 block (i.e. before calling CyU3PMipicsiInit() API).

Best Regards,

Eric.

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Eric,

Your understanding is correct. The reason of this error CY_U3P_ERROR_FAILURE in CyU3PMipicsiSetSensorControl API  is when register read and register write values do not match.

Please confirm the following:

- I2C line SCL & SDA are pulled up to VDDIO1. Please let me know the voltage level of VDDIO1

- Is there any other (except Cx3) I2C master connected to the I2C lines

- Is there any other I2C slave connected to the I2C bus with similar slave address

- Please let me know if the firmware can be tested on CX3 Reference Design - Denebola kit. 

Please refer to this thread with similar issue Solved: CX3: AppInit:MipicsiInit Err = 0x4A - Cypress Developer Community 

Regards,
Rashi

View solution in original post

0 Likes
13 Replies