Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/platforms/85xx/bsc913x_qds.c
26481 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* BSC913xQDS Board Setup
4
*
5
* Author:
6
* Harninder Rai <[email protected]>
7
* Priyanka Jain <[email protected]>
8
*
9
* Copyright 2014 Freescale Semiconductor Inc.
10
*/
11
12
#include <linux/of.h>
13
#include <linux/pci.h>
14
#include <asm/mpic.h>
15
#include <sysdev/fsl_soc.h>
16
#include <sysdev/fsl_pci.h>
17
#include <asm/udbg.h>
18
19
#include "mpc85xx.h"
20
#include "smp.h"
21
22
static void __init bsc913x_qds_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_qds_setup_arch(void)
38
{
39
if (ppc_md.progress)
40
ppc_md.progress("bsc913x_qds_setup_arch()", 0);
41
42
#if defined(CONFIG_SMP)
43
mpc85xx_smp_init();
44
#endif
45
46
fsl_pci_assign_primary();
47
48
pr_info("bsc913x board from Freescale Semiconductor\n");
49
}
50
51
machine_arch_initcall(bsc9132_qds, mpc85xx_common_publish_devices);
52
53
define_machine(bsc9132_qds) {
54
.name = "BSC9132 QDS",
55
.compatible = "fsl,bsc9132qds",
56
.setup_arch = bsc913x_qds_setup_arch,
57
.init_IRQ = bsc913x_qds_pic_init,
58
#ifdef CONFIG_PCI
59
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
60
#endif
61
.get_irq = mpic_get_irq,
62
.progress = udbg_progress,
63
};
64
65