9 #include <linux/types.h>
10 #include <linux/pci.h>
11 #include <linux/kernel.h>
14 #include <asm/bootinfo.h>
24 static struct resource bcm_pci_mem_resource = {
25 .name =
"bcm63xx PCI memory space",
31 static struct resource bcm_pci_io_resource = {
32 .name =
"bcm63xx PCI IO space",
44 .io_resource = &bcm_pci_io_resource,
45 .mem_resource = &bcm_pci_mem_resource,
54 static struct resource bcm_cb_mem_resource = {
55 .
name =
"bcm63xx Cardbus memory space",
61 static struct resource bcm_cb_io_resource = {
62 .
name =
"bcm63xx Cardbus IO space",
70 .io_resource = &bcm_cb_io_resource,
71 .mem_resource = &bcm_cb_mem_resource,
75 static struct resource bcm_pcie_mem_resource = {
76 .name =
"bcm63xx PCIe memory space",
82 static struct resource bcm_pcie_io_resource = {
83 .name =
"bcm63xx PCIe IO space",
91 .io_resource = &bcm_pcie_io_resource,
92 .mem_resource = &bcm_pcie_mem_resource,
118 static void __init bcm63xx_reset_pcie(
void)
153 static int __init bcm63xx_register_pcie(
void)
157 bcm63xx_reset_pcie();
207 static int __init bcm63xx_register_pci(
void)
237 #ifdef CONFIG_CARDBUS
279 if (mem_size > (16 * 1024 * 1024))
281 "revision cannot handle more than 16MB "
282 "of RAM for PCI bus mastering\n");
317 #ifdef CONFIG_CARDBUS
323 "bcm63xx PCI IO space");
328 static int __init bcm63xx_pci_init(
void)
333 switch (bcm63xx_get_cpu_id()) {
335 return bcm63xx_register_pcie();
339 return bcm63xx_register_pci();