diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-07-10 04:12:08 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-07-10 04:12:08 -0400 |
commit | c1ba5bb5608664b37a3b1ac647e0dd67d46ddc99 (patch) | |
tree | 4190d769a9b13c0bb0b24ed398c1ae8802c8e932 | |
parent | a41b64665a79b8be980d450f6e5b9354d7511700 (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.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-mackerel.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/sh7372.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/pm-sh7372.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/setup-sh7372.c | 3 |
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 |
487 | extern struct sh7372_pm_domain sh7372_a4lc; | 487 | extern struct sh7372_pm_domain sh7372_a4lc; |
488 | extern struct sh7372_pm_domain sh7372_a4mp; | ||
488 | extern struct sh7372_pm_domain sh7372_a3rv; | 489 | extern struct sh7372_pm_domain sh7372_a3rv; |
489 | extern struct sh7372_pm_domain sh7372_a3ri; | 490 | extern struct sh7372_pm_domain sh7372_a3ri; |
490 | extern struct sh7372_pm_domain sh7372_a3sg; | 491 | extern 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 | ||
128 | struct sh7372_pm_domain sh7372_a4mp = { | ||
129 | .bit_shift = 2, | ||
130 | }; | ||
131 | |||
128 | struct sh7372_pm_domain sh7372_a3rv = { | 132 | struct 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 = { | |||
842 | void __init sh7372_add_standard_devices(void) | 842 | void __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 | ||
858 | void __init sh7372_add_early_devices(void) | 861 | void __init sh7372_add_early_devices(void) |