diff options
Diffstat (limited to 'arch/powerpc/platforms/85xx/tqm85xx.c')
-rw-r--r-- | arch/powerpc/platforms/85xx/tqm85xx.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c index 77681acf1bae..d850880d6964 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) | |||
120 | #endif | 120 | #endif |
121 | 121 | ||
122 | #ifdef CONFIG_PCI | 122 | #ifdef CONFIG_PCI |
123 | for_each_compatible_node(np, "pci", "fsl,mpc8540-pci") | 123 | for_each_node_by_type(np, "pci") { |
124 | fsl_add_bridge(np, 1); | 124 | if (of_device_is_compatible(np, "fsl,mpc8540-pci") || |
125 | of_device_is_compatible(np, "fsl,mpc8548-pcie")) { | ||
126 | struct resource rsrc; | ||
127 | if (!of_address_to_resource(np, 0, &rsrc)) { | ||
128 | if ((rsrc.start & 0xfffff) == 0x8000) | ||
129 | fsl_add_bridge(np, 1); | ||
130 | else | ||
131 | fsl_add_bridge(np, 0); | ||
132 | } | ||
133 | } | ||
134 | } | ||
125 | #endif | 135 | #endif |
126 | } | 136 | } |
127 | 137 | ||
@@ -165,10 +175,11 @@ static int __init tqm85xx_probe(void) | |||
165 | { | 175 | { |
166 | unsigned long root = of_get_flat_dt_root(); | 176 | unsigned long root = of_get_flat_dt_root(); |
167 | 177 | ||
168 | if ((of_flat_dt_is_compatible(root, "tqm,8540")) || | 178 | if ((of_flat_dt_is_compatible(root, "tqc,tqm8540")) || |
169 | (of_flat_dt_is_compatible(root, "tqm,8541")) || | 179 | (of_flat_dt_is_compatible(root, "tqc,tqm8541")) || |
170 | (of_flat_dt_is_compatible(root, "tqm,8555")) || | 180 | (of_flat_dt_is_compatible(root, "tqc,tqm8548")) || |
171 | (of_flat_dt_is_compatible(root, "tqm,8560"))) | 181 | (of_flat_dt_is_compatible(root, "tqc,tqm8555")) || |
182 | (of_flat_dt_is_compatible(root, "tqc,tqm8560"))) | ||
172 | return 1; | 183 | return 1; |
173 | 184 | ||
174 | return 0; | 185 | return 0; |