Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/platforms/512x/mpc5121_ads.c
26481 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. All rights reserved.
4
*
5
* Author: John Rigby, <[email protected]>, Thur Mar 29 2007
6
*
7
* Description:
8
* MPC5121 ADS board setup
9
*/
10
11
#include <linux/kernel.h>
12
#include <linux/io.h>
13
#include <linux/of.h>
14
15
#include <asm/machdep.h>
16
#include <asm/ipic.h>
17
#include <asm/time.h>
18
19
#include <sysdev/fsl_pci.h>
20
21
#include "mpc512x.h"
22
#include "mpc5121_ads.h"
23
24
static void __init mpc5121_ads_setup_arch(void)
25
{
26
printk(KERN_INFO "MPC5121 ADS board from Freescale Semiconductor\n");
27
/*
28
* cpld regs are needed early
29
*/
30
mpc5121_ads_cpld_map();
31
32
mpc512x_setup_arch();
33
}
34
35
static void __init mpc5121_ads_setup_pci(void)
36
{
37
#ifdef CONFIG_PCI
38
struct device_node *np;
39
40
for_each_compatible_node(np, "pci", "fsl,mpc5121-pci")
41
mpc83xx_add_bridge(np);
42
#endif
43
}
44
45
static void __init mpc5121_ads_init_IRQ(void)
46
{
47
mpc512x_init_IRQ();
48
mpc5121_ads_cpld_pic_init();
49
}
50
51
/*
52
* Called very early, MMU is off, device-tree isn't unflattened
53
*/
54
static int __init mpc5121_ads_probe(void)
55
{
56
mpc512x_init_early();
57
58
return 1;
59
}
60
61
define_machine(mpc5121_ads) {
62
.name = "MPC5121 ADS",
63
.compatible = "fsl,mpc5121ads",
64
.probe = mpc5121_ads_probe,
65
.setup_arch = mpc5121_ads_setup_arch,
66
.discover_phbs = mpc5121_ads_setup_pci,
67
.init = mpc512x_init,
68
.init_IRQ = mpc5121_ads_init_IRQ,
69
.get_irq = ipic_get_irq,
70
.restart = mpc512x_restart,
71
};
72
73