aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/setup-sh73a0.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile/setup-sh73a0.c')
-rw-r--r--arch/arm/mach-shmobile/setup-sh73a0.c31
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 */
785static struct resource ipmmu_resources[] = {
786 [0] = {
787 .name = "IPMMU",
788 .start = 0xfe951000,
789 .end = 0xfe9510ff,
790 .flags = IORESOURCE_MEM,
791 },
792};
793
794static const char * const ipmmu_dev_names[] = {
795 "sh_mobile_lcdc_fb.0",
796};
797
798static 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
803static 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
783static struct platform_device *sh73a0_early_devices_dt[] __initdata = { 813static 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 = {
796static struct platform_device *sh73a0_early_devices[] __initdata = { 826static 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
801static struct platform_device *sh73a0_late_devices[] __initdata = { 832static struct platform_device *sh73a0_late_devices[] __initdata = {