[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux] PetaLinux and ML501 - issue



Hi Benny,
I left the whole flash issue alone - I never went back to try get it to
work. From looking at the ML401 reference design MHS file, the flash
seemed to be described as a 32 bit bus (though in that design the same
EMC controller was also used to control the SRAM.

In the Ml501 case I was using EDK 9.1, and there the opb_emc was
actually a newer version of this core, an mch_opb_emc. The reason this
was not detected in the OS setup in the EDK was the bsp did not know
this kind of core was used for a flash device. I edited the bsp and
added this, and was able to select it so the flash device was "detected"
in the build of my hardware and software system, but the resulting
bitstream/image did not work.

I did some playing around with the datawidth matching options, but that
did not work. 

After that I stopped playing with the flash, and my work has taken me
away from that board since then, so I never did get it going. I would
like to, at some point ;)

It could have been as simple as going back to the old controller, or
something similar to get it working, or a newer version of EDK may do it
- I never did try any futher. Any designs that write to the flash for an
ML50x board should be compatible though. 

If you get it work, I'd appreciate to hear what you did!

Cheers
John


-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Benny Chen
Sent: Sunday, July 08, 2007 11:05 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] PetaLinux and ML501 - issue

Hi John M.,
Just wondering if you have managed to get U-Boot/Linux working on the 
ML501/5?  From your previous post I can see that you have an issue with 
the kernel physmap_auto failing to detect the flash configuration on the

ML501 board. 

 From what I remember the ML401 runs a 2x16 FLASH configuration and the 
physmap_auto's FLASH auto-probe facility may require some assistance 
from auto-config.in to get the correct FLASH configuration.

Cheers,
B.

John Mcgrath wrote:
> Hi John,
> I have not been back to my board yet, but I was doing something
similar
> with another person on an ML505 board - which has the same flash
> configuration.
> We tried with and without the data width matching parameter, and
u-boot
> still could not see the flash (not petalinux when we booted it from
> xmd).
> We also tried reverting to an older control (opb_emc) and that did not
> work either.
> We checked the Spartan 3e reference designs, but that had a different
> flash, it was 16x8, rather than 2x16. Are there any known good designs
> that use this particular flash chip/configuration?
>
> So in summary:
>
> Ml401   - ?x32 works
> Se3     - 16x8 works
> Ml501/5 - 2x16 does not work (yet!)
>
> Any ideas?
>
> Cheers
> John
>
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John
> Mcgrath
> Sent: 09 May 2007 05:44
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: RE: [microblaze-uclinux] PetaLinux and ML501 - issue
>
> Hi John,
> Just to let you know, I may not be near my board for a few days/weeks
to
> try this out (traveling) - but as soon as I do get a chance I'll
report
> back.
> Thanks for your help!
>
> Cheers
> John
>
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John
> Williams
> Sent: 07 May 2007 23:15
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] PetaLinux and ML501 - issue
>
> Hi John,
>
> John Mcgrath wrote:
>   
>> Hi John,
>> Sure, here are the files.
>> DATAWITH_MATCHING seems to be turned on - in the mhs and
autoconfig.in
>> But you can check too - (maybe I should revert to an older core...)
>>     
>
> Can you try disabling datawidth matching in the HW build, and update
the
>
> auto-config.in file?
>
> Run petalinux-copy-autoconfig from the EDK project directory - then 
> "make clean all" from petalinux-dist.
>
> datawidth matching is convenient for reading from 16-bit flash but
it's 
> a pain for writing, because it munges the flash state machine
commands.
>
> Thanks,
>
> John
>
>   
>> I was able to get the image to boot without the flash - I used dow
>>     
> -data
>   
>> as I don't have download cable support on my linux machine (no root).
>>     
> I
>   
>> use XMD/iMPACT under windows for the downloading. Works just fine!
>>
>> Cheers, and thanks for the help!
>> Oh, and there should be a ML505 proof of concept soon too - the list
>>     
> of
>   
>> supported platforms is growing ;)
>>
>> Cheers
>> John
>>
>>
>> -----Original Message-----
>> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
>> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John
>> Williams
>> Sent: 03 May 2007 19:35
>> To: microblaze-uclinux@xxxxxxxxxxxxxx
>> Subject: Re: [microblaze-uclinux] PetaLinux and ML501 - issue
>>
>> Hi John,
>>
>> John Mcgrath wrote:
>>
>>
>>     
>>> I've been playing with petalinux on my new ml501 (last time I did
any
>>>       
>> of 
>>
>>     
>>> this stuff was when the ml401 first came out and there was no option
>>>       
>> but 
>>
>>     
>>> uclinux-autoconfig).
>>>
>>> I have to say the petalinux environment and the user guide is
>>>       
>> excellent. 
>>
>>     
>>> Congratulations.
>>>       
>> Thanks - I'm glad you like it.
>>
>>
>>     
>>> I followed the tutorial, setting up the hardware - a few notable 
>>> differences, I'm using EDK 9.1, and the DDR2 controller is now 
>>> mch_opb_ddr2 and the flash controller is now mch_opb_emc. I had to 
>>> modify the petalinux bsp to include these as valid interfaces for
the 
>>> main_memory and flash_memory variables.
>>>       
>> Yes - this is a known issue and has been updated for the next
release.
>>
>>
>>     
>>> Another difference (and this may be the key) is the flash seems to
be 
>>> now 2Mx16 instead of the 2Mx32 in the ml401 tutorial.
>>>       
>> Have you enabled DATAWIDTH_MATCHING on the flash interface?
>>
>>
>>     
>>> However, I pressed on, and was able to get FS-BOOT working, and when
I
>>>       
>>     
>>> downloaed the u-boot srec file, I got the following:
>>>       
>>
>>     
>>> FS-BOOT: Warning image location differ from default boot location.
>>>       
>> Image 
>>
>>     
>>> will not boot automatically after POR.
>>> FS-BOOT: Press 'n' to boot old image.
>>> FS-BOOT: Use new image.
>>> FS-BOOT: Booting image...
>>>
>>> SDRAM :
>>> \0x09U-Boot Start:0x5ffc0000
>>> \0x09Malloc Start:0x5ff80000
>>> \0x09Board Info Start:0x5ff7ffd0
>>> \0x09Boot Parameters Start:0x5ff6ffd0
>>> FLASH:
>>>       
>> hmm - this is actually u-boot starting up, then dying and throwing
you
>>     
>
>   
>> back to FS-boot (probably via the reset vector)
>>
>>
>>     
>>> =================================================
>>>
>>> FS-BOOT First Stage Bootloader (c) 2006 PetaLogix
>>>
>>> =================================================
>>>
>>> FS-BOOT: System initialisation completed.
>>>
>>> FS-BOOT: No existing image in FLASH.  Starting image download.
>>>
>>> FS-BOOT: Waiting for SREC image....
>>>
>>>
>>>
>>> *********
>>>
>>>
>>>
>>> So u-boot was starting (ignore the 0x09 I believe they are tab 
>>> characters) - but when it got to the flash stage it balked and
>>>       
>> "restarted".
>>
>> Yes.  Not sure why this is, but likely to do with the change of flash
>> width.
>>
>>
>>     
>>> So, on I pressed even further, this time instead using XMD to
download
>>>       
>>     
>>> the image.elf (I know this does not have the file system, but I
wanted
>>>       
>>     
>>> to see what happened!) And I got this:
>>>
>>>       
>> [snip]
>>
>>
>>     
>>> physmap_auto flash device: 2000000 at 4a000000
>>>
>>> physmap_auto probing buswidth 2
>>>
>>>  Unknown IntelExt Extended Query version 1.4.
>>>
>>> gen_probe: No supported Vendor Command Set found
>>>
>>> physmap_auto probing buswidth 2
>>>
>>> Search for id:(89 8919) interleave(1) type(2)
>>>       
>> [snip]
>>
>>
>>     
>>> Search for id:(89 01) interleave(2) type(2)
>>>
>>> JEDEC: Found no Physically mapped flash device at location zero
>>>       
>>
>>     
>>> So the flash seemed to again cause issues. Is 2x16 supported? Or
what 
>>> would I need to do to make it work?
>>>       
>> 2x16 should work - that's the configuration in the Sparta3E reference

>> designs, for example.
>>
>> It will be related to the datawidth matching - I'll have to check to 
>> confirm, but I think you want to enable it.
>>
>> Can you post your auto-config.in?
>>
>>
>>     
>>> Also, if I want to bypass the "flash" for now, and download the
image
>>>       
>> - 
>>
>>     
>>> I remember I had to download the image.bin - does this still work?
>>>
>>> If I did a:
>>>
>>> dow -data image.bin <DDR2 BASE ADDRESS> and then did
>>>
>>> con <DDR2 BASE ADDRESS>
>>>
>>> should this work? (I tried it, and it did not - no output at all)
>>>       
>> Yes - that should work.  It's a good idea to issue a reset (rst)
>>     
> first, 
>   
>> make sure we have a nice clean machine to boot on.
>>
>> Or, you can do (from the EDK HW project directory)
>>
>> petalinux-jtag-boot -i </path/to/image.bin> -a <address>
>>
>>     
>>> So petalinux is almost alive on ml501 - any tips would be GREATLY 
>>> appreciated!
>>>       
>> Let's see you auto-config.in file (and MHS as well).
>>
>> If we can get this going I'd be happy to add the ML501 as a standard 
>> reference design in PetaLinux.
>>
>> Thanks,
>>
>> John
>> ___________________________
>> microblaze-uclinux mailing list
>> microblaze-uclinux@xxxxxxxxxxxxxx
>> Project Home Page :
>>     
> http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
>   
>> Mailing List Archive :
>> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>>
>>     
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>
>
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>
>
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>   
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/




___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/