aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2012-02-29 07:37:19 -0500
committerRafael J. Wysocki <rjw@sisk.pl>2012-03-12 17:19:41 -0400
commit5d7220ec000fe357b8e91b4be66a2b0b061c867f (patch)
tree0560e35b6a22d32e0d877d54eae79b317a277c90 /arch/arm/mach-shmobile
parentbfc46f3ef838ab3c01f5e240ec43afaf59f7061b (diff)
ARM: mach-shmobile: sh7372 map_io and init_early update
Update the sh7372 SoC and the AP4EVB and Mackerel boards to make use of the functions sh7372_map_io() and sh7372_add_early_devices(). Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c25
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c25
-rw-r--r--arch/arm/mach-shmobile/include/mach/common.h1
-rw-r--r--arch/arm/mach-shmobile/setup-sh7372.c22
4 files changed, 27 insertions, 46 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index eeb4d9664584..c57ded14607c 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -61,7 +61,6 @@
61 61
62#include <asm/mach-types.h> 62#include <asm/mach-types.h>
63#include <asm/mach/arch.h> 63#include <asm/mach/arch.h>
64#include <asm/mach/map.h>
65#include <asm/mach/time.h> 64#include <asm/mach/time.h>
66#include <asm/setup.h> 65#include <asm/setup.h>
67 66
@@ -1190,27 +1189,6 @@ static struct i2c_board_info i2c1_devices[] = {
1190 }, 1189 },
1191}; 1190};
1192 1191
1193static struct map_desc ap4evb_io_desc[] __initdata = {
1194 /* create a 1:1 entity map for 0xe6xxxxxx
1195 * used by CPGA, INTC and PFC.
1196 */
1197 {
1198 .virtual = 0xe6000000,
1199 .pfn = __phys_to_pfn(0xe6000000),
1200 .length = 256 << 20,
1201 .type = MT_DEVICE_NONSHARED
1202 },
1203};
1204
1205static void __init ap4evb_map_io(void)
1206{
1207 iotable_init(ap4evb_io_desc, ARRAY_SIZE(ap4evb_io_desc));
1208
1209 /* setup early devices and console here as well */
1210 sh7372_add_early_devices();
1211 shmobile_setup_console();
1212}
1213
1214#define GPIO_PORT9CR 0xE6051009 1192#define GPIO_PORT9CR 0xE6051009
1215#define GPIO_PORT10CR 0xE605100A 1193#define GPIO_PORT10CR 0xE605100A
1216#define USCCR1 0xE6058144 1194#define USCCR1 0xE6058144
@@ -1469,7 +1447,8 @@ static struct sys_timer ap4evb_timer = {
1469}; 1447};
1470 1448
1471MACHINE_START(AP4EVB, "ap4evb") 1449MACHINE_START(AP4EVB, "ap4evb")
1472 .map_io = ap4evb_map_io, 1450 .map_io = sh7372_map_io,
1451 .init_early = sh7372_add_early_devices,
1473 .init_irq = sh7372_init_irq, 1452 .init_irq = sh7372_init_irq,
1474 .handle_irq = shmobile_handle_irq_intc, 1453 .handle_irq = shmobile_handle_irq_intc,
1475 .init_machine = ap4evb_init, 1454 .init_machine = ap4evb_init,
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index a2813247b455..de51c07b8686 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -58,7 +58,6 @@
58 58
59#include <asm/mach/arch.h> 59#include <asm/mach/arch.h>
60#include <asm/mach/time.h> 60#include <asm/mach/time.h>
61#include <asm/mach/map.h>
62#include <asm/mach-types.h> 61#include <asm/mach-types.h>
63 62
64/* 63/*
@@ -1337,27 +1336,6 @@ static struct i2c_board_info i2c1_devices[] = {
1337 }, 1336 },
1338}; 1337};
1339 1338
1340static struct map_desc mackerel_io_desc[] __initdata = {
1341 /* create a 1:1 entity map for 0xe6xxxxxx
1342 * used by CPGA, INTC and PFC.
1343 */
1344 {
1345 .virtual = 0xe6000000,
1346 .pfn = __phys_to_pfn(0xe6000000),
1347 .length = 256 << 20,
1348 .type = MT_DEVICE_NONSHARED
1349 },
1350};
1351
1352static void __init mackerel_map_io(void)
1353{
1354 iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc));
1355
1356 /* setup early devices and console here as well */
1357 sh7372_add_early_devices();
1358 shmobile_setup_console();
1359}
1360
1361#define GPIO_PORT9CR 0xE6051009 1339#define GPIO_PORT9CR 0xE6051009
1362#define GPIO_PORT10CR 0xE605100A 1340#define GPIO_PORT10CR 0xE605100A
1363#define GPIO_PORT167CR 0xE60520A7 1341#define GPIO_PORT167CR 0xE60520A7
@@ -1587,7 +1565,8 @@ static struct sys_timer mackerel_timer = {
1587}; 1565};
1588 1566
1589MACHINE_START(MACKEREL, "mackerel") 1567MACHINE_START(MACKEREL, "mackerel")
1590 .map_io = mackerel_map_io, 1568 .map_io = sh7372_map_io,
1569 .init_early = sh7372_add_early_devices,
1591 .init_irq = sh7372_init_irq, 1570 .init_irq = sh7372_init_irq,
1592 .handle_irq = shmobile_handle_irq_intc, 1571 .handle_irq = shmobile_handle_irq_intc,
1593 .init_machine = mackerel_init, 1572 .init_machine = mackerel_init,
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index a77f027ccc3c..3858b897f98b 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -32,6 +32,7 @@ extern struct clk sh7377_extalc1_clk;
32extern struct clk sh7377_extal2_clk; 32extern struct clk sh7377_extal2_clk;
33 33
34extern void sh7372_init_irq(void); 34extern void sh7372_init_irq(void);
35extern void sh7372_map_io(void);
35extern void sh7372_add_early_devices(void); 36extern void sh7372_add_early_devices(void);
36extern void sh7372_add_standard_devices(void); 37extern void sh7372_add_standard_devices(void);
37extern void sh7372_clock_init(void); 38extern void sh7372_clock_init(void);
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c
index a83cf51fc099..12b437801f00 100644
--- a/arch/arm/mach-shmobile/setup-sh7372.c
+++ b/arch/arm/mach-shmobile/setup-sh7372.c
@@ -33,9 +33,28 @@
33#include <linux/pm_domain.h> 33#include <linux/pm_domain.h>
34#include <mach/hardware.h> 34#include <mach/hardware.h>
35#include <mach/sh7372.h> 35#include <mach/sh7372.h>
36#include <mach/common.h>
37#include <asm/mach/map.h>
36#include <asm/mach-types.h> 38#include <asm/mach-types.h>
37#include <asm/mach/arch.h> 39#include <asm/mach/arch.h>
38 40
41static struct map_desc sh7372_io_desc[] __initdata = {
42 /* create a 1:1 entity map for 0xe6xxxxxx
43 * used by CPGA, INTC and PFC.
44 */
45 {
46 .virtual = 0xe6000000,
47 .pfn = __phys_to_pfn(0xe6000000),
48 .length = 256 << 20,
49 .type = MT_DEVICE_NONSHARED
50 },
51};
52
53void __init sh7372_map_io(void)
54{
55 iotable_init(sh7372_io_desc, ARRAY_SIZE(sh7372_io_desc));
56}
57
39/* SCIFA0 */ 58/* SCIFA0 */
40static struct plat_sci_port scif0_platform_data = { 59static struct plat_sci_port scif0_platform_data = {
41 .mapbase = 0xe6c40000, 60 .mapbase = 0xe6c40000,
@@ -1049,4 +1068,7 @@ void __init sh7372_add_early_devices(void)
1049{ 1068{
1050 early_platform_add_devices(sh7372_early_devices, 1069 early_platform_add_devices(sh7372_early_devices,
1051 ARRAY_SIZE(sh7372_early_devices)); 1070 ARRAY_SIZE(sh7372_early_devices));
1071
1072 /* setup early console here as well */
1073 shmobile_setup_console();
1052} 1074}