|
@@ -1,54 +0,0 @@
|
|
|
-
|
|
|
-Pete Popov, ppopov@pacbell.net
|
|
|
-07/11/2001
|
|
|
-
|
|
|
-This README briefly explains how to use the pci and pci_auto
|
|
|
-code in arch/mips/kernel. The code was ported from PowerPC and
|
|
|
-modified slightly. It has been tested pretty well on PPC on some
|
|
|
-rather complex systems with multiple bridges and devices behind
|
|
|
-each bridge. However, at the time this README was written, the
|
|
|
-mips port was tested only on boards with a single pci bus and
|
|
|
-no P2P bridges. It's very possible that on boards with P2P
|
|
|
-bridges some modifications have to be made. The code will
|
|
|
-evolve, no doubt, but currently every single mips board
|
|
|
-is doing its own pcibios thing and it has become a big
|
|
|
-mess. This generic pci code is meant to clean up the mips
|
|
|
-pci mess and make it easier to add pci support to new boards.
|
|
|
-
|
|
|
-inside the define for your board in arch/mips/config.in.
|
|
|
-For example, the Galileo EV96100 board looks like this:
|
|
|
-
|
|
|
-if [ "$CONFIG_MIPS_EV96100" = "y" ]; then
|
|
|
- define_bool CONFIG_PCI y
|
|
|
- define_bool CONFIG_MIPS_GT96100 y
|
|
|
- define_bool CONFIG_NEW_PCI y
|
|
|
- define_bool CONFIG_SWAP_IO_SPACE y
|
|
|
-fi
|
|
|
-
|
|
|
-
|
|
|
-Next, if you want to use the arch/mips/kernel/pci code, which has the
|
|
|
-pcibios_init() function, add
|
|
|
-
|
|
|
-define_bool CONFIG_NEW_PCI y
|
|
|
-
|
|
|
-inside the define for your board. Again, the EV96100 example above
|
|
|
-show NEW_PCI turned on.
|
|
|
-
|
|
|
-
|
|
|
-Now you need to add your files to hook in your pci configuration
|
|
|
-cycles. Usually you'll need only a couple of files named something
|
|
|
-like pci_fixups.c and pci_ops.c. You can copy the templates
|
|
|
-provided and fill in the code.
|
|
|
-
|
|
|
-The file pci_ops.c should contain the pci configuration cycles routines.
|
|
|
-It also has the mips_pci_channels[] array which contains the descriptors
|
|
|
-of each pci controller.
|
|
|
-
|
|
|
-The file pci_fixups.c contains a few routines to do interrupt fixups,
|
|
|
-resources fixups, and, if needed, pci bios fixups.
|
|
|
-
|
|
|
-Usually you'll put your pci_fixups.c file in your board specific directory,
|
|
|
-since the functions in that file are board specific. The functions in
|
|
|
-pci_ops.c, on the other hand, are usually pci controller specific so that
|
|
|
-file could be shared among a few different boards using the same
|
|
|
-pci controller.
|