12 #include <linux/serial.h>
18 #include <cpu/dma-register.h>
21 .mapbase = 0xffe00000,
34 .platform_data = &scif0_platform_data,
39 .mapbase = 0xffe10000,
52 .platform_data = &scif1_platform_data,
57 .channel_offset = 0x04,
59 .clockevent_rating = 200,
62 static struct resource tmu0_resources[] = {
78 .platform_data = &tmu0_platform_data,
80 .resource = tmu0_resources,
85 .channel_offset = 0x10,
87 .clocksource_rating = 200,
90 static struct resource tmu1_resources[] = {
106 .platform_data = &tmu1_platform_data,
108 .resource = tmu1_resources,
113 .channel_offset = 0x1c,
117 static struct resource tmu2_resources[] = {
133 .platform_data = &tmu2_platform_data,
135 .resource = tmu2_resources,
140 .channel_offset = 0x04,
144 static struct resource tmu3_resources[] = {
160 .platform_data = &tmu3_platform_data,
162 .resource = tmu3_resources,
167 .channel_offset = 0x10,
171 static struct resource tmu4_resources[] = {
187 .platform_data = &tmu4_platform_data,
189 .resource = tmu4_resources,
194 .channel_offset = 0x1c,
198 static struct resource tmu5_resources[] = {
214 .platform_data = &tmu5_platform_data,
216 .resource = tmu5_resources,
220 static struct resource rtc_resources[] = {
223 .end = 0xffe80000 + 0x58 - 1,
237 .resource = rtc_resources,
285 static const unsigned int ts_shift[] =
TS_SHIFT;
288 .channel = sh7780_dmae0_channels,
289 .channel_num =
ARRAY_SIZE(sh7780_dmae0_channels),
300 .channel = sh7780_dmae1_channels,
301 .channel_num =
ARRAY_SIZE(sh7780_dmae1_channels),
311 static struct resource sh7780_dmae0_resources[] = {
336 static struct resource sh7780_dmae1_resources[] = {
357 .name =
"sh-dma-engine",
359 .resource = sh7780_dmae0_resources,
360 .num_resources =
ARRAY_SIZE(sh7780_dmae0_resources),
362 .platform_data = &dma0_platform_data,
367 .name =
"sh-dma-engine",
369 .resource = sh7780_dmae1_resources,
370 .num_resources =
ARRAY_SIZE(sh7780_dmae1_resources),
372 .platform_data = &dma1_platform_data,
390 static int __init sh7780_devices_setup(
void)
410 if (mach_is_sh2007()) {
435 SCIF1,
SIOF,
HSPI,
MMCIF,
TMU3,
TMU4,
TMU5,
SSI,
FLCTL,
GPIO,
478 static struct intc_group groups[] __initdata = {
484 { 0xffd40038, 0xffd4003c, 32,
492 { 0xffd40000, 0, 32, 8, {
TMU0,
TMU1,
497 { 0xffd40010, 0, 32, 8, {
CMT,
HAC,
502 { 0xffd4001c, 0, 32, 8, {
FLCTL,
GPIO } },
506 mask_registers, prio_registers,
NULL);
510 static struct intc_vect irq_vectors[] __initdata = {
517 static struct intc_mask_reg irq_mask_registers[] __initdata = {
518 { 0xffd00044, 0xffd00064, 32,
522 static struct intc_prio_reg irq_prio_registers[] __initdata = {
532 static struct intc_mask_reg irq_ack_registers[] __initdata = {
538 NULL, irq_mask_registers, irq_prio_registers,
539 irq_sense_registers, irq_ack_registers);
543 static struct intc_vect irl_vectors[] __initdata = {
554 static struct intc_mask_reg irl3210_mask_registers[] __initdata = {
555 { 0xffd40080, 0xffd40084, 32,
562 static struct intc_mask_reg irl7654_mask_registers[] __initdata = {
563 { 0xffd40080, 0xffd40084, 32,
564 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 #define INTC_ICR0 0xffd00000
578 #define INTC_INTMSK0 0xffd00044
579 #define INTC_INTMSK1 0xffd00048
580 #define INTC_INTMSK2 0xffd40080
581 #define INTC_INTMSKCLR1 0xffd00068
582 #define INTC_INTMSKCLR2 0xffd40084