[meta-xilinx] Zedboard - I'm not eble to set i2c on PS

Jek F. jek.fessia at gmail.com
Tue Jun 25 02:00:06 PDT 2019


Hi, i'm a beginner and an autodidact. This is my first post here.
I'm trying to address i2c on Zedboard PS without luck, using Vivado, SDK
and Yocto Project.

My current situation is:

With Vivado:

1) Create Project -> RTL Project

2) Create block design -> Add IP -> ZYNQ7 Processing System

3) Run Block Automation

4) In "MIO Configuration" i enabled i2c0 on "MIO 10 11" and i2c1 on "MIO 12
13", i clicked on "Create HDL Wrapper..." and then i generated the bitstream

5) File -> Export -> Export Hardware -> Include bitstream -> Launch SDK
    - then i converted the bitstream .bit in .bin (fpga.bin) with an
external tool

6) In SDK i generate new board support package
    - File -> New -> Board Support Package -> device tree (for this i
downloaded a plugin to generate DTS)
    - Then i choose kernel 2018.3.
    - This generated these files: pcw.dtsi, skeleton.dtsi, system.dts,
system-top.dts, zynq-7000.dtsi

With yocto:

1)I've cloned yocto project (poky 2.6.2 thud)

2)I've cloned layer meta-openembedded and meta-xilinx.

I've modified then file bblayers.conf adding in it:
    /home/jksandek/poky/meta-openembedded/meta-oe \
    /home/jksandek/poky/meta-xilinx/meta-xilinx-bsp \

3) I've added the file local.conf
    MACHINE ??= "zedboard-zynq7"
    ...
    IMAGE_INSTALL_append = " rsync"
    IMAGE_INSTALL_append = " busybox"
    IMAGE_INSTALL_append = " openssh"
    IMAGE_INSTALL_append = " nano"
    IMAGE_INSTALL_append = " i2c-tools"
    ENABLE_I2C = "1"
    INHERIT += "rm_work"

4) Then i have created a new layer "meta-dts" with the following folder
tree:

    meta-dts
    ├── conf
    │     └── layer.conf
    ├── COPYING.MIT
    └── recipes-kernel
           └── linux
                   ├── linux-xlnx
                   │      ├── myconfig.cfg
                   │      └── zedboard-zynq7
                   │            ├── pcw.dtsi
                   │            ├── skeleton.dtsi
                   │            ├── system.dts
                   │            ├── system-top.dts
                   │            └── zynq-7000.dtsi
                   └── linux-xlnx_%.bbappend

    -in "linux-xlnx_%.bbappend" i inserted:

    SRC_URI += "file://system-top.dts;subdir=git/arch/${ARCH}/boot/dts"
    SRC_URI += "file://pcw.dtsi;subdir=git/arch/${ARCH}/boot/dts"
    SRC_URI += "file://zynq-7000.dtsi;subdir=git/arch/${ARCH}/boot/dts"
    SRC_URI_append += "file://myconfig.cfg"

    -in "myconfig.cfg" i inserted:

    CONFIG_I2C_XILINX=y
    XILINX_I2C=y
    I2C_CADENCE=y
    CONFIG_I2C=y

5) Then i added this layer in bblayers.conf

6) Start bitbake with:
    - bitbake core-image-minimal

7) At the end of the bitbake i've added the following files in the SD BOOT
partition
    - boot.bin
    - fpga.bin
    - system-top.dtb
    - u-boot.img
    - uImage
    - uEnv.txt

8) In the rootfs partition i've added and unzipped the following file:
    - core-image-minimal-zedboard-zynq7.tar.gz

9) At the end i started the zedboard and once i logged in i've typed:
    - i2cdetect -r -y 0


    but this return something like:

    root at zynq:~# i2cdetect -y -r 0
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: cdns-i2c e0004000.ps7-i2c: timeout waiting on completion
    -- cdns-i2c e0004000.ps7-i2c: timeout waiting on completion
    ...

10) I tried all of this also for microzed with the same result.

What's wrong? I need to edit the device tree? I miss something with Vivado?

Sorry for my english and i thank you in advace for your reply.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20190625/ec250a3e/attachment.html>


More information about the meta-xilinx mailing list