cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Participant
Participant
4,731 Views
Registered: ‎05-07-2009

error in generating device tree

Hello, everyone.

 

I want to build a linux kernel and run it on ML510. The hardware configuration is same as ML510 BSB2 reference design. I using xmp project in ml510_bsb2_std_ip_ppc440.zip, downloaded from http://www.xilinx.com/products/boards/ml510/ml510_10.1_3_1/bsb.htm, to generate device tree. But there are some errors as fllows:


.....

IP connected to bus: plb_v46_0
-master MPLB plb_v46_0 ppc440_0
-slave SPLB plb_v46_0 xps_bram_if_cntlr_1
-slave SPLB plb_v46_0 RS232_Uart_2
-slave SPLB plb_v46_0 Hard_Ethernet_MAC
-slave SPLB plb_v46_0 SysACE_CompactFlash
-slave SPLB plb_v46_0 Hard_Ethernet_MAC_fifo
-slave SPLB plb_v46_0 xps_intc_0
ERROR:MDT - xget_value  name : A NULL handle was provided
ERROR:MDT - device-tree () - expected integer but got ""
       while executing
   "xget_value $inhandle "name""
       (procedure "xget_hw_name" line 2)
       invoked from within
   "xget_hw_name $ll_ip_handle"
       (procedure "slave_ll_temac_port" line 41)
       invoked from within
   "slave_ll_temac_port $slave $intc 0"
       (procedure "slave_ll_temac" line 3)
       invoked from within
   "slave_ll_temac $slave $intc"
       ("xps_ll_temac" arm line 4)
       invoked from within
   "switch -exact $type {
     "opb_intc" -
     "xps_intc" {
      # Interrupt controllers
      lappend node [gen_intc $slave $intc "interrupt-controller" "C_NUM_IN..."
       (procedure "gener_slave" line 4)
       invoked from within
   "gener_slave $bus_node $ip $intc_handle"
       (procedure "bus_bridge" line 83)
       invoked from within
   "bus_bridge $hwproc_handle $intc 0 "MPLB""
       ("ppc440_virtex5" arm line 4)
       invoked from within
   "switch $proctype {
     "microblaze" {
      set intc [get_handle_to_intc $proc_handle "Interrupt"]
      set toplevel [gen_microblaze $toplevel $hwproc_handle..."
       (procedure "generate_device_tree" line 47)
       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 43729272"
WARNING:MDT - : locallink unconnected for a channel in HARD_ETHERNET_MAC
ERROR:MDT - Error while running "generate" for processor ppc440_0...
make: *** [ppc440_0/lib/libxil.a] Error 2
Done!


 

Could you help me to solve this problem?

Thank you very much.

 

Aaron.

0 Kudos
4 Replies
Highlighted
Adventurer
Adventurer
4,705 Views
Registered: ‎10-28-2007

Could you post your .dts file?
0 Kudos
Highlighted
Participant
Participant
4,692 Views
Registered: ‎05-07-2009

I am sorry. XPS  failed to generate .dts file because of the error mentioned above.

 

In BSB2 hardware configuration, xps_ll_temac_v1_01_b and xps_ll_fifo_v1_01_a are connected in the following way.


 ----------Hard_Ethernet_MAC_fifo ---------------------------------------------xps_ll_fifo

        |----LLINK  ---------------------------- Hard_Ethernet_MAC_LLINK1

        |----SPLB  ---------------------------- plb_v46_0

 

 ----------Hard_Ethernet_MAC    --------------------------------------------- xps_ll_temac

        |----LLINK1  ---------------------------- Hard_Ethernet_MAC_LLINK1

        |----LLINK0 ----------------------------  Hard_Ethernet_MAC_LLINK0

        |----SPLB  ----------------------------   plb_v46_0 


The first channel of Hard_Ethernet_MAC(LLINK0 ) was enabled, but it was not connected to any logic. And the second  channel of Hard_Ethernet_MAC(LLINK1 )  was enabled and connected to Hard_Ethernet_MAC_fifo. Hard_Ethernet_MAC_fifo is a data buffer between PLB bus and  Hard_Ethernet_MAC. In such condition, XPS failed to generate .dts file but it can generated .bit file. The test program of Hard_Ethernet_MAC can be executed  successfully.

 

Then, I disable the second  channel of Hard_Ethernet_MAC(LLINK1 ) and connect LLINK0 to Hard_Ethernet_MAC_fifo as follows.


 ----------Hard_Ethernet_MAC_fifo ---------------------------------------------xps_ll_fifo

        |----LLINK  ---------------------------- Hard_Ethernet_MAC_LLINK0

        |----SPLB  ---------------------------- plb_v46_0

 

 ----------Hard_Ethernet_MAC    --------------------------------------------- xps_ll_temac

        |----LLINK1  ---------------------------- Hard_Ethernet_MAC_LLINK1

        |----LLINK0 ----------------------------  Hard_Ethernet_MAC_LLINK0

        |----SPLB  ----------------------------   plb_v46_0 


In this condition,  XPS can generate .dts file, but unfortunately, it didn't generate .bit file successfully. During generating bitstream, there were some errors about pinout constraint associated with Rocket IO GTX transceiver in .ucf file.  It seems that I have to use LLINK1 to connect this xps_ll_temac IP.

 

How can I generate .dts file according to the defualt BSB2  configuration(enable two temac channel but  use only LLINK1)?

Can I use the .dts file, which was generated with changed hardware configuration(enable and connect first channel of temac), to patch linux kernel and build a linux for BSB2?

 

Thank you very much!

 

Aaron.

 

 

    

0 Kudos
Highlighted
Adventurer
Adventurer
4,678 Views
Registered: ‎10-28-2007

Sorry, I must have had a keyboard slip.  I think I meant .mhs file.  Is it possible to have a look at that?
0 Kudos
Highlighted
Participant
Participant
4,668 Views
Registered: ‎05-07-2009

yes, of course. the default .mhs file is here.

 

 

0 Kudos