Is it possible to updatet the firmware from an external processor or FPGA via I2C/SPI

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

cross mob
tesu_4822776
Level 1
Level 1
5 replies posted 5 sign-ins First reply posted

in our design, the CYUSB3065 is connect to FPGA with its I2C bus and the boot EEPROM is also on this I2C bus. We want the CYUSB3065 to boot from EEPROM. Is it possible to refresh a new firmware to the EEPROM by FPGA and then reset the CYUSB3065, thus booting from the EEPROM again with new firmware?

Do we have other ways to update EEPROM/SPI flash besides using USB(EZ-USB FX3 SDK)?

Thanks!

0 Likes
1 Solution

Hi,

If I keep the CX3 in a reset state when programming EEPROM by FPGA (thus CX3 cannot work and only FPGA is an I2C master), is it OK? After the programming EEPROM is finished, keep the CX3 to the normal state.

>> Please let me know the status of PMODE lines when the CX3 is in reset (Powered up).

If the PMODE lines are configured for I2C boot then on power up the CX3 will boot from EEPROM without waiting for FPGA to program the EEPROM. You can configure the PMODe lines to USB boot  - Program the EEPROM (using FPGA) - Change the PMODE lines to I2C boot with USB fallback (Z1Z) - Reset the CX3 - CX3 will boot with the new firmware.

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
4 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Yes, it is possible to program the EEPROM with the new firmware using the FPGA and then reset the device to boot the new firmware from the EEPROM.

But in this case, the I2C bus will be Multi-Master (CX3 and FPGA) which can be the reason for the bus collision as mentioned in Errata 6 of the CX3 datasheet.

As CX3 communicates with the MIPI block and sensor through I2C, please confirm that no other communication is going on the I2C bus while CX3 is communicating with MIPI and the sensor.

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi,

If I keep the CX3 in reset state when programing EEPROM by FPGA (thus CX3 cannot work and only FPGA is a I2C master), is it OK? After programing EEPROM is finished, keep the CX3 to normal state.

Thanks!

0 Likes

Hi,

If I keep the CX3 in a reset state when programming EEPROM by FPGA (thus CX3 cannot work and only FPGA is an I2C master), is it OK? After the programming EEPROM is finished, keep the CX3 to the normal state.

>> Please let me know the status of PMODE lines when the CX3 is in reset (Powered up).

If the PMODE lines are configured for I2C boot then on power up the CX3 will boot from EEPROM without waiting for FPGA to program the EEPROM. You can configure the PMODe lines to USB boot  - Program the EEPROM (using FPGA) - Change the PMODE lines to I2C boot with USB fallback (Z1Z) - Reset the CX3 - CX3 will boot with the new firmware.

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi Rashi,

Thanks a lot and your answer solved my questions!

0 Likes