Forum Topic - i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).: (4 Items)
   
i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).  
Hi,

I am posting this query in the graphics forum and it is a continuation of the thread I started on the BSP forum:
http://community.qnx.com/sf/discussion/do/listPosts/projects.bsp/discussion.bsp.topc6650

To give some background I will repeat most of the information from the above mentioned thread.

I have been writing my own IPL for the i.MX31PDK booting out of NAND flash.  I have based my code on mostly the i.MX31 
Linux UBOOT code and the Redboot code, together with the i.MX21 and i.MX35 QNX BSP IPL.

So far the IPL can find the QNX image in NAND, load it into RAM and execute it.  QNX itself starts successfully without 
any errors and everything runs well, however I cannot run any graphics applications that utilise the MBX/3D hardware 
accelerator of the i.MX31.  

After QNX has started, I try running egl-gear and get the following response:

   # egl-gears
   gf_dev_attach(): No error

Examining SLOG there is the following error message:
   # sloginfo 
   Time             Sev Major Minor Args
   Jan 01 00:00:06    6     8     0 MMU didn't initialize! (0)

Now to confirm that the problem it is in relation to the MBX core I tried replacing the graphics driver with a version 
that does not utilise the hardware acceleration (a modified copy of the i.MX35 graphics driver) and ran the graphics 
demo egl-gears-lite and it ran successfully.

My IPL does not perform any MMU initialisation (as per the i.MX35 IPL) and I have changed the QNX startup program to 
force MMU initialisation, plus I have hard-coded the startup program to reserve memory for the MBX core by adding the 
following line to init_system_private.c:

   jtag_reserve_memory(0x86000000, 0x02000000, 1);

This should be the same as passing the startup parameter "-r0x86000000,0x02000000,1"

Also I am starting the binary mx31pdk_lcd_init within my bootup script so that should be fine.  If I replace just my IPL
 with Redboot in NAND (...maintaining the same copy of the QNX OS image) then everything works well, including egl-gears
.  

It has been mentioned that another customer observed a similar problem when writing an IPL for the Logic PD iMX31 Lite-
Kit and traced it back to lack of configuring the WEIM.  Following this lead I have noticed that Redboot typically sets 
up the WEIM controller for CS5, while the U-Boot (NAND-Boot) bootloader configures the WEIM for CS4.  
Additionally the RealView ICE JTAG script provided by Freescale for the ADS & PDK boards configures the WEIM controller 
for CS5 however with different values.  So far I have tried all combinations however my problem still remains (starting 
egl-gears generates the MMU not initialised error).  I am not sure what parameters the Logic bootloader uses to try that
.

Does anyone know why egl-gears throws a MMU not initialised error and what the IPL may need to set-up to fix this?  Any 
help or suggestions on what to try next would be greatly appreciated.

Regards,
Radek.


Re: i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).  
mvr followed up in the bsp mentioned thread.
Re: i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).  
Okay got it!  The issue was that the CMM register CGR2 had the clock GACC turned off.  GACC is the Graphics Accelerator 

clock.

 
Radek.
 
RE: i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).  
Wow!  Glad you discovered the problem.  Thanks for posting a followup.
 
Kind Regards,
-Derek

________________________________

From: Radek Pesina [mailto:community-noreply@qnx.com]
Sent: Fri 20/03/2009 2:11 AM
To: advanced-graphics
Subject: Re: i.MX31PDK IPL and MMU initialisation for MBX (3D acceleration).



Okay got it!  The issue was that the CMM register CGR2 had the clock GACC turned off.  GACC is the Graphics Accelerator
clock.


Radek.



_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post24856



Attachment: Text winmail.dat 3.68 KB