[U-Boot-Users] U-boot environment in Xilinx System ACE?

Greetings everyone - I am working on a port of U-Boot to a custom Xilinx Virtex2 Pro FPGA based board which uses the PPC405 inside the FPGA. The plan is to base the port on the existing ml300 port.
The nature of the design requires that the Xilinx System ACE compact flash card be the only nonvolatile memory on the board - no plain old FLASH memory or I2C EEPROM. Therefore, I would like to store the U-Boot environment as a file on the compact flash card.
I have checked the latest CVS sources and it appears that no one has implemented this yet.
Before I take a crack at it, is anyone planning to do this or in the process of doing it? Does anyone have any advice or caveats?
Thanks, Keith

Dear Keith,
in message OFD86B567B.6DB5DBFC-ON07257037.005D553D-07257037.005E4D94@mck.us.ray.com you wrote:
The nature of the design requires that the Xilinx System ACE compact flash card be the only nonvolatile memory on the board - no plain old FLASH memory or I2C EEPROM. Therefore, I would like to store the U-Boot environment as a file on the compact flash card.
This has been discussed before...
I have checked the latest CVS sources and it appears that no one has implemented this yet.
Right.
Before I take a crack at it, is anyone planning to do this or in the process of doing it? Does anyone have any advice or caveats?
This is not trivial to handle. The environment needs to be accessed very, very early in initialization - to read the console baudrate when starting the console driver. IDE / CompactFlash on the other hand gets initialized much, much later, long after relocating the whole stuff to RAM.
I don't see how these two situations mix easily. Can you attach a EEPROM via I2C or so?
Best regards,
Wolfgang Denk

Hi Wolfgang -
wd@denx.de wrote on 07/07/2005 01:00:41 PM:
Dear Keith,
in message <OFD86B567B.6DB5DBFC-ON07257037.005D553D-07257037. 005E4D94@mck.us.ray.com> you wrote:
The nature of the design requires that the Xilinx System ACE compact
flash
card be the only nonvolatile memory on the board - no plain old FLASH memory or I2C EEPROM. Therefore, I would like to store the U-Boot environment as a file on the compact flash card.
This has been discussed before...
I thought as much. I just makes too much sense :)
I have checked the latest CVS sources and it appears that no one has implemented this yet.
Right.
Before I take a crack at it, is anyone planning to do this or in the process of doing it? Does anyone have any advice or caveats?
This is not trivial to handle. The environment needs to be accessed very, very early in initialization - to read the console baudrate when starting the console driver. IDE / CompactFlash on the other hand gets initialized much, much later, long after relocating the whole stuff to RAM.
I don't see how these two situations mix easily. Can you attach a EEPROM via I2C or so?
I would prefer to do it that way, but the hardware must not be able to store any data on-board. All nonvolatile storage must be "removable" as in physical removal.
I did remember that the u-boot environment was read very early and it sounds like the restricted runtime environment was the reason that storing then environment in compact flash was not implemented.
If the problem is RAM, then I can solve that by dedicating some internal RAM in the FPGA for stack and data. Could we also use the PPC405 caches?
Best regards,
Wolfgang Denk

Dear Keith,
in message OF203F9449.99AEB2AF-ON07257037.006EF267-07257037.0071F9E5@mck.us.ray.com you wrote:
I did remember that the u-boot environment was read very early and it sounds like the restricted runtime environment was the reason that storing then environment in compact flash was not implemented.
Right, this is the big problem.
If the problem is RAM, then I can solve that by dedicating some internal RAM in the FPGA for stack and data. Could we also use the PPC405 caches?
It's not just having some memory, but all the other restrictions while running from flash: no writable data segment, not initialized BSS.
Check the code where CFG_ENV_IS_NOWHERE is used; use a static confi- guration for the console baudrate etc. This can get you started...
Best regards,
Wolfgang Denk

Keith,
have a look at XAPP542 (http://www.xilinx.com/bvdocs/appnotes/xapp542.pdf). We added support for System ACE CF and IIC and are working on getting a patch completed that goes back out into the U-Boot tree.
- Peter
Keith J Outwater wrote:
Hi Wolfgang -
wd@denx.de wrote on 07/07/2005 01:00:41 PM:
Dear Keith,
in message <OFD86B567B.6DB5DBFC-ON07257037.005D553D-07257037. 005E4D94@mck.us.ray.com> you wrote:
The nature of the design requires that the Xilinx System ACE compact
flash
card be the only nonvolatile memory on the board - no plain old FLASH memory or I2C EEPROM. Therefore, I would like to store the U-Boot environment as a file on the compact flash card.
This has been discussed before...
I thought as much. I just makes too much sense :)
I have checked the latest CVS sources and it appears that no one has implemented this yet.
Right.
Before I take a crack at it, is anyone planning to do this or in the process of doing it? Does anyone have any advice or caveats?
This is not trivial to handle. The environment needs to be accessed very, very early in initialization - to read the console baudrate when starting the console driver. IDE / CompactFlash on the other hand gets initialized much, much later, long after relocating the whole stuff to RAM.
I don't see how these two situations mix easily. Can you attach a EEPROM via I2C or so?
I would prefer to do it that way, but the hardware must not be able to store any data on-board. All nonvolatile storage must be "removable" as in physical removal.
I did remember that the u-boot environment was read very early and it sounds like the restricted runtime environment was the reason that storing then environment in compact flash was not implemented.
If the problem is RAM, then I can solve that by dedicating some internal RAM in the FPGA for stack and data. Could we also use the PPC405 caches?
Best regards,
Wolfgang Denk
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual core and dual graphics technology at this free one hour event hosted by HP, AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
participants (3)
-
Keith J Outwater
-
Peter Ryser
-
Wolfgang Denk