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: 
Observer bswimley
Observer
7,163 Views
Registered: ‎01-20-2012

Petalinux 2015.2 with MIG memory causes Linux to hang on boot

Jump to solution

All,

 

I have a Zynq Design with extra MIG DDR memory exported by Vivado that results in a petalinux device tree entry as follows in pl.dtsi:

 

/ {
amba_pl: amba_pl {
   #address-cells = <1>;
   #size-cells = <1>;
   compatible = "simple-bus";
   ranges ;
   mig_x32_mig_7series_0: memory-controller@80000000 {
       compatible = "xlnx,mig-7series-2.3";
       device_type = "memory";
       reg = <0x80000000 0x40000000>;
   };
  };
};

 

We have tested the memory interface via standalone peripheral tests, and the memory interface is working correctly.

 

When I include the "mig_x32_mig_7_series_0" peripheral entry in my device tree, my Linux boot hangs.  If I comment out this entry, Linux boots successfully.

 

Is there an alternate way that this should be specified, or is there some additional parameters I should add to my system-top.dts file to allow Linux to boot?  Perhaps there is a Linux device driver that I am missing?

 

I can continue running with this commented out in pl.dtsi, however I dislike doing this as this file is automatically regenerated from PetaLinux under certain situations.

 

We are using Vivado 2015.2 as well as Petalinux 2015.2.

 

 

Thanks in advance for any suggestions or comments,

 

Brett Swimley

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
13,761 Views
Registered: ‎07-01-2010

Re: Petalinux 2015.2 with MIG memory causes Linux to hang on boot

Jump to solution

@bswimley

 

You are seeing the hang because the PL clocks are disabled through the dts file.When there are no clocks enabled for the  peripherials you cannot access them and so it hangs.

&clkc {
 fclk-enable = <0x0>; -- this is a bug in Petalinux 2015.2
 ps-clk-frequency = <33333333>;
};

 

Once you enable the PL FCLKs using 0xf as shown below, you will be able to access the PL peripherials.

 

&clkc {
 fclk-enable = <0xf>;
 ps-clk-frequency = <33333333>;
};

 

This is a bug in 2015.2.

 

Hope this clarifies.

 

-Achutha

---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------
2 Replies
Observer bswimley
Observer
7,143 Views
Registered: ‎01-20-2012

Re: Petalinux 2015.2 with MIG memory causes Linux to hang on boot

Jump to solution

Interestingly, I have found that adding the following to my system-top.dts device tree allows the Linux kernel to boot while including the MIG memory device in the device tree:

 

&clkc {
 fclk-enable = <0xf>;
 ps-clk-frequency = <33333333>;
};

 

The default value for fclk-enable is 0 (which is a change from older versions of PetaLinux).

 

I would appreciate any discussion as to why adding this entry fixes my issue.

 

Brett Swimley

 

Xilinx Employee
Xilinx Employee
13,762 Views
Registered: ‎07-01-2010

Re: Petalinux 2015.2 with MIG memory causes Linux to hang on boot

Jump to solution

@bswimley

 

You are seeing the hang because the PL clocks are disabled through the dts file.When there are no clocks enabled for the  peripherials you cannot access them and so it hangs.

&clkc {
 fclk-enable = <0x0>; -- this is a bug in Petalinux 2015.2
 ps-clk-frequency = <33333333>;
};

 

Once you enable the PL FCLKs using 0xf as shown below, you will be able to access the PL peripherials.

 

&clkc {
 fclk-enable = <0xf>;
 ps-clk-frequency = <33333333>;
};

 

This is a bug in 2015.2.

 

Hope this clarifies.

 

-Achutha

---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------