[U-Boot] Using Uboot to communicate a PCI device.
dwh at ovro.caltech.edu
dwh at ovro.caltech.edu
Sat Jul 18 07:11:58 CEST 2009
Hi Darshan,
Let me summarize your hardware and request:
- Cavium Octeon host-processor
- Wintegra Winpath Network slave processors
- Devices connected via the PCI bus
- You want to create a U-Boot application to boot the
processors and then communicate over the PCI bus.
However, before we discuss U-Boot coding, it would be
useful if you could provide a more detailed system-level
description, so that we can provide suggestions.
For example;
- I assume the Cavium processor boots U-Boot, and performs
some initialization of the NPs, and then boots its OS.
What is the OS?
Does the Cavium instance of U-Boot have to boot the NPs?
Can the Cavium processor U-Boot initialize the PCI
interfaces on the NPs and then boot its OS, and then
the Cavium OS can boot the NPs.
U-Boot is a bootloader. More complex features/control
may be easier to deal with inside a complete OS such as
Linux.
- What OS will the NPs be running? Is there any need for
the NPs to run U-Boot? Can the NPs have their OS image
copied into their local memory, and then the processors
boot directly into their OS - no bootloader necessary?
Can the Cavium processor perform all device initialization
that U-Boot running on an NP would normally perform?
- Does the NP need to communicate with the Cavium via
the PCI bus, or would it be just as efficient for
them to communicate over the network?
Ira Snyder has worked on a PCI-to-PCI network driver
that might work for your processors, however, I'd
need to look at the datasheets for the Cavium and
NPs to see if they have the right features for this
type of interface.
Try and get the system-level design described first, and
then the software requirements for the lower-levels will
become clearer, or others will suggest solutions that you
may not have considered.
Cheers,
Dave
More information about the U-Boot
mailing list