xref: /openbmc/linux/arch/sh/kernel/cpu/sh3/setup-sh7710.c (revision e5723e0eeb2dc16629e86d66785024ead9169000)
1*e5723e0eSPaul Mundt /*
2*e5723e0eSPaul Mundt  * SH7710 Setup
3*e5723e0eSPaul Mundt  *
4*e5723e0eSPaul Mundt  *  Copyright (C) 2006  Paul Mundt
5*e5723e0eSPaul Mundt  *
6*e5723e0eSPaul Mundt  * This file is subject to the terms and conditions of the GNU General Public
7*e5723e0eSPaul Mundt  * License.  See the file "COPYING" in the main directory of this archive
8*e5723e0eSPaul Mundt  * for more details.
9*e5723e0eSPaul Mundt  */
10*e5723e0eSPaul Mundt #include <linux/platform_device.h>
11*e5723e0eSPaul Mundt #include <linux/init.h>
12*e5723e0eSPaul Mundt #include <linux/serial.h>
13*e5723e0eSPaul Mundt #include <asm/sci.h>
14*e5723e0eSPaul Mundt 
15*e5723e0eSPaul Mundt static struct plat_sci_port sci_platform_data[] = {
16*e5723e0eSPaul Mundt 	{
17*e5723e0eSPaul Mundt 		.mapbase	= 0xa4400000,
18*e5723e0eSPaul Mundt 		.flags		= UPF_BOOT_AUTOCONF,
19*e5723e0eSPaul Mundt 		.type		= PORT_SCIF,
20*e5723e0eSPaul Mundt 		.irqs		= { 52, 53, 55, 54 },
21*e5723e0eSPaul Mundt 	}, {
22*e5723e0eSPaul Mundt 		.flags = 0,
23*e5723e0eSPaul Mundt 	}
24*e5723e0eSPaul Mundt };
25*e5723e0eSPaul Mundt 
26*e5723e0eSPaul Mundt static struct platform_device sci_device = {
27*e5723e0eSPaul Mundt 	.name		= "sh-sci",
28*e5723e0eSPaul Mundt 	.id		= -1,
29*e5723e0eSPaul Mundt 	.dev		= {
30*e5723e0eSPaul Mundt 		.platform_data	= sci_platform_data,
31*e5723e0eSPaul Mundt 	},
32*e5723e0eSPaul Mundt };
33*e5723e0eSPaul Mundt 
34*e5723e0eSPaul Mundt static struct platform_device *sh7710_devices[] __initdata = {
35*e5723e0eSPaul Mundt 	&sci_device,
36*e5723e0eSPaul Mundt };
37*e5723e0eSPaul Mundt 
38*e5723e0eSPaul Mundt static int __init sh7710_devices_setup(void)
39*e5723e0eSPaul Mundt {
40*e5723e0eSPaul Mundt 	return platform_add_devices(sh7710_devices,
41*e5723e0eSPaul Mundt 				    ARRAY_SIZE(sh7710_devices));
42*e5723e0eSPaul Mundt }
43*e5723e0eSPaul Mundt __initcall(sh7710_devices_setup);
44