Altera_Forum
Honored Contributor
8 years agoI2c through FPGA not working on Cyclone V SoC Terasic DE1SoC board
Hi,
I have connected the external I2C device through FPGA fabric to GPIO pins on the board. I'm using I2C1 (0xffco5000) I have created new preloader, uboot and linux distro, rbf and dtb file, etc..., everything that is needed i guess. Nevertheless none of the software is able to interface correctly with i2c devices (i.e. 24AA02 EEPROM). signals are routed through tri-state buffers (see attachments). I can see the SDA pin is going low for about 1us or less (measured on signaltap and external scope), but with no following scl signal present. I can see that peripherial is configured well on linux using commands like:# busybox devmem 0xffc05000 0x00000065# busybox devmem 0xffc05004 0x00000050# busybox devmem 0xffc05008 0x00000055# busybox devmem 0xffc0500c 0x00000000# busybox devmem 0xffc05010 0x00000000# busybox devmem 0xffc05014 0x000001AB# busybox devmem 0xffc05018 0x000001F3# busybox devmem 0xffc0501c 0x00000057# busybox devmem 0xffc05020 0x0000009F# busybox devmem 0xffc05024 0x00000000# busybox devmem 0xffc05028 0x00000000 interaction with i2cdetect -y 0 gives i2c_designware ffc05000.i2c: i2c_dw_handle_tx_abort: lost arbitration uboot - trying to read MAC address also fails what is predictable from signal analysis with scope mentioned at the beginning. regarding uboot - I have changed header files containing definitions of I2C controller address to match I2C1 controller. i2c probe in uboot - gives series of low impulses about 75us long on SDA, nothing on SCL. Does anybody can help me, please?