aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-07-10 04:12:08 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-07-10 04:12:08 -0400
commitc1ba5bb5608664b37a3b1ac647e0dd67d46ddc99 (patch)
tree4190d769a9b13c0bb0b24ed398c1ae8802c8e932
parenta41b64665a79b8be980d450f6e5b9354d7511700 (diff)
ARM: mach-shmobile: sh7372 A4MP support
Add support for the sh7372 A4MP power domain and hook up the FSI/SPU2 device. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c1
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c1
-rw-r--r--arch/arm/mach-shmobile/include/mach/sh7372.h1
-rw-r--r--arch/arm/mach-shmobile/pm-sh7372.c4
-rw-r--r--arch/arm/mach-shmobile/setup-sh7372.c3
5 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index 4226db6a0b8b..b473b8efac68 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -1410,6 +1410,7 @@ static void __init ap4evb_init(void)
1410 1410
1411 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc1_device); 1411 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc1_device);
1412 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device); 1412 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
1413 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);
1413 1414
1414 hdmi_init_pm_clock(); 1415 hdmi_init_pm_clock();
1415 fsi_init_pm_clock(); 1416 fsi_init_pm_clock();
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 362b88308741..5b36b6c5b448 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -1584,6 +1584,7 @@ static void __init mackerel_init(void)
1584 1584
1585 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device); 1585 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
1586 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device); 1586 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device);
1587 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);
1587 1588
1588 hdmi_init_pm_clock(); 1589 hdmi_init_pm_clock();
1589 sh7372_pm_init(); 1590 sh7372_pm_init();
diff --git a/arch/arm/mach-shmobile/include/mach/sh7372.h b/arch/arm/mach-shmobile/include/mach/sh7372.h
index 1aed9da92918..f3ceced6ebe9 100644
--- a/arch/arm/mach-shmobile/include/mach/sh7372.h
+++ b/arch/arm/mach-shmobile/include/mach/sh7372.h
@@ -485,6 +485,7 @@ static inline struct sh7372_pm_domain *to_sh7372_pd(struct generic_pm_domain *d)
485 485
486#ifdef CONFIG_PM 486#ifdef CONFIG_PM
487extern struct sh7372_pm_domain sh7372_a4lc; 487extern struct sh7372_pm_domain sh7372_a4lc;
488extern struct sh7372_pm_domain sh7372_a4mp;
488extern struct sh7372_pm_domain sh7372_a3rv; 489extern struct sh7372_pm_domain sh7372_a3rv;
489extern struct sh7372_pm_domain sh7372_a3ri; 490extern struct sh7372_pm_domain sh7372_a3ri;
490extern struct sh7372_pm_domain sh7372_a3sg; 491extern struct sh7372_pm_domain sh7372_a3sg;
diff --git a/arch/arm/mach-shmobile/pm-sh7372.c b/arch/arm/mach-shmobile/pm-sh7372.c
index 474a15a29dec..f3bd95f1a4a0 100644
--- a/arch/arm/mach-shmobile/pm-sh7372.c
+++ b/arch/arm/mach-shmobile/pm-sh7372.c
@@ -125,6 +125,10 @@ struct sh7372_pm_domain sh7372_a4lc = {
125 .bit_shift = 1, 125 .bit_shift = 1,
126}; 126};
127 127
128struct sh7372_pm_domain sh7372_a4mp = {
129 .bit_shift = 2,
130};
131
128struct sh7372_pm_domain sh7372_a3rv = { 132struct sh7372_pm_domain sh7372_a3rv = {
129 .bit_shift = 6, 133 .bit_shift = 6,
130}; 134};
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c
index b219ceaf85bf..9b0cd436f8cd 100644
--- a/arch/arm/mach-shmobile/setup-sh7372.c
+++ b/arch/arm/mach-shmobile/setup-sh7372.c
@@ -842,6 +842,7 @@ static struct platform_device *sh7372_late_devices[] __initdata = {
842void __init sh7372_add_standard_devices(void) 842void __init sh7372_add_standard_devices(void)
843{ 843{
844 sh7372_init_pm_domain(&sh7372_a4lc); 844 sh7372_init_pm_domain(&sh7372_a4lc);
845 sh7372_init_pm_domain(&sh7372_a4mp);
845 sh7372_init_pm_domain(&sh7372_a3rv); 846 sh7372_init_pm_domain(&sh7372_a3rv);
846 sh7372_init_pm_domain(&sh7372_a3ri); 847 sh7372_init_pm_domain(&sh7372_a3ri);
847 sh7372_init_pm_domain(&sh7372_a3sg); 848 sh7372_init_pm_domain(&sh7372_a3sg);
@@ -853,6 +854,8 @@ void __init sh7372_add_standard_devices(void)
853 ARRAY_SIZE(sh7372_late_devices)); 854 ARRAY_SIZE(sh7372_late_devices));
854 855
855 sh7372_add_device_to_domain(&sh7372_a3rv, &vpu_device); 856 sh7372_add_device_to_domain(&sh7372_a3rv, &vpu_device);
857 sh7372_add_device_to_domain(&sh7372_a4mp, &spu0_device);
858 sh7372_add_device_to_domain(&sh7372_a4mp, &spu1_device);
856} 859}
857 860
858void __init sh7372_add_early_devices(void) 861void __init sh7372_add_early_devices(void)