I2C Controller

Added by Harrison Barclay over 4 years ago


Unsure whether to post this under the software or FPGA topic.

We are transitioning from a mostly working system developed on the Mitysom5CSX Devkit to a custom carrier board design (Cyclone V, 5CSX-H6-4YA-RC). In the previous system, we had used the I2C3 controller (at 0xffc07000, passed through the FPGA by selecting the FPGA option in Qsys) to communicate with a particular peripheral.

In the new design, we decided to use I2C1 (0xffc05000) on HPS pins (I/O set 0) to communicate with the same peripheral. The pin mux table seems correct and the pin assignments seem to agree with our schematic, at this point checked many times. However, when attempting to write data to the bus, there is absolutely no activity on those pins, and the I2C designware driver gives a "controller timed out". I2C0, which does not leave the SOM, seems to be working fine, even though the I2C1 configuration seems to be almost exactly analogous.

Other I2C controllers on the system passed through the FPGA fabric function as expected. We have checked for possible hardware-level problems such as pull-up value, layout, etc. The SCL and SDA lines sit at 3.3V and never move.

Please assist in choosing next steps for debugging. I would be glad to provide additional information if requested.

Thank you

Harrison Barclay

Replies (3)

RE: I2C Controller - Added by Tim Iskander over 4 years ago

Whenever you change anything to do with HPS pin assignments, you will need to rebuild the preloader and update it on the boot media (SD card or ROM)


RE: I2C Controller - Added by Harrison Barclay over 4 years ago

Thank you, this was resolved, turned out to be a problem with our build scripts.

RE: I2C Controller - Added by Evgeny Galyaev 10 months ago

Dear Harrison -
We are having the same issues, cannot find it.
What was the problem with your scripts, would you please share - maybe it will help.

Thank you, best -

    Go to top
    Add picture from clipboard (Maximum size: 600 MB)