Commit | Line | Data |
---|---|---|
d729b900 PK |
1 | /* |
2 | * BSC913xRDB Board Setup | |
3 | * | |
4 | * Author: Priyanka Jain <Priyanka.Jain@freescale.com> | |
5 | * | |
6 | * Copyright 2011-2012 Freescale Semiconductor Inc. | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify it | |
9 | * under the terms of the GNU General Public License as published by the | |
10 | * Free Software Foundation; either version 2 of the License, or (at your | |
11 | * option) any later version. | |
12 | */ | |
13 | ||
14 | #include <linux/of_platform.h> | |
15 | #include <linux/pci.h> | |
16 | #include <asm/mpic.h> | |
17 | #include <sysdev/fsl_soc.h> | |
18 | #include <asm/udbg.h> | |
19 | ||
20 | #include "mpc85xx.h" | |
21 | ||
22 | void __init bsc913x_rdb_pic_init(void) | |
23 | { | |
24 | struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | | |
25 | MPIC_SINGLE_DEST_CPU, | |
26 | 0, 256, " OpenPIC "); | |
27 | ||
28 | if (!mpic) | |
29 | pr_err("bsc913x: Failed to allocate MPIC structure\n"); | |
30 | else | |
31 | mpic_init(mpic); | |
32 | } | |
33 | ||
34 | /* | |
35 | * Setup the architecture | |
36 | */ | |
37 | static void __init bsc913x_rdb_setup_arch(void) | |
38 | { | |
39 | if (ppc_md.progress) | |
40 | ppc_md.progress("bsc913x_rdb_setup_arch()", 0); | |
41 | ||
42 | pr_info("bsc913x board from Freescale Semiconductor\n"); | |
43 | } | |
44 | ||
45 | machine_device_initcall(bsc9131_rdb, mpc85xx_common_publish_devices); | |
46 | ||
47 | /* | |
48 | * Called very early, device-tree isn't unflattened | |
49 | */ | |
50 | ||
51 | static int __init bsc9131_rdb_probe(void) | |
52 | { | |
56571384 | 53 | return of_machine_is_compatible("fsl,bsc9131rdb"); |
d729b900 PK |
54 | } |
55 | ||
56 | define_machine(bsc9131_rdb) { | |
57 | .name = "BSC9131 RDB", | |
58 | .probe = bsc9131_rdb_probe, | |
59 | .setup_arch = bsc913x_rdb_setup_arch, | |
60 | .init_IRQ = bsc913x_rdb_pic_init, | |
61 | .get_irq = mpic_get_irq, | |
62 | .restart = fsl_rstcr_restart, | |
63 | .calibrate_decr = generic_calibrate_decr, | |
64 | .progress = udbg_progress, | |
65 | }; |