diff options
Diffstat (limited to 'arch/arm/mach-shmobile/setup-sh73a0.c')
-rw-r--r-- | arch/arm/mach-shmobile/setup-sh73a0.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c index 2ecd6681692f..bdab575f88bc 100644 --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/sh_dma.h> | 31 | #include <linux/sh_dma.h> |
32 | #include <linux/sh_intc.h> | 32 | #include <linux/sh_intc.h> |
33 | #include <linux/sh_timer.h> | 33 | #include <linux/sh_timer.h> |
34 | #include <linux/platform_data/sh_ipmmu.h> | ||
34 | #include <mach/dma-register.h> | 35 | #include <mach/dma-register.h> |
35 | #include <mach/hardware.h> | 36 | #include <mach/hardware.h> |
36 | #include <mach/irqs.h> | 37 | #include <mach/irqs.h> |
@@ -780,6 +781,35 @@ static struct platform_device pmu_device = { | |||
780 | .resource = pmu_resources, | 781 | .resource = pmu_resources, |
781 | }; | 782 | }; |
782 | 783 | ||
784 | /* an IPMMU module for ICB */ | ||
785 | static struct resource ipmmu_resources[] = { | ||
786 | [0] = { | ||
787 | .name = "IPMMU", | ||
788 | .start = 0xfe951000, | ||
789 | .end = 0xfe9510ff, | ||
790 | .flags = IORESOURCE_MEM, | ||
791 | }, | ||
792 | }; | ||
793 | |||
794 | static const char * const ipmmu_dev_names[] = { | ||
795 | "sh_mobile_lcdc_fb.0", | ||
796 | }; | ||
797 | |||
798 | static struct shmobile_ipmmu_platform_data ipmmu_platform_data = { | ||
799 | .dev_names = ipmmu_dev_names, | ||
800 | .num_dev_names = ARRAY_SIZE(ipmmu_dev_names), | ||
801 | }; | ||
802 | |||
803 | static struct platform_device ipmmu_device = { | ||
804 | .name = "ipmmu", | ||
805 | .id = -1, | ||
806 | .dev = { | ||
807 | .platform_data = &ipmmu_platform_data, | ||
808 | }, | ||
809 | .resource = ipmmu_resources, | ||
810 | .num_resources = ARRAY_SIZE(ipmmu_resources), | ||
811 | }; | ||
812 | |||
783 | static struct platform_device *sh73a0_early_devices_dt[] __initdata = { | 813 | static struct platform_device *sh73a0_early_devices_dt[] __initdata = { |
784 | &scif0_device, | 814 | &scif0_device, |
785 | &scif1_device, | 815 | &scif1_device, |
@@ -796,6 +826,7 @@ static struct platform_device *sh73a0_early_devices_dt[] __initdata = { | |||
796 | static struct platform_device *sh73a0_early_devices[] __initdata = { | 826 | static struct platform_device *sh73a0_early_devices[] __initdata = { |
797 | &tmu00_device, | 827 | &tmu00_device, |
798 | &tmu01_device, | 828 | &tmu01_device, |
829 | &ipmmu_device, | ||
799 | }; | 830 | }; |
800 | 831 | ||
801 | static struct platform_device *sh73a0_late_devices[] __initdata = { | 832 | static struct platform_device *sh73a0_late_devices[] __initdata = { |