Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/platforms/52xx/mpc5200_simple.c
26481 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* Support for 'mpc5200-simple-platform' compatible boards.
4
*
5
* Written by Marian Balakowicz <[email protected]>
6
* Copyright (C) 2007 Semihalf
7
*
8
* Description:
9
* This code implements support for a simple MPC52xx based boards which
10
* do not need a custom platform specific setup. Such boards are
11
* supported assuming the following:
12
*
13
* - GPIO pins are configured by the firmware,
14
* - CDM configuration (clocking) is setup correctly by firmware,
15
* - if the 'fsl,has-wdt' property is present in one of the
16
* gpt nodes, then it is safe to use such gpt to reset the board,
17
* - PCI is supported if enabled in the kernel configuration
18
* and if there is a PCI bus node defined in the device tree.
19
*
20
* Boards that are compatible with this generic platform support
21
* are listed in a 'board' table.
22
*/
23
24
#undef DEBUG
25
#include <linux/of.h>
26
#include <asm/time.h>
27
#include <asm/machdep.h>
28
#include <asm/mpc52xx.h>
29
30
/*
31
* Setup the architecture
32
*/
33
static void __init mpc5200_simple_setup_arch(void)
34
{
35
if (ppc_md.progress)
36
ppc_md.progress("mpc5200_simple_setup_arch()", 0);
37
38
/* Map important registers from the internal memory map */
39
mpc52xx_map_common_devices();
40
41
/* Some mpc5200 & mpc5200b related configuration */
42
mpc5200_setup_xlb_arbiter();
43
}
44
45
/* list of the supported boards */
46
static const char *board[] __initdata = {
47
"anonymous,a3m071",
48
"anonymous,a4m072",
49
"anon,charon",
50
"ifm,o2d",
51
"intercontrol,digsy-mtc",
52
"manroland,mucmc52",
53
"manroland,uc101",
54
"phytec,pcm030",
55
"phytec,pcm032",
56
"promess,motionpro",
57
"schindler,cm5200",
58
"tqc,tqm5200",
59
NULL
60
};
61
62
define_machine(mpc5200_simple_platform) {
63
.name = "mpc5200-simple-platform",
64
.compatibles = board,
65
.setup_arch = mpc5200_simple_setup_arch,
66
.discover_phbs = mpc52xx_setup_pci,
67
.init = mpc52xx_declare_of_platform_devices,
68
.init_IRQ = mpc52xx_init_irq,
69
.get_irq = mpc52xx_get_irq,
70
.restart = mpc52xx_restart,
71
};
72
73