20 #include <linux/kernel.h>
28 #include <linux/input.h>
37 #include <mach/hardware.h>
38 #include <mach/irqs.h>
40 #include <mach/common.h>
51 .virtual = 0xe6000000,
54 .type = MT_DEVICE_NONSHARED
66 init_consistent_dma_size(12 << 20);
71 .mapbase = 0xe6c40000,
84 .platform_data = &scif0_platform_data,
90 .mapbase = 0xe6c50000,
103 .platform_data = &scif1_platform_data,
109 .mapbase = 0xe6c60000,
122 .platform_data = &scif2_platform_data,
128 .mapbase = 0xe6c70000,
141 .platform_data = &scif3_platform_data,
147 .mapbase = 0xe6c80000,
160 .platform_data = &scif4_platform_data,
166 .mapbase = 0xe6cb0000,
179 .platform_data = &scif5_platform_data,
185 .mapbase = 0xe6c30000,
198 .platform_data = &scif6_platform_data,
205 .channel_offset = 0x40,
207 .clockevent_rating = 125,
208 .clocksource_rating = 125,
211 static struct resource cmt2_resources[] = {
228 .platform_data = &cmt2_platform_data,
230 .resource = cmt2_resources,
237 .channel_offset = 0x4,
239 .clockevent_rating = 200,
242 static struct resource tmu00_resources[] = {
259 .platform_data = &tmu00_platform_data,
261 .resource = tmu00_resources,
267 .channel_offset = 0x10,
269 .clocksource_rating = 200,
272 static struct resource tmu01_resources[] = {
289 .platform_data = &tmu01_platform_data,
291 .resource = tmu01_resources,
296 static struct resource iic0_resources[] = {
300 .end = 0xFFF20425 - 1,
311 .name =
"i2c-sh_mobile",
314 .resource = iic0_resources,
317 static struct resource iic1_resources[] = {
321 .end = 0xE6C20425 - 1,
332 .name =
"i2c-sh_mobile",
335 .resource = iic1_resources,
463 #define SH7372_CHCLR (0x220 - 0x20)
500 .slave = sh7372_dmae_slaves,
502 .channel = sh7372_dmae_channels,
503 .channel_num =
ARRAY_SIZE(sh7372_dmae_channels),
508 .ts_shift = dma_ts_shift,
515 static struct resource sh7372_dmae0_resources[] = {
543 static struct resource sh7372_dmae1_resources[] = {
571 static struct resource sh7372_dmae2_resources[] = {
599 .name =
"sh-dma-engine",
601 .resource = sh7372_dmae0_resources,
602 .num_resources =
ARRAY_SIZE(sh7372_dmae0_resources),
604 .platform_data = &dma_platform_data,
609 .name =
"sh-dma-engine",
611 .resource = sh7372_dmae1_resources,
612 .num_resources =
ARRAY_SIZE(sh7372_dmae1_resources),
614 .platform_data = &dma_platform_data,
619 .name =
"sh-dma-engine",
621 .resource = sh7372_dmae2_resources,
622 .num_resources =
ARRAY_SIZE(sh7372_dmae2_resources),
624 .platform_data = &dma_platform_data,
651 .slave = sh7372_usb_dmae0_slaves,
652 .slave_num =
ARRAY_SIZE(sh7372_usb_dmae0_slaves),
653 .channel = sh7372_usb_dmae_channels,
654 .channel_num =
ARRAY_SIZE(sh7372_usb_dmae_channels),
659 .ts_shift = dma_usbts_shift,
663 .chcr_ie_bit = 1 << 5,
670 static struct resource sh7372_usb_dmae0_resources[] = {
674 .end = 0xe68a0064 - 1,
680 .end = 0xe68a0014 - 1,
692 .name =
"sh-dma-engine",
694 .resource = sh7372_usb_dmae0_resources,
695 .num_resources =
ARRAY_SIZE(sh7372_usb_dmae0_resources),
697 .platform_data = &usb_dma0_platform_data,
713 .slave = sh7372_usb_dmae1_slaves,
714 .slave_num =
ARRAY_SIZE(sh7372_usb_dmae1_slaves),
715 .channel = sh7372_usb_dmae_channels,
716 .channel_num =
ARRAY_SIZE(sh7372_usb_dmae_channels),
721 .ts_shift = dma_usbts_shift,
725 .chcr_ie_bit = 1 << 5,
732 static struct resource sh7372_usb_dmae1_resources[] = {
736 .end = 0xe68c0064 - 1,
742 .end = 0xe68c0014 - 1,
754 .name =
"sh-dma-engine",
756 .resource = sh7372_usb_dmae1_resources,
757 .num_resources =
ARRAY_SIZE(sh7372_usb_dmae1_resources),
759 .platform_data = &usb_dma1_platform_data,
764 static struct uio_info vpu_platform_data = {
770 static struct resource vpu_resources[] = {
780 .name =
"uio_pdrv_genirq",
783 .platform_data = &vpu_platform_data,
785 .resource = vpu_resources,
790 static struct uio_info veu0_platform_data = {
796 static struct resource veu0_resources[] = {
806 .name =
"uio_pdrv_genirq",
809 .platform_data = &veu0_platform_data,
811 .resource = veu0_resources,
816 static struct uio_info veu1_platform_data = {
822 static struct resource veu1_resources[] = {
832 .name =
"uio_pdrv_genirq",
835 .platform_data = &veu1_platform_data,
837 .resource = veu1_resources,
842 static struct uio_info veu2_platform_data = {
848 static struct resource veu2_resources[] = {
858 .name =
"uio_pdrv_genirq",
861 .platform_data = &veu2_platform_data,
863 .resource = veu2_resources,
868 static struct uio_info veu3_platform_data = {
874 static struct resource veu3_resources[] = {
884 .name =
"uio_pdrv_genirq",
887 .platform_data = &veu3_platform_data,
889 .resource = veu3_resources,
894 static struct uio_info jpu_platform_data = {
900 static struct resource jpu_resources[] = {
910 .name =
"uio_pdrv_genirq",
913 .platform_data = &jpu_platform_data,
915 .resource = jpu_resources,
920 static struct uio_info spu0_platform_data = {
926 static struct resource spu0_resources[] = {
936 .name =
"uio_pdrv_genirq",
939 .platform_data = &spu0_platform_data,
941 .resource = spu0_resources,
946 static struct uio_info spu1_platform_data = {
952 static struct resource spu1_resources[] = {
962 .name =
"uio_pdrv_genirq",
965 .platform_data = &spu1_platform_data,
967 .resource = spu1_resources,
1005 {
"A3RV", &vpu_device, },
1006 {
"A4MP", &spu0_device, },
1007 {
"A4MP", &spu1_device, },
1008 {
"A3SP", &scif0_device, },
1009 {
"A3SP", &scif1_device, },
1010 {
"A3SP", &scif2_device, },
1011 {
"A3SP", &scif3_device, },
1012 {
"A3SP", &scif4_device, },
1013 {
"A3SP", &scif5_device, },
1014 {
"A3SP", &scif6_device, },
1015 {
"A3SP", &iic1_device, },
1016 {
"A3SP", &dma0_device, },
1017 {
"A3SP", &dma1_device, },
1018 {
"A3SP", &dma2_device, },
1019 {
"A3SP", &usb_dma0_device, },
1020 {
"A3SP", &usb_dma1_device, },
1021 {
"A4R", &iic0_device, },
1022 {
"A4R", &veu0_device, },
1023 {
"A4R", &veu1_device, },
1024 {
"A4R", &veu2_device, },
1025 {
"A4R", &veu3_device, },
1026 {
"A4R", &jpu_device, },
1027 {
"A4R", &tmu00_device, },
1028 {
"A4R", &tmu01_device, },
1031 sh7372_init_pm_domains();
1039 rmobile_add_devices_to_domains(domain_devices,
1043 static void __init sh7372_earlytimer_init(
void)
1061 #ifdef CONFIG_USE_OF
1063 void __init sh7372_add_early_devices_dt(
void)
1074 static const struct of_dev_auxdata sh7372_auxdata_lookup[]
__initconst = {
1078 void __init sh7372_add_standard_devices_dt(
void)
1087 sh7372_auxdata_lookup,
NULL);
1090 static const char *sh7372_boards_compat_dt[] __initdata = {
1097 .init_early = sh7372_add_early_devices_dt,
1101 .init_machine = sh7372_add_standard_devices_dt,
1103 .dt_compat = sh7372_boards_compat_dt,