AnsweredAssumed Answered

Interfacing I2C and SPI in ADV7511 reference design for Zedboard

Question asked by resalmon on Jul 14, 2014
Latest reply on Jul 24, 2014 by DragosB

Hello everyone!

I've got a question on this tutorial:

I've successfully finished.

Now my aim is to make a C/C++ example of reading/writing from/to I2C and SPI via Linux. There is no difference for me of what device to use. I just want to understand how to interface I2C and SPI from Linux on Zynq.


0) Firstly, I'm sorry for my poor English and for my dummy questions as well.


1) As I understand, there is only one SPI device on Zedboard - QSPI Flash.

And it is used by Linux kernel even if I boot from SD card, so I cannot just write and read from and to it.

Am I right? And if I am not, is there any example of doing this?


2) I've had a look at the schematics but I have no idea of what devices are connected via I2C to my Zynq?


3) When I try to modify the design by enabling SPI and I2C in the PS and making the ports external as it is told here:

Howto export Zynq peripherals(I2C, SPI, UART and etc) to PMOD connectors of ZedBoard using Vivado 2013.4 | d9 Tech Blog

I get an error while Implementing design in Vivado:


[Place 30-58] IO placement is infeasible. Number of unplaced terminals (73) is greater than number of available sites (50).
The following Groups of I/O terminals have not sufficient capacity:
IO Group: 1 with : SioStd: LVCMOS18 VCCO = 1.8 Termination: 0 TermDir: Out RangeId: 1 Drv: 12 has only 50 sites available on device, but needs 73 sites.
Term: GPIO_O[0]
Term: GPIO_O[1]
Term: GPIO_O[2]
Term: GPIO_O[3]
Term: GPIO_O[4]
Term: GPIO_O[5]

//And also lots of lines like these.

Why is that?