diff options
Diffstat (limited to 'arch/powerpc/platforms/85xx/tqm85xx.c')
-rw-r--r-- | arch/powerpc/platforms/85xx/tqm85xx.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c index a682cbcdfb9..d850880d696 100644 --- a/arch/powerpc/platforms/85xx/tqm85xx.c +++ b/arch/powerpc/platforms/85xx/tqm85xx.c @@ -120,8 +120,18 @@ static void __init tqm85xx_setup_arch(void) #endif #ifdef CONFIG_PCI - for_each_compatible_node(np, "pci", "fsl,mpc8540-pci") - fsl_add_bridge(np, 1); + for_each_node_by_type(np, "pci") { + if (of_device_is_compatible(np, "fsl,mpc8540-pci") || + of_device_is_compatible(np, "fsl,mpc8548-pcie")) { + struct resource rsrc; + if (!of_address_to_resource(np, 0, &rsrc)) { + if ((rsrc.start & 0xfffff) == 0x8000) + fsl_add_bridge(np, 1); + else + fsl_add_bridge(np, 0); + } + } + } #endif } @@ -167,6 +177,7 @@ static int __init tqm85xx_probe(void) if ((of_flat_dt_is_compatible(root, "tqc,tqm8540")) || (of_flat_dt_is_compatible(root, "tqc,tqm8541")) || + (of_flat_dt_is_compatible(root, "tqc,tqm8548")) || (of_flat_dt_is_compatible(root, "tqc,tqm8555")) || (of_flat_dt_is_compatible(root, "tqc,tqm8560"))) return 1; |