UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

Petalinux 2017.1, device tree generation wrong for axi stream fifo

Highlighted
Adventurer
Posts: 80
Registered: ‎03-22-2016

Petalinux 2017.1, device tree generation wrong for axi stream fifo

When using an AXI Steam FIFO in AXI4Lite mode, the device tree is generated properly, with a single memory region.

 

When setting it to AXI4 mode, the device tree is generating the reg entry in the device tree incorrectly.

 

amba_pl@0 {
    #address-cells = <0x2>;
    #size-cells = <0x2>;
    compatible = "simple-bus";
    ranges;

    axi_fifo_mm_s@a0000000 {
        compatible = "xlnx,axi-fifo-mm-s-4.1";
        interrupt-parent = <0x4>;
        interrupts = <0x0 0x59 0x4>;
        reg = <0x0 0xa0000000 0x0 0x10000 0xa0010000 0x10000>;
        xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
        xlnx,axi-str-rxd-tdata-width = <0x20>;

        ... snip ...

 

size-cell and address-cell are both set to 2, so there should be two values for each address and size in the reg entry.

 

First region: 0x0 0xA0000000 0x0 0x10000

Second region: 0xA0010000 0x10000

 

I believe the line should instead read:

 

reg = <0x0 0xa0000000 0x0 0x10000 0x0 0xa0010000 0x0 0x10000>;

Visitor
Posts: 16
Registered: ‎07-11-2017

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo

Hi @jeffsimpson,

Sorry, I can't help you. But may be you can help me :-)

Do you have a link to a document that lists the field names and meaning of these entries?
Adventurer
Posts: 80
Registered: ‎03-22-2016

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo

This resource was helpful: https://elinux.org/Device_Tree_Usage
Adventurer
Posts: 80
Registered: ‎03-22-2016

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo

This bug is still present in vivado / petalinux 2017.4!

Newbie
Posts: 2
Registered: ‎02-28-2018

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo

hi @jeffsimpson,

For a single IP instance there should be only one memory mapped address.

Why two addresses are generated for a single IP instance.

 

For only memory controllers there can be two addresses, one is memory address and the other is register address.

 

 

Thanks

Venkatesh

 

Adventurer
Posts: 80
Registered: ‎03-22-2016

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo


vabbarap wrote:

hi @jeffsimpson,

For a single IP instance there should be only one memory mapped address.

Why two addresses are generated for a single IP instance.

 

For only memory controllers there can be two addresses, one is memory address and the other is register address.

 


When the AXI Stream FIFO IP block is configured to operate in AXI4-Lite mode (the default), only one memory region is needed (and only one AXI slave port: S_AXI). When you change the AXI Stream FIFO to operate in AXI4 mode, a second memory region is needed (and a second AXI slave port: S_AXI_FULL). That first memory region is still used for command and status, but the data is now accessed by the second region, which has a configurable width. AXI4-Lite is only 32 bit can cannot be changed.

 

See the documentation for the IP here: https://www.xilinx.com/support/documentation/ip_documentation/axi_fifo_mm_s/v4_1/pg080-axi-fifo-mm-s.pdf

Newbie
Posts: 2
Registered: ‎02-28-2018

Re: Petalinux 2017.1, device tree generation wrong for axi stream fifo

Hi @jeffsimpson,

Thanks for the information.

This will be get fixed in 2018.1 release.

 

Thanks

Venkatesh