
In message 480E32A6.8080908@ovro.caltech.edu you wrote:
...
from a flash? We are developing our app with the canyonlands board, but we won't be able to try the PCI boot until we have our own board finished.
U-Boot is a bootloader. What you are describing here circumvents needing a bootloader.
This is not necessarily true. Ther emay be many reasons why you still want to run a boot loader (like U-Boot) on the PCI device's local processor.
If you want to boot your board over PCI, then the board will most likely be a peripheral board (a host would need to boot and setup bridges, so you would have a hard time booting a host through a bridge that is not configured). The host CPU would hold the image of the kernel that you were planning to boot onto the PCI peripheral board. However, your host would need to perform all of the tasks normally performed by the bootloader; setup the memory map, memory controllers, and peripherals that Linux expects to find configured. Then even trickier, is to setup the kernel boot command line arguments and device tree. My guess would be that you would have to hardwire that info into your kernel image, or add a small bootloader to the kernel image to setup the arguments to the kernel proper.
You see? There is plenty of good reasons to have a well-known, powerful boot loader available :-)
Save yourself a lot of trouble, and no community support,
Who says "no community support"? This is a perfectly legal way of using U-Boot, and we we can, we will help.
Best regards,
Wolfgang Denk