aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/83xx/km83xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/83xx/km83xx.c')
-rw-r--r--arch/powerpc/platforms/83xx/km83xx.c58
1 files changed, 5 insertions, 53 deletions
diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c
index c55129f5760a..65eb792a0d00 100644
--- a/arch/powerpc/platforms/83xx/km83xx.c
+++ b/arch/powerpc/platforms/83xx/km83xx.c
@@ -51,15 +51,14 @@
51 */ 51 */
52static void __init mpc83xx_km_setup_arch(void) 52static void __init mpc83xx_km_setup_arch(void)
53{ 53{
54#ifdef CONFIG_QUICC_ENGINE
54 struct device_node *np; 55 struct device_node *np;
56#endif
55 57
56 if (ppc_md.progress) 58 if (ppc_md.progress)
57 ppc_md.progress("kmpbec83xx_setup_arch()", 0); 59 ppc_md.progress("kmpbec83xx_setup_arch()", 0);
58 60
59#ifdef CONFIG_PCI 61 mpc83xx_setup_pci();
60 for_each_compatible_node(np, "pci", "fsl,mpc8349-pci")
61 mpc83xx_add_bridge(np);
62#endif
63 62
64#ifdef CONFIG_QUICC_ENGINE 63#ifdef CONFIG_QUICC_ENGINE
65 qe_reset(); 64 qe_reset();
@@ -122,54 +121,7 @@ static void __init mpc83xx_km_setup_arch(void)
122#endif /* CONFIG_QUICC_ENGINE */ 121#endif /* CONFIG_QUICC_ENGINE */
123} 122}
124 123
125static struct of_device_id kmpbec83xx_ids[] = { 124machine_device_initcall(mpc83xx_km, mpc83xx_declare_of_platform_devices);
126 { .type = "soc", },
127 { .compatible = "soc", },
128 { .compatible = "simple-bus", },
129 { .type = "qe", },
130 { .compatible = "fsl,qe", },
131 {},
132};
133
134static int __init kmeter_declare_of_platform_devices(void)
135{
136 /* Publish the QE devices */
137 of_platform_bus_probe(NULL, kmpbec83xx_ids, NULL);
138
139 return 0;
140}
141machine_device_initcall(mpc83xx_km, kmeter_declare_of_platform_devices);
142
143static void __init mpc83xx_km_init_IRQ(void)
144{
145 struct device_node *np;
146
147 np = of_find_compatible_node(NULL, NULL, "fsl,pq2pro-pic");
148 if (!np) {
149 np = of_find_node_by_type(NULL, "ipic");
150 if (!np)
151 return;
152 }
153
154 ipic_init(np, 0);
155
156 /* Initialize the default interrupt mapping priorities,
157 * in case the boot rom changed something on us.
158 */
159 ipic_set_default_priority();
160 of_node_put(np);
161
162#ifdef CONFIG_QUICC_ENGINE
163 np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
164 if (!np) {
165 np = of_find_node_by_type(NULL, "qeic");
166 if (!np)
167 return;
168 }
169 qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic);
170 of_node_put(np);
171#endif /* CONFIG_QUICC_ENGINE */
172}
173 125
174/* list of the supported boards */ 126/* list of the supported boards */
175static char *board[] __initdata = { 127static char *board[] __initdata = {
@@ -198,7 +150,7 @@ define_machine(mpc83xx_km) {
198 .name = "mpc83xx-km-platform", 150 .name = "mpc83xx-km-platform",
199 .probe = mpc83xx_km_probe, 151 .probe = mpc83xx_km_probe,
200 .setup_arch = mpc83xx_km_setup_arch, 152 .setup_arch = mpc83xx_km_setup_arch,
201 .init_IRQ = mpc83xx_km_init_IRQ, 153 .init_IRQ = mpc83xx_ipic_and_qe_init_IRQ,
202 .get_irq = ipic_get_irq, 154 .get_irq = ipic_get_irq,
203 .restart = mpc83xx_restart, 155 .restart = mpc83xx_restart,
204 .time_init = mpc83xx_time_init, 156 .time_init = mpc83xx_time_init,