aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh4a
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel/cpu/sh4a')
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7366.c28
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7722.c34
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7723.c6
3 files changed, 63 insertions, 5 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
index 6851dba02f31..e17db39b97aa 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
@@ -36,6 +36,32 @@ static struct platform_device iic_device = {
36 .resource = iic_resources, 36 .resource = iic_resources,
37}; 37};
38 38
39static struct resource usb_host_resources[] = {
40 [0] = {
41 .name = "r8a66597_hcd",
42 .start = 0xa4d80000,
43 .end = 0xa4d800ff,
44 .flags = IORESOURCE_MEM,
45 },
46 [1] = {
47 .name = "r8a66597_hcd",
48 .start = 65,
49 .end = 65,
50 .flags = IORESOURCE_IRQ,
51 },
52};
53
54static struct platform_device usb_host_device = {
55 .name = "r8a66597_hcd",
56 .id = -1,
57 .dev = {
58 .dma_mask = NULL,
59 .coherent_dma_mask = 0xffffffff,
60 },
61 .num_resources = ARRAY_SIZE(usb_host_resources),
62 .resource = usb_host_resources,
63};
64
39static struct uio_info vpu_platform_data = { 65static struct uio_info vpu_platform_data = {
40 .name = "VPU5", 66 .name = "VPU5",
41 .version = "0", 67 .version = "0",
@@ -142,6 +168,7 @@ static struct platform_device sci_device = {
142static struct platform_device *sh7366_devices[] __initdata = { 168static struct platform_device *sh7366_devices[] __initdata = {
143 &iic_device, 169 &iic_device,
144 &sci_device, 170 &sci_device,
171 &usb_host_device,
145 &vpu_device, 172 &vpu_device,
146 &veu0_device, 173 &veu0_device,
147 &veu1_device, 174 &veu1_device,
@@ -158,6 +185,7 @@ static int __init sh7366_devices_setup(void)
158 clk_always_enable("mstp022"); /* INTC */ 185 clk_always_enable("mstp022"); /* INTC */
159 clk_always_enable("mstp020"); /* SuperHyway */ 186 clk_always_enable("mstp020"); /* SuperHyway */
160 clk_always_enable("mstp109"); /* I2C */ 187 clk_always_enable("mstp109"); /* I2C */
188 clk_always_enable("mstp211"); /* USB */
161 clk_always_enable("mstp207"); /* VEU-2 */ 189 clk_always_enable("mstp207"); /* VEU-2 */
162 clk_always_enable("mstp202"); /* VEU-1 */ 190 clk_always_enable("mstp202"); /* VEU-1 */
163 clk_always_enable("mstp201"); /* VPU */ 191 clk_always_enable("mstp201"); /* VPU */
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
index de1ede92176e..ef77ee1d9f53 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * SH7722 Setup 2 * SH7722 Setup
3 * 3 *
4 * Copyright (C) 2006 - 2007 Paul Mundt 4 * Copyright (C) 2006 - 2008 Paul Mundt
5 * 5 *
6 * This file is subject to the terms and conditions of the GNU General Public 6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive 7 * License. See the file "COPYING" in the main directory of this archive
@@ -16,6 +16,36 @@
16#include <asm/clock.h> 16#include <asm/clock.h>
17#include <asm/mmzone.h> 17#include <asm/mmzone.h>
18 18
19static struct resource rtc_resources[] = {
20 [0] = {
21 .start = 0xa465fec0,
22 .end = 0xa465fec0 + 0x58 - 1,
23 .flags = IORESOURCE_IO,
24 },
25 [1] = {
26 /* Period IRQ */
27 .start = 45,
28 .flags = IORESOURCE_IRQ,
29 },
30 [2] = {
31 /* Carry IRQ */
32 .start = 46,
33 .flags = IORESOURCE_IRQ,
34 },
35 [3] = {
36 /* Alarm IRQ */
37 .start = 44,
38 .flags = IORESOURCE_IRQ,
39 },
40};
41
42static struct platform_device rtc_device = {
43 .name = "sh-rtc",
44 .id = -1,
45 .num_resources = ARRAY_SIZE(rtc_resources),
46 .resource = rtc_resources,
47};
48
19static struct resource usbf_resources[] = { 49static struct resource usbf_resources[] = {
20 [0] = { 50 [0] = {
21 .name = "m66592_udc", 51 .name = "m66592_udc",
@@ -150,6 +180,7 @@ static struct platform_device sci_device = {
150}; 180};
151 181
152static struct platform_device *sh7722_devices[] __initdata = { 182static struct platform_device *sh7722_devices[] __initdata = {
183 &rtc_device,
153 &usbf_device, 184 &usbf_device,
154 &iic_device, 185 &iic_device,
155 &sci_device, 186 &sci_device,
@@ -202,7 +233,6 @@ enum {
202 IRDA, JPU, LCDC, 233 IRDA, JPU, LCDC,
203 234
204 /* interrupt groups */ 235 /* interrupt groups */
205
206 SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI, 236 SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI,
207}; 237};
208 238
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
index a7412cede534..6d9e6972cfc9 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
@@ -119,17 +119,17 @@ static struct plat_sci_port sci_platform_data[] = {
119 },{ 119 },{
120 .mapbase = 0xa4e30000, 120 .mapbase = 0xa4e30000,
121 .flags = UPF_BOOT_AUTOCONF, 121 .flags = UPF_BOOT_AUTOCONF,
122 .type = PORT_SCI, 122 .type = PORT_SCIFA,
123 .irqs = { 56, 56, 56, 56 }, 123 .irqs = { 56, 56, 56, 56 },
124 },{ 124 },{
125 .mapbase = 0xa4e40000, 125 .mapbase = 0xa4e40000,
126 .flags = UPF_BOOT_AUTOCONF, 126 .flags = UPF_BOOT_AUTOCONF,
127 .type = PORT_SCI, 127 .type = PORT_SCIFA,
128 .irqs = { 88, 88, 88, 88 }, 128 .irqs = { 88, 88, 88, 88 },
129 },{ 129 },{
130 .mapbase = 0xa4e50000, 130 .mapbase = 0xa4e50000,
131 .flags = UPF_BOOT_AUTOCONF, 131 .flags = UPF_BOOT_AUTOCONF,
132 .type = PORT_SCI, 132 .type = PORT_SCIFA,
133 .irqs = { 109, 109, 109, 109 }, 133 .irqs = { 109, 109, 109, 109 },
134 }, { 134 }, {
135 .flags = 0, 135 .flags = 0,