aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorMagnus Damm <damm+renesas@opensource.se>2014-08-24 23:36:53 -0400
committerSimon Horman <horms+renesas@verge.net.au>2014-09-01 21:04:08 -0400
commitc41215b781efbfa22ffc9dc474c2981c130c153d (patch)
tree5f4936632033900755e329a7ee539d6ae1722f09 /arch/arm
parent433306747791845677ba662435a9bbbafaa21df3 (diff)
ARM: shmobile: r8a7740: Multiplatform support
Enable r8a7740 Multiplatform support for the generic r8a7740 machine vector. No board support is enabled, and the board code for Armadillo 800 EVA DT Reference is left by itself. Signed-off-by: Magnus Damm <damm+renesas@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-shmobile/Kconfig5
-rw-r--r--arch/arm/mach-shmobile/pm-r8a7740.c5
-rw-r--r--arch/arm/mach-shmobile/r8a7740.h4
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7740.c8
4 files changed, 16 insertions, 6 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index e15dff790dbb..498162fb757e 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -26,6 +26,11 @@ config ARCH_R7S72100
26 bool "RZ/A1H (R7S72100)" 26 bool "RZ/A1H (R7S72100)"
27 select SYS_SUPPORTS_SH_MTU2 27 select SYS_SUPPORTS_SH_MTU2
28 28
29config ARCH_R8A7740
30 bool "R-Mobile A1 (R8A77400)"
31 select ARCH_RMOBILE
32 select RENESAS_INTC_IRQPIN
33
29config ARCH_R8A7779 34config ARCH_R8A7779
30 bool "R-Car H1 (R8A77790)" 35 bool "R-Car H1 (R8A77790)"
31 select RENESAS_INTC_IRQPIN 36 select RENESAS_INTC_IRQPIN
diff --git a/arch/arm/mach-shmobile/pm-r8a7740.c b/arch/arm/mach-shmobile/pm-r8a7740.c
index a0d44d537fa0..4d327de35d9b 100644
--- a/arch/arm/mach-shmobile/pm-r8a7740.c
+++ b/arch/arm/mach-shmobile/pm-r8a7740.c
@@ -13,7 +13,7 @@
13#include "common.h" 13#include "common.h"
14#include "pm-rmobile.h" 14#include "pm-rmobile.h"
15 15
16#ifdef CONFIG_PM 16#if defined(CONFIG_PM) && !defined(CONFIG_ARCH_MULTIPLATFORM)
17static int r8a7740_pd_a4s_suspend(void) 17static int r8a7740_pd_a4s_suspend(void)
18{ 18{
19 /* 19 /*
@@ -58,8 +58,7 @@ void __init r8a7740_init_pm_domains(void)
58 rmobile_init_domains(r8a7740_pm_domains, ARRAY_SIZE(r8a7740_pm_domains)); 58 rmobile_init_domains(r8a7740_pm_domains, ARRAY_SIZE(r8a7740_pm_domains));
59 pm_genpd_add_subdomain_names("A4S", "A3SP"); 59 pm_genpd_add_subdomain_names("A4S", "A3SP");
60} 60}
61 61#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */
62#endif /* CONFIG_PM */
63 62
64#ifdef CONFIG_SUSPEND 63#ifdef CONFIG_SUSPEND
65static int r8a7740_enter_suspend(suspend_state_t suspend_state) 64static int r8a7740_enter_suspend(suspend_state_t suspend_state)
diff --git a/arch/arm/mach-shmobile/r8a7740.h b/arch/arm/mach-shmobile/r8a7740.h
index 3352fb8650ba..f369b4b0863d 100644
--- a/arch/arm/mach-shmobile/r8a7740.h
+++ b/arch/arm/mach-shmobile/r8a7740.h
@@ -53,10 +53,10 @@ extern void r8a7740_clock_init(u8 md_ck);
53extern void r8a7740_pinmux_init(void); 53extern void r8a7740_pinmux_init(void);
54extern void r8a7740_pm_init(void); 54extern void r8a7740_pm_init(void);
55 55
56#ifdef CONFIG_PM 56#if defined(CONFIG_PM) && !defined(CONFIG_ARCH_MULTIPLATFORM)
57extern void __init r8a7740_init_pm_domains(void); 57extern void __init r8a7740_init_pm_domains(void);
58#else 58#else
59static inline void r8a7740_init_pm_domains(void) {} 59static inline void r8a7740_init_pm_domains(void) {}
60#endif /* CONFIG_PM */ 60#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */
61 61
62#endif /* __ASM_R8A7740_H__ */ 62#endif /* __ASM_R8A7740_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index 8fe270d874c2..1e55c5052293 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -36,6 +36,7 @@
36#include <asm/mach/map.h> 36#include <asm/mach/map.h>
37#include <asm/mach/arch.h> 37#include <asm/mach/arch.h>
38#include <asm/mach/time.h> 38#include <asm/mach/time.h>
39#include <asm/hardware/cache-l2x0.h>
39 40
40#include "common.h" 41#include "common.h"
41#include "dma-register.h" 42#include "dma-register.h"
@@ -813,7 +814,12 @@ void __init r8a7740_init_irq_of(void)
813 814
814static void __init r8a7740_generic_init(void) 815static void __init r8a7740_generic_init(void)
815{ 816{
816 r8a7740_clock_init(0); 817 r8a7740_meram_workaround();
818
819#ifdef CONFIG_CACHE_L2X0
820 /* Shared attribute override enable, 32K*8way */
821 l2x0_init(IOMEM(0xf0002000), 0x00400000, 0xc20f0fff);
822#endif
817 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 823 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
818} 824}
819 825