1 /* 2 * Copyright (C) 2007,2008 Freescale Semiconductor, Inc. All rights reserved. 3 * 4 * Author: John Rigby <jrigby@freescale.com> 5 * 6 * Description: 7 * MPC512x Shared code 8 * 9 * This is free software; you can redistribute it and/or modify it 10 * under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 */ 14 15 #include <linux/kernel.h> 16 #include <linux/io.h> 17 #include <linux/irq.h> 18 #include <linux/of_platform.h> 19 20 #include <asm/machdep.h> 21 #include <asm/ipic.h> 22 #include <asm/prom.h> 23 #include <asm/time.h> 24 25 #include "mpc512x.h" 26 27 void __init mpc512x_init_IRQ(void) 28 { 29 struct device_node *np; 30 31 np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-ipic"); 32 if (!np) 33 return; 34 35 ipic_init(np, 0); 36 of_node_put(np); 37 38 /* 39 * Initialize the default interrupt mapping priorities, 40 * in case the boot rom changed something on us. 41 */ 42 ipic_set_default_priority(); 43 } 44 45 /* 46 * Nodes to do bus probe on, soc and localbus 47 */ 48 static struct of_device_id __initdata of_bus_ids[] = { 49 { .compatible = "fsl,mpc5121-immr", }, 50 { .compatible = "fsl,mpc5121-localbus", }, 51 {}, 52 }; 53 54 void __init mpc512x_declare_of_platform_devices(void) 55 { 56 if (of_platform_bus_probe(NULL, of_bus_ids, NULL)) 57 printk(KERN_ERR __FILE__ ": " 58 "Error while probing of_platform bus\n"); 59 } 60 61