diff options
| author | Magnus Damm <damm@opensource.se> | 2011-07-01 16:14:45 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-07-02 08:29:58 -0400 |
| commit | 33afebf3da2e8c26faebb1b271c810f937e35788 (patch) | |
| tree | 136a01972e49e3905cf7afbbafd8ebef4b00a316 | |
| parent | 96f7934e448fd52644b8862ea12761e1524f3bf3 (diff) | |
ARM: mach-shmobile: sh7372 A3RV support
Add support for the sh7372 A3RV power domain and hook
up the VPU device.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
| -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 |
3 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/sh7372.h b/arch/arm/mach-shmobile/include/mach/sh7372.h index 495013c75c6b..e935b5e2e5d0 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_a3rv; | ||
| 488 | 489 | ||
| 489 | extern void sh7372_init_pm_domain(struct sh7372_pm_domain *sh7372_pd); | 490 | extern void sh7372_init_pm_domain(struct sh7372_pm_domain *sh7372_pd); |
| 490 | extern void sh7372_add_device_to_domain(struct sh7372_pm_domain *sh7372_pd, | 491 | extern void sh7372_add_device_to_domain(struct sh7372_pm_domain *sh7372_pd, |
diff --git a/arch/arm/mach-shmobile/pm-sh7372.c b/arch/arm/mach-shmobile/pm-sh7372.c index e17f12424ec7..d467c8668d79 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_a3rv = { | ||
| 129 | .bit_shift = 6, | ||
| 130 | }; | ||
| 131 | |||
| 128 | #endif /* CONFIG_PM */ | 132 | #endif /* CONFIG_PM */ |
| 129 | 133 | ||
| 130 | static void sh7372_enter_core_standby(void) | 134 | static void sh7372_enter_core_standby(void) |
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c index ec1ae8cc9caa..14a497fedba0 100644 --- a/arch/arm/mach-shmobile/setup-sh7372.c +++ b/arch/arm/mach-shmobile/setup-sh7372.c | |||
| @@ -842,12 +842,15 @@ 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_a3rv); | ||
| 845 | 846 | ||
| 846 | platform_add_devices(sh7372_early_devices, | 847 | platform_add_devices(sh7372_early_devices, |
| 847 | ARRAY_SIZE(sh7372_early_devices)); | 848 | ARRAY_SIZE(sh7372_early_devices)); |
| 848 | 849 | ||
| 849 | platform_add_devices(sh7372_late_devices, | 850 | platform_add_devices(sh7372_late_devices, |
| 850 | ARRAY_SIZE(sh7372_late_devices)); | 851 | ARRAY_SIZE(sh7372_late_devices)); |
| 852 | |||
| 853 | sh7372_add_device_to_domain(&sh7372_a3rv, &vpu_device); | ||
| 851 | } | 854 | } |
| 852 | 855 | ||
| 853 | void __init sh7372_add_early_devices(void) | 856 | void __init sh7372_add_early_devices(void) |
