diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-24 23:26:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-24 23:26:25 -0400 |
commit | 0de085bb474f64e4fdb2f1ff3268590792648c7b (patch) | |
tree | 67c88c8215b85e01430531dba7d7c8ad73173b67 /include/asm-powerpc/pci-bridge.h | |
parent | 3836df6b520a2f93033bf53200b12a2cb5137395 (diff) | |
parent | e58712111fe6eb7573fd6dd12d80de3bec13f277 (diff) |
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
* 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc: (25 commits)
[POWERPC] 85xx: Added needed MPC85xx PCI device IDs
[POWERPC] Add Freescale PCI VENDOR ID and 8641 device IDs
[POWERPC] 85xxCDS: MPC8548 DTS cleanup.
[POWERPC] 85xxCDS: Misc 8548 PCI Corrections.
[POWERPC] 85xxCDS: Delay 8259 cascade hookup.
[POWERPC] 85xxCDS: Make sure restart resets the PCI bus.
[POWERPC] 85xxCDS: Allow 8259 cascade to share an MPIC interrupt line.
[POWERPC] FSL: Add support for PCI-X controllers
[POWERPC] Make sure virtual P2P bridge registers are setup on PCIe PHB
[POWERPC] Provide ability to setup P2P bridge registers from struct resource
[POWERPC] Add basic PCI/PCI Express support for 8544DS board
[POWERPC] Make endianess of cfg_addr for indirect pci ops runtime
[POWERPC] Removed setup_indirect_pci_nomap
[POWERPC] 85xx: Add quirk to ignore bogus FPGA on CDS
[POWERPC] 85xx: Added 8568 PCIe support
[POWERPC] Fixup resources on pci_bus for PCIe PHB when no device is connected
[POWERPC] Add basic PCI node for mpc8568mds board
[POWERPC] Use Freescale pci/pcie common code for 85xx boards
[POWERPC] Update PCI nodes in the 83xx/85xx boards device tree
[POWERPC] Add 8548 CDS PCI express controller node and PCI-X device node
...
Diffstat (limited to 'include/asm-powerpc/pci-bridge.h')
-rw-r--r-- | include/asm-powerpc/pci-bridge.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h index e72c2a60853c..d53e0eb1de16 100644 --- a/include/asm-powerpc/pci-bridge.h +++ b/include/asm-powerpc/pci-bridge.h | |||
@@ -45,10 +45,17 @@ struct pci_controller { | |||
45 | * on Freescale PCI-e controllers since they used the PCI_PRIMARY_BUS | 45 | * on Freescale PCI-e controllers since they used the PCI_PRIMARY_BUS |
46 | * to determine which bus number to match on when generating type0 | 46 | * to determine which bus number to match on when generating type0 |
47 | * config cycles | 47 | * config cycles |
48 | * NO_PCIE_LINK - the Freescale PCI-e controllers have issues with | ||
49 | * hanging if we don't have link and try to do config cycles to | ||
50 | * anything but the PHB. Only allow talking to the PHB if this is | ||
51 | * set. | ||
52 | * BIG_ENDIAN - cfg_addr is a big endian register | ||
48 | */ | 53 | */ |
49 | #define PPC_INDIRECT_TYPE_SET_CFG_TYPE (0x00000001) | 54 | #define PPC_INDIRECT_TYPE_SET_CFG_TYPE (0x00000001) |
50 | #define PPC_INDIRECT_TYPE_EXT_REG (0x00000002) | 55 | #define PPC_INDIRECT_TYPE_EXT_REG (0x00000002) |
51 | #define PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS (0x00000004) | 56 | #define PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS (0x00000004) |
57 | #define PPC_INDIRECT_TYPE_NO_PCIE_LINK (0x00000008) | ||
58 | #define PPC_INDIRECT_TYPE_BIG_ENDIAN (0x00000010) | ||
52 | u32 indirect_type; | 59 | u32 indirect_type; |
53 | 60 | ||
54 | /* Currently, we limit ourselves to 1 IO range and 3 mem | 61 | /* Currently, we limit ourselves to 1 IO range and 3 mem |
@@ -79,11 +86,14 @@ int early_write_config_word(struct pci_controller *hose, int bus, int dev_fn, | |||
79 | int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn, | 86 | int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn, |
80 | int where, u32 val); | 87 | int where, u32 val); |
81 | 88 | ||
82 | extern void setup_indirect_pci_nomap(struct pci_controller* hose, | 89 | extern int early_find_capability(struct pci_controller *hose, int bus, |
83 | void __iomem *cfg_addr, void __iomem *cfg_data); | 90 | int dev_fn, int cap); |
91 | |||
84 | extern void setup_indirect_pci(struct pci_controller* hose, | 92 | extern void setup_indirect_pci(struct pci_controller* hose, |
85 | u32 cfg_addr, u32 cfg_data); | 93 | u32 cfg_addr, u32 cfg_data, u32 flags); |
86 | extern void setup_grackle(struct pci_controller *hose); | 94 | extern void setup_grackle(struct pci_controller *hose); |
95 | extern void __init update_bridge_resource(struct pci_dev *dev, | ||
96 | struct resource *res); | ||
87 | 97 | ||
88 | #else | 98 | #else |
89 | 99 | ||