14 #include <linux/serial.h>
22 #include <cpu/dma-register.h>
26 .mapbase = 0xfe4b0000,
38 .platform_data = &scif2_platform_data,
43 .mapbase = 0xfe4c0000,
55 .platform_data = &scif3_platform_data,
60 .mapbase = 0xfe4d0000,
72 .platform_data = &scif4_platform_data,
77 .channel_offset = 0x04,
79 .clockevent_rating = 200,
82 static struct resource tmu0_resources[] = {
98 .platform_data = &tmu0_platform_data,
100 .resource = tmu0_resources,
105 .channel_offset = 0x10,
107 .clocksource_rating = 200,
110 static struct resource tmu1_resources[] = {
126 .platform_data = &tmu1_platform_data,
128 .resource = tmu1_resources,
132 static struct resource spi0_resources[] = {
149 .chcr =
SM_INC | 0x800 | 0x40000000 |
156 .chcr =
DM_INC | 0x800 | 0x40000000 |
163 .chcr =
SM_INC | 0x800 | 0x40000000 |
170 .chcr =
DM_INC | 0x800 | 0x40000000 |
180 .chcr =
SM_INC | 0x800 | 0x40000000 |
187 .chcr =
DM_INC | 0x800 | 0x40000000 |
194 .chcr =
SM_INC | 0x800 | 0x40000000 |
201 .chcr =
DM_INC | 0x800 | 0x40000000 |
208 .chcr =
SM_INC | 0x800 | 0x40000000 |
215 .chcr =
DM_INC | 0x800 | 0x40000000 |
222 .chcr =
SM_INC | 0x800 | 0x40000000 |
229 .chcr =
DM_INC | 0x800 | 0x40000000 |
239 .chcr =
SM_INC | 0x800 | 0x40000000 |
246 .chcr =
DM_INC | 0x800 | 0x40000000 |
253 .chcr =
SM_INC | 0x800 | 0x40000000 |
260 .chcr =
DM_INC | 0x800 | 0x40000000 |
267 .chcr =
SM_INC | 0x800 | 0x40000000 |
274 .chcr =
DM_INC | 0x800 | 0x40000000 |
281 .chcr =
SM_INC | 0x800 | 0x40000000 |
288 .chcr =
DM_INC | 0x800 | 0x40000000 |
295 .chcr =
SM_INC | 0x800 | 0x40000000 |
302 .chcr =
DM_INC | 0x800 | 0x40000000 |
312 .chcr =
SM_INC | 0x800 | 0x40000000 |
319 .chcr =
DM_INC | 0x800 | 0x40000000 |
326 .chcr =
SM_INC | 0x800 | 0x40000000 |
333 .chcr =
DM_INC | 0x800 | 0x40000000 |
340 .chcr =
SM_INC | 0x800 | 0x40000000 |
347 .chcr =
DM_INC | 0x800 | 0x40000000 |
354 .chcr =
SM_INC | 0x800 | 0x40000000 |
361 .chcr =
DM_INC | 0x800 | 0x40000000 |
368 .chcr =
SM_INC | 0x800 | 0x40000000 |
375 .chcr =
DM_INC | 0x800 | 0x40000000 |
409 static const unsigned int ts_shift[] =
TS_SHIFT;
412 .slave = sh7757_dmae0_slaves,
414 .channel = sh7757_dmae_channels,
415 .channel_num =
ARRAY_SIZE(sh7757_dmae_channels),
426 .slave = sh7757_dmae1_slaves,
428 .channel = sh7757_dmae_channels,
429 .channel_num =
ARRAY_SIZE(sh7757_dmae_channels),
440 .slave = sh7757_dmae2_slaves,
442 .channel = sh7757_dmae_channels,
443 .channel_num =
ARRAY_SIZE(sh7757_dmae_channels),
454 .slave = sh7757_dmae3_slaves,
456 .channel = sh7757_dmae_channels,
457 .channel_num =
ARRAY_SIZE(sh7757_dmae_channels),
468 static struct resource sh7757_dmae0_resources[] = {
490 static struct resource sh7757_dmae1_resources[] = {
560 static struct resource sh7757_dmae2_resources[] = {
594 static struct resource sh7757_dmae3_resources[] = {
628 .name =
"sh-dma-engine",
630 .resource = sh7757_dmae0_resources,
631 .num_resources =
ARRAY_SIZE(sh7757_dmae0_resources),
633 .platform_data = &dma0_platform_data,
638 .name =
"sh-dma-engine",
640 .resource = sh7757_dmae1_resources,
641 .num_resources =
ARRAY_SIZE(sh7757_dmae1_resources),
643 .platform_data = &dma1_platform_data,
648 .name =
"sh-dma-engine",
650 .resource = sh7757_dmae2_resources,
651 .num_resources =
ARRAY_SIZE(sh7757_dmae2_resources),
653 .platform_data = &dma2_platform_data,
658 .name =
"sh-dma-engine",
660 .resource = sh7757_dmae3_resources,
661 .num_resources =
ARRAY_SIZE(sh7757_dmae3_resources),
663 .platform_data = &dma3_platform_data,
672 .coherent_dma_mask = 0xffffffff,
675 .resource = spi0_resources,
678 static struct resource spi1_resources[] = {
694 .resource = spi1_resources,
697 static struct resource rspi_resources[] = {
713 .resource = rspi_resources,
716 static struct resource usb_ehci_resources[] = {
733 .dma_mask = &usb_ehci_device.
dev.coherent_dma_mask,
736 .num_resources =
ARRAY_SIZE(usb_ehci_resources),
737 .resource = usb_ehci_resources,
740 static struct resource usb_ohci_resources[] = {
757 .dma_mask = &usb_ohci_device.
dev.coherent_dma_mask,
760 .num_resources =
ARRAY_SIZE(usb_ohci_resources),
761 .resource = usb_ohci_resources,
781 static int __init sh7757_devices_setup(
void)
972 static struct intc_group groups[] __initdata = {
978 { 0xffd00044, 0xffd00064, 32,
981 { 0xffd40080, 0xffd40084, 32,
991 { 0xffd40038, 0xffd4003c, 32,
992 { 0, 0, 0, 0, 0, 0, 0, 0,
998 { 0xffd400d0, 0xffd400d4, 32,
1005 { 0xffd10038, 0xffd1003c, 32,
1012 { 0xffd100d0, 0xffd100d4, 32,
1019 { 0xffd20038, 0xffd2003c, 32,
1026 { 0xffd200d0, 0xffd200d4, 32,
1034 #define INTPRI 0xffd00010
1035 #define INT2PRI0 0xffd40000
1036 #define INT2PRI1 0xffd40004
1037 #define INT2PRI2 0xffd40008
1038 #define INT2PRI3 0xffd4000c
1039 #define INT2PRI4 0xffd40010
1040 #define INT2PRI5 0xffd40014
1041 #define INT2PRI6 0xffd40018
1042 #define INT2PRI7 0xffd4001c
1043 #define INT2PRI8 0xffd400a0
1044 #define INT2PRI9 0xffd400a4
1045 #define INT2PRI10 0xffd400a8
1046 #define INT2PRI11 0xffd400ac
1047 #define INT2PRI12 0xffd400b0
1048 #define INT2PRI13 0xffd400b4
1049 #define INT2PRI14 0xffd400b8
1050 #define INT2PRI15 0xffd400bc
1051 #define INT2PRI16 0xffd10000
1052 #define INT2PRI17 0xffd10004
1053 #define INT2PRI18 0xffd10008
1054 #define INT2PRI19 0xffd1000c
1055 #define INT2PRI20 0xffd10010
1056 #define INT2PRI21 0xffd10014
1057 #define INT2PRI22 0xffd10018
1058 #define INT2PRI23 0xffd1001c
1059 #define INT2PRI24 0xffd100a0
1060 #define INT2PRI25 0xffd100a4
1061 #define INT2PRI26 0xffd100a8
1062 #define INT2PRI27 0xffd100ac
1063 #define INT2PRI28 0xffd100b0
1064 #define INT2PRI29 0xffd100b4
1065 #define INT2PRI30 0xffd100b8
1066 #define INT2PRI31 0xffd100bc
1067 #define INT2PRI32 0xffd20000
1068 #define INT2PRI33 0xffd20004
1069 #define INT2PRI34 0xffd20008
1070 #define INT2PRI35 0xffd2000c
1071 #define INT2PRI36 0xffd20010
1072 #define INT2PRI37 0xffd20014
1073 #define INT2PRI38 0xffd20018
1074 #define INT2PRI39 0xffd2001c
1075 #define INT2PRI40 0xffd200a0
1076 #define INT2PRI41 0xffd200a4
1077 #define INT2PRI42 0xffd200a8
1078 #define INT2PRI43 0xffd200ac
1079 #define INT2PRI44 0xffd200b0
1080 #define INT2PRI45 0xffd200b4
1081 #define INT2PRI46 0xffd200b8
1082 #define INT2PRI47 0xffd200bc
1137 static struct intc_sense_reg sense_registers_irq8to15[] __initdata = {
1143 mask_registers, prio_registers,
1144 sense_registers_irq8to15);
1147 static struct intc_vect vectors_irq0123[] __initdata = {
1152 static struct intc_vect vectors_irq4567[] __initdata = {
1163 { 0xffd00024, 0, 32,
1168 vectors_irq0123,
NULL, mask_registers,
1169 prio_registers, sense_registers, ack_registers);
1172 vectors_irq4567,
NULL, mask_registers,
1173 prio_registers, sense_registers, ack_registers);
1176 static struct intc_vect vectors_irl0123[] __initdata = {
1187 static struct intc_vect vectors_irl4567[] __initdata = {
1204 #define INTC_ICR0 0xffd00000
1205 #define INTC_INTMSK0 0xffd00044
1206 #define INTC_INTMSK1 0xffd00048
1207 #define INTC_INTMSK2 0xffd40080
1208 #define INTC_INTMSKCLR1 0xffd00068
1209 #define INTC_INTMSKCLR2 0xffd40084