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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer wmaxfield
Observer
9,487 Views
Registered: ‎05-21-2008

ppc405 linux beginner dts error

I'm trying to put linux on a custom build already running xilkernel, in order to get a more robust tcp/ip stack.  (under 10.1, the lwip stack has some issues with arbitrary disconnects/reconnects)

 

  I've installed the device-tree, and run the BSP per the wikidot instructions.  I'm getting an error.  I've included the lines just before the error.  

 

   Can someone let me know what I need to do to the system to get the device-tree generator to recognize the ram memory?  Our memory is static ram, 8mb.  We could possibly upgrade the core, but I don't think it would make device-tree happy.

 

    Or do I just hack the output file?  If so, how? 

 

 

WARNING:MDT - : Bank 0 of EMC core sram_emc is used in asynchronous mode.  We

   assume this core is connected to a flash memory, although in some older

   designs this configuration may have been used to interface to a peripheral. 

   Current design recommendations suggest using an EPC core to interface to such

   peripherals.

IP connected to bus: 

ERROR:MDT - device-tree () - No memory nodes found!

       while executing

   "error "No memory nodes found!""

       (procedure "gen_memories" line 96)

       invoked from within

   "gen_memories $toplevel $hwproc_handle"

       (procedure "generate_device_tree" line 140)

       invoked from within

   "generate_device_tree "xilinx.dts" $bootargs $consoleip"

       (procedure "::sw_device-tree_v0_00_x::generate" line 13)

       invoked from within

   "::sw_device-tree_v0_00_x::generate 48622496"  

Tags (2)
0 Kudos
9 Replies
Observer wmaxfield
Observer
9,481 Views
Registered: ‎05-21-2008

Re: ppc405 linux beginner dts error

  I was able to remove the error, but I don't know if it was the right thing to do.

 

  There is a tcl script: device-tree_v2_1_0.tcl put in the device_tree/data directory.  Removing line 1212,

"xps_mch_emc" -

 

from the script removed the error.  However I now received several interesting "remarks" in the output.  I'm ignoring them for now, but there aren't many clues as to why they are there, the messages aren't in the tcl script:

 

expected integer but got ""

expected integer but got "1000000.0"

expected integer but got "100000000.0"

expected integer but got "1000000.0"

expected integer but got "100000000.0"

expected integer but got ""

expected integer but got "100000000.0"

expected integer but got "100000000.0"

expected integer but got "0.001"

expected integer but got "1e-006"

expected integer but got "100000000.0"

expected integer but got "100000000.0"

expected integer but got "true"

expected integer but got "60000000.0"

expected integer but got "true"

expected integer but got "100000000.0"

expected integer but got "1e-005"

expected integer but got "2500000.0"

expected integer but got "100000000.0"

 

0 Kudos
Xilinx Employee
Xilinx Employee
9,441 Views
Registered: ‎09-10-2008

Re: ppc405 linux beginner dts error

Hi,

 

Happy new year. Sorry for the slow response as we were closed down over the holidays.

 

I suspect that the EMC is your issue as we don't directly support/test that system combination and I know there are some issues around the EMC that I've seen.

 

I would say to hack the DTS file that's generated to make it look like the DTS files that we provide in the kernel tree with regards to memory.  They're virtex440-ml507.dts and virtex405-ml405.dts. 

 

I'm not sure what got generated for you're device tree, but here's what I think is important for the kernel.

 

 DDR2_SDRAM: memory@0 {
  device_type = "memory";
  reg = < 0x0 0x10000000 >;
 } ;

Since you're not using the multiport memory controller I'm assuming you must be using an EmacLite?

 

We don't test the LL TEMAC design using FIFOs if that's you're combination you're using.

 

Hope that helps.

 

0 Kudos
Observer wmaxfield
Observer
9,342 Views
Registered: ‎05-21-2008

Re: ppc405 linux beginner dts error

  OK.  I've obtained an ML405 kit (those are a bit pricey) so I could start with a "supported" standard.

 

  After reading the Wiki, and looking at the standard .dts file,  I'm left with a question that I'm sure sounds stupid.

 

  Is the .dts file the .dts file for the unmodified reference design for the ml405 that you get at http://www.xilinx.com/products/boards/ml405/reference_designs.htm, or is it a variant?

 

 

0 Kudos
Xilinx Employee
Xilinx Employee
9,338 Views
Registered: ‎09-10-2008

Re: ppc405 linux beginner dts error

No, it's not. We have a design on the wiki that matches the dts file.  We don't supply the whole system, just the bit stream, as you can easily generate your own with Base System Builder in the EDK.  The bitstream/dts file are meant to get you a baseline up and running easily so you can move on to your own design.

 

http://xilinx.wikidot.com/powerpc-linux

 

 

Here's what it says on the wiki page. 

 

Xilinx ML405 Board Reference System

A device tree, virtex405-ml405.dts, is provided in the kernel tree at arch/powerpc/boot/dts, which describes a specific reference design for this board. This reference design is the easiest way to get Linux running on the ML405. The bit stream (not a complete EDK system) can be downloaded at the following location.

download link for ML405 PowerPC bit stream

Base System Builder in the Xilinx EDK can be used to create complete systems which will run Linux on the ML405.

 

Thanks.

0 Kudos
Observer wmaxfield
Observer
9,323 Views
Registered: ‎05-21-2008

Re: ppc405 linux beginner dts error

Since this is only a bitstream, how do I know what components are in it?  The .dts file is extremely murky when put in context with Xilinx project IP's and the myriad possible settings for each IP.

 

  Forgive me for such a stupid response, but I have to take a current project and make it work.  In the past, when faced with that issue, I usualy take a project that has required items in it (with settings intact), and that provably works, and slowly modify it in steps to my project, fixing problems at each step.

 

  Since we don't have a project, and since we don't have any of the details of the IP's included or the settings for those IP's that can be identified, that go into that particular "bitstream" file, how will that help me?  I can use impact to download the file to the xilinx, or create a system.ace with that bitstream in it, but I can't probe for the kind of information I typically want using just the bus.

 

   I'm not trying to be difficult, I'm just overwhelmed about trying to decipher a "black box" "bit file" that has no information of the kind I can recognize at my current level of understanding of Xilinx.  (unless there is a reverse-bit file to project application that you know of?)

 

    If the .mhs file was published, that would at least give me a starting point.  Or just let me know the IP's used and the base parameters used?  I could then walk through the base system builder and make sure those are in there.

 

    The page  just says "the base system builder can be used," but gives no details on which power pc, which memory manager, which ethernet, (it seems to assume 16550 which use to require a license, based on a comment at the end of the wiki), which ddr controller,  which flash controller, etc., etc.

 

     Help me, I'm currently lost! 

0 Kudos
Contributor
Contributor
9,320 Views
Registered: ‎05-27-2009

Re: ppc405 linux beginner dts error

Having just experienced some interaction with the device tree I can offer several suggestions:

 

Trust that the device tree generator is absolutely perfect - really a very impressive bit of software. If it tells you there is something wrong with your design there is. TRUST IT!

 

Carefully examine your MHS file and compare it line for line against one of the standards previously mentioned.  It may take awhile, but you answer is there. 

0 Kudos
Xilinx Employee
Xilinx Employee
9,314 Views
Registered: ‎09-10-2008

Re: ppc405 linux beginner dts error

I attached the MHS file to help some.  The primary reason we don't publish the system is that there is an apps group that does the normal reference systems and I don't want to become a system maintainer. But I undertstand the situation.

 

Hope that helps.

0 Kudos
Observer wmaxfield
Observer
9,304 Views
Registered: ‎05-21-2008

Re: ppc405 linux beginner dts error

Thank you!  I appreciate the .mhs file.  This will help tremendously!!!

 

  I understand that you don't want to become a project maintainer, and I fully agree with your stance.

 

  Too bad people won't accept the concept of "this project is not subject to refund of purchase price" in this kind of environment. If I get my head around it, I'll post my results.

0 Kudos
Xilinx Employee
Xilinx Employee
9,300 Views
Registered: ‎09-10-2008

Re: ppc405 linux beginner dts error

You should be able to produce a very similar system just using Base System Builder in XPS as that's what I test with in automated testing.

 

It was just a few clicks and you should have a system that runs with DMA.  I guess you do need to know what to select including DMA and interrupts for the peripherals.

 

 

0 Kudos