Hi,
I am designing a PCI card with the Intel 21555 on it to be used with a
PC with multiple PCI slots, running Red Hat Linux, kernel 2.4, as the
host. I am not using a local processor on the secondary side of the
bridge.
By default, at power on, the 21555 attempts to load default
configuration from a serial ROM. The 21555 user manual describes
different initialization options, which includes one without local
processor and with serial ROM preload, which is the one that I am
trying to implement. It states that it is possible to initialize the
21555 without a local processor and with a serial preload - the serial
preload should clear the primary-lock-out-bit, thus enabling the
primary side, access to the secondary interface of the 21555. (The
21555 evaluation board has a serial ROM and DIP switch selections to
do this). With this set up, I am trying to sense and access the
secondary side of the 21555 by plugging the 21555 eval board into our
host PC. I encounter problems doing this: at boot up, the system
(Linux OS and its BIOS) scans the PCI bus, sniffing out devices and
configuring them. If it encounters a bridge (standard, transparent),
it sniffs beyond it and creates a device tree. Now, since the 21555 is
a non-transparent bridge, implementing a Header Type 0, the system
firmware cannot detect and configure devices on its secondary bus.
Can someone tell me how to configure and initialize the secondary side
of the 21555 ? Is it possible to do this from the device driver of the
card (that is loaded after boot up, I guess) or does it require
changes into the Kernel code, and a rebuild of the kernel ?
Thanks for the help, in advance !
-chirayush dhruv