12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*
- * SH7780 Setup
- *
- * Copyright (C) 2006 Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- */
- #include <linux/platform_device.h>
- #include <linux/init.h>
- #include <linux/serial.h>
- #include <asm/sci.h>
- static struct resource rtc_resources[] = {
- [0] = {
- .start = 0xffe80000,
- .end = 0xffe80000 + 0x58 - 1,
- .flags = IORESOURCE_IO,
- },
- [1] = {
- /* Period IRQ */
- .start = 21,
- .flags = IORESOURCE_IRQ,
- },
- [2] = {
- /* Carry IRQ */
- .start = 22,
- .flags = IORESOURCE_IRQ,
- },
- [3] = {
- /* Alarm IRQ */
- .start = 23,
- .flags = IORESOURCE_IRQ,
- },
- };
- static struct platform_device rtc_device = {
- .name = "sh-rtc",
- .id = -1,
- .num_resources = ARRAY_SIZE(rtc_resources),
- .resource = rtc_resources,
- };
- static struct plat_sci_port sci_platform_data[] = {
- {
- .mapbase = 0xffe00000,
- .flags = UPF_BOOT_AUTOCONF,
- .type = PORT_SCIF,
- .irqs = { 40, 41, 43, 42 },
- }, {
- .mapbase = 0xffe10000,
- .flags = UPF_BOOT_AUTOCONF,
- .type = PORT_SCIF,
- .irqs = { 76, 77, 79, 78 },
- }, {
- .flags = 0,
- }
- };
- static struct platform_device sci_device = {
- .name = "sh-sci",
- .id = -1,
- .dev = {
- .platform_data = sci_platform_data,
- },
- };
- static struct platform_device *sh7780_devices[] __initdata = {
- &rtc_device,
- &sci_device,
- };
- static int __init sh7780_devices_setup(void)
- {
- return platform_add_devices(sh7780_devices,
- ARRAY_SIZE(sh7780_devices));
- }
- __initcall(sh7780_devices_setup);
|