xref: /OK3568_Linux_fs/kernel/arch/powerpc/platforms/83xx/asp834x.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * arch/powerpc/platforms/83xx/asp834x.c
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Analogue & Micro ASP8347 board specific routines
6*4882a593Smuzhiyun  * clone of mpc834x_itx
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  * Copyright 2008 Codehermit
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * Maintainer: Bryan O'Donoghue <bodonoghue@codhermit.ie>
11*4882a593Smuzhiyun  */
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun #include <linux/pci.h>
14*4882a593Smuzhiyun #include <linux/of_platform.h>
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #include <asm/time.h>
17*4882a593Smuzhiyun #include <asm/ipic.h>
18*4882a593Smuzhiyun #include <asm/udbg.h>
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #include "mpc83xx.h"
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun /* ************************************************************************
23*4882a593Smuzhiyun  *
24*4882a593Smuzhiyun  * Setup the architecture
25*4882a593Smuzhiyun  *
26*4882a593Smuzhiyun  */
asp834x_setup_arch(void)27*4882a593Smuzhiyun static void __init asp834x_setup_arch(void)
28*4882a593Smuzhiyun {
29*4882a593Smuzhiyun 	mpc83xx_setup_arch();
30*4882a593Smuzhiyun 	mpc834x_usb_cfg();
31*4882a593Smuzhiyun }
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun machine_device_initcall(asp834x, mpc83xx_declare_of_platform_devices);
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun /*
36*4882a593Smuzhiyun  * Called very early, MMU is off, device-tree isn't unflattened
37*4882a593Smuzhiyun  */
asp834x_probe(void)38*4882a593Smuzhiyun static int __init asp834x_probe(void)
39*4882a593Smuzhiyun {
40*4882a593Smuzhiyun 	return of_machine_is_compatible("analogue-and-micro,asp8347e");
41*4882a593Smuzhiyun }
42*4882a593Smuzhiyun 
define_machine(asp834x)43*4882a593Smuzhiyun define_machine(asp834x) {
44*4882a593Smuzhiyun 	.name			= "ASP8347E",
45*4882a593Smuzhiyun 	.probe			= asp834x_probe,
46*4882a593Smuzhiyun 	.setup_arch		= asp834x_setup_arch,
47*4882a593Smuzhiyun 	.init_IRQ		= mpc83xx_ipic_init_IRQ,
48*4882a593Smuzhiyun 	.get_irq		= ipic_get_irq,
49*4882a593Smuzhiyun 	.restart		= mpc83xx_restart,
50*4882a593Smuzhiyun 	.time_init		= mpc83xx_time_init,
51*4882a593Smuzhiyun 	.calibrate_decr		= generic_calibrate_decr,
52*4882a593Smuzhiyun 	.progress		= udbg_progress,
53*4882a593Smuzhiyun };
54