aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-ag5evm.c9
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c3
-rw-r--r--arch/arm/mach-shmobile/board-g3evm.c3
-rw-r--r--arch/arm/mach-shmobile/board-g4evm.c3
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c10
-rw-r--r--arch/arm/mach-shmobile/entry-intc.S3
-rw-r--r--arch/arm/mach-shmobile/include/mach/entry-macro.S3
-rw-r--r--arch/arm/mach-shmobile/include/mach/memory.h3
-rw-r--r--arch/arm/mach-shmobile/smp-sh73a0.c6
9 files changed, 33 insertions, 10 deletions
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c
index cdfdd624d21d..475342bcc95c 100644
--- a/arch/arm/mach-shmobile/board-ag5evm.c
+++ b/arch/arm/mach-shmobile/board-ag5evm.c
@@ -37,6 +37,7 @@
37#include <linux/mmc/sh_mobile_sdhi.h> 37#include <linux/mmc/sh_mobile_sdhi.h>
38#include <linux/mfd/tmio.h> 38#include <linux/mfd/tmio.h>
39#include <linux/sh_clk.h> 39#include <linux/sh_clk.h>
40#include <linux/dma-mapping.h>
40#include <video/sh_mobile_lcdc.h> 41#include <video/sh_mobile_lcdc.h>
41#include <video/sh_mipi_dsi.h> 42#include <video/sh_mipi_dsi.h>
42#include <sound/sh_fsi.h> 43#include <sound/sh_fsi.h>
@@ -354,14 +355,17 @@ static struct resource sdhi0_resources[] = {
354 .flags = IORESOURCE_MEM, 355 .flags = IORESOURCE_MEM,
355 }, 356 },
356 [1] = { 357 [1] = {
358 .name = SH_MOBILE_SDHI_IRQ_CARD_DETECT,
357 .start = gic_spi(83), 359 .start = gic_spi(83),
358 .flags = IORESOURCE_IRQ, 360 .flags = IORESOURCE_IRQ,
359 }, 361 },
360 [2] = { 362 [2] = {
363 .name = SH_MOBILE_SDHI_IRQ_SDCARD,
361 .start = gic_spi(84), 364 .start = gic_spi(84),
362 .flags = IORESOURCE_IRQ, 365 .flags = IORESOURCE_IRQ,
363 }, 366 },
364 [3] = { 367 [3] = {
368 .name = SH_MOBILE_SDHI_IRQ_SDIO,
365 .start = gic_spi(85), 369 .start = gic_spi(85),
366 .flags = IORESOURCE_IRQ, 370 .flags = IORESOURCE_IRQ,
367 }, 371 },
@@ -397,14 +401,17 @@ static struct resource sdhi1_resources[] = {
397 .flags = IORESOURCE_MEM, 401 .flags = IORESOURCE_MEM,
398 }, 402 },
399 [1] = { 403 [1] = {
404 .name = SH_MOBILE_SDHI_IRQ_CARD_DETECT,
400 .start = gic_spi(87), 405 .start = gic_spi(87),
401 .flags = IORESOURCE_IRQ, 406 .flags = IORESOURCE_IRQ,
402 }, 407 },
403 [2] = { 408 [2] = {
409 .name = SH_MOBILE_SDHI_IRQ_SDCARD,
404 .start = gic_spi(88), 410 .start = gic_spi(88),
405 .flags = IORESOURCE_IRQ, 411 .flags = IORESOURCE_IRQ,
406 }, 412 },
407 [3] = { 413 [3] = {
414 .name = SH_MOBILE_SDHI_IRQ_SDIO,
408 .start = gic_spi(89), 415 .start = gic_spi(89),
409 .flags = IORESOURCE_IRQ, 416 .flags = IORESOURCE_IRQ,
410 }, 417 },
@@ -447,6 +454,8 @@ static struct map_desc ag5evm_io_desc[] __initdata = {
447static void __init ag5evm_map_io(void) 454static void __init ag5evm_map_io(void)
448{ 455{
449 iotable_init(ag5evm_io_desc, ARRAY_SIZE(ag5evm_io_desc)); 456 iotable_init(ag5evm_io_desc, ARRAY_SIZE(ag5evm_io_desc));
457 /* DMA memory at 0xf6000000 - 0xffdfffff */
458 init_consistent_dma_size(158 << 20);
450 459
451 /* setup early devices and console here as well */ 460 /* setup early devices and console here as well */
452 sh73a0_add_early_devices(); 461 sh73a0_add_early_devices();
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index 7e90d064ebcb..5b7edadf4647 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -43,6 +43,7 @@
43#include <linux/input/sh_keysc.h> 43#include <linux/input/sh_keysc.h>
44#include <linux/usb/r8a66597.h> 44#include <linux/usb/r8a66597.h>
45#include <linux/pm_clock.h> 45#include <linux/pm_clock.h>
46#include <linux/dma-mapping.h>
46 47
47#include <media/sh_mobile_ceu.h> 48#include <media/sh_mobile_ceu.h>
48#include <media/sh_mobile_csi2.h> 49#include <media/sh_mobile_csi2.h>
@@ -1171,6 +1172,8 @@ static struct map_desc ap4evb_io_desc[] __initdata = {
1171static void __init ap4evb_map_io(void) 1172static void __init ap4evb_map_io(void)
1172{ 1173{
1173 iotable_init(ap4evb_io_desc, ARRAY_SIZE(ap4evb_io_desc)); 1174 iotable_init(ap4evb_io_desc, ARRAY_SIZE(ap4evb_io_desc));
1175 /* DMA memory at 0xf6000000 - 0xffdfffff */
1176 init_consistent_dma_size(158 << 20);
1174 1177
1175 /* setup early devices and console here as well */ 1178 /* setup early devices and console here as well */
1176 sh7372_add_early_devices(); 1179 sh7372_add_early_devices();
diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c
index ef4613b993a2..8b620bf06221 100644
--- a/arch/arm/mach-shmobile/board-g3evm.c
+++ b/arch/arm/mach-shmobile/board-g3evm.c
@@ -32,6 +32,7 @@
32#include <linux/gpio.h> 32#include <linux/gpio.h>
33#include <linux/input.h> 33#include <linux/input.h>
34#include <linux/input/sh_keysc.h> 34#include <linux/input/sh_keysc.h>
35#include <linux/dma-mapping.h>
35#include <mach/sh7367.h> 36#include <mach/sh7367.h>
36#include <mach/common.h> 37#include <mach/common.h>
37#include <asm/mach-types.h> 38#include <asm/mach-types.h>
@@ -260,6 +261,8 @@ static struct map_desc g3evm_io_desc[] __initdata = {
260static void __init g3evm_map_io(void) 261static void __init g3evm_map_io(void)
261{ 262{
262 iotable_init(g3evm_io_desc, ARRAY_SIZE(g3evm_io_desc)); 263 iotable_init(g3evm_io_desc, ARRAY_SIZE(g3evm_io_desc));
264 /* DMA memory at 0xf6000000 - 0xffdfffff */
265 init_consistent_dma_size(158 << 20);
263 266
264 /* setup early devices and console here as well */ 267 /* setup early devices and console here as well */
265 sh7367_add_early_devices(); 268 sh7367_add_early_devices();
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c
index 8e3c5559f27f..7719ddc5f591 100644
--- a/arch/arm/mach-shmobile/board-g4evm.c
+++ b/arch/arm/mach-shmobile/board-g4evm.c
@@ -33,6 +33,7 @@
33#include <linux/mmc/host.h> 33#include <linux/mmc/host.h>
34#include <linux/mmc/sh_mobile_sdhi.h> 34#include <linux/mmc/sh_mobile_sdhi.h>
35#include <linux/gpio.h> 35#include <linux/gpio.h>
36#include <linux/dma-mapping.h>
36#include <mach/sh7377.h> 37#include <mach/sh7377.h>
37#include <mach/common.h> 38#include <mach/common.h>
38#include <asm/mach-types.h> 39#include <asm/mach-types.h>
@@ -274,6 +275,8 @@ static struct map_desc g4evm_io_desc[] __initdata = {
274static void __init g4evm_map_io(void) 275static void __init g4evm_map_io(void)
275{ 276{
276 iotable_init(g4evm_io_desc, ARRAY_SIZE(g4evm_io_desc)); 277 iotable_init(g4evm_io_desc, ARRAY_SIZE(g4evm_io_desc));
278 /* DMA memory at 0xf6000000 - 0xffdfffff */
279 init_consistent_dma_size(158 << 20);
277 280
278 /* setup early devices and console here as well */ 281 /* setup early devices and console here as well */
279 sh7377_add_early_devices(); 282 sh7377_add_early_devices();
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 00273dad5bf0..3689ad2e9156 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -45,6 +45,7 @@
45#include <linux/tca6416_keypad.h> 45#include <linux/tca6416_keypad.h>
46#include <linux/usb/r8a66597.h> 46#include <linux/usb/r8a66597.h>
47#include <linux/usb/renesas_usbhs.h> 47#include <linux/usb/renesas_usbhs.h>
48#include <linux/dma-mapping.h>
48 49
49#include <video/sh_mobile_hdmi.h> 50#include <video/sh_mobile_hdmi.h>
50#include <video/sh_mobile_lcdc.h> 51#include <video/sh_mobile_lcdc.h>
@@ -1071,14 +1072,17 @@ static struct resource sdhi1_resources[] = {
1071 .flags = IORESOURCE_MEM, 1072 .flags = IORESOURCE_MEM,
1072 }, 1073 },
1073 [1] = { 1074 [1] = {
1075 .name = SH_MOBILE_SDHI_IRQ_CARD_DETECT,
1074 .start = evt2irq(0x0e80), /* SDHI1_SDHI1I0 */ 1076 .start = evt2irq(0x0e80), /* SDHI1_SDHI1I0 */
1075 .flags = IORESOURCE_IRQ, 1077 .flags = IORESOURCE_IRQ,
1076 }, 1078 },
1077 [2] = { 1079 [2] = {
1080 .name = SH_MOBILE_SDHI_IRQ_SDCARD,
1078 .start = evt2irq(0x0ea0), /* SDHI1_SDHI1I1 */ 1081 .start = evt2irq(0x0ea0), /* SDHI1_SDHI1I1 */
1079 .flags = IORESOURCE_IRQ, 1082 .flags = IORESOURCE_IRQ,
1080 }, 1083 },
1081 [3] = { 1084 [3] = {
1085 .name = SH_MOBILE_SDHI_IRQ_SDIO,
1082 .start = evt2irq(0x0ec0), /* SDHI1_SDHI1I2 */ 1086 .start = evt2irq(0x0ec0), /* SDHI1_SDHI1I2 */
1083 .flags = IORESOURCE_IRQ, 1087 .flags = IORESOURCE_IRQ,
1084 }, 1088 },
@@ -1122,14 +1126,17 @@ static struct resource sdhi2_resources[] = {
1122 .flags = IORESOURCE_MEM, 1126 .flags = IORESOURCE_MEM,
1123 }, 1127 },
1124 [1] = { 1128 [1] = {
1129 .name = SH_MOBILE_SDHI_IRQ_CARD_DETECT,
1125 .start = evt2irq(0x1200), /* SDHI2_SDHI2I0 */ 1130 .start = evt2irq(0x1200), /* SDHI2_SDHI2I0 */
1126 .flags = IORESOURCE_IRQ, 1131 .flags = IORESOURCE_IRQ,
1127 }, 1132 },
1128 [2] = { 1133 [2] = {
1134 .name = SH_MOBILE_SDHI_IRQ_SDCARD,
1129 .start = evt2irq(0x1220), /* SDHI2_SDHI2I1 */ 1135 .start = evt2irq(0x1220), /* SDHI2_SDHI2I1 */
1130 .flags = IORESOURCE_IRQ, 1136 .flags = IORESOURCE_IRQ,
1131 }, 1137 },
1132 [3] = { 1138 [3] = {
1139 .name = SH_MOBILE_SDHI_IRQ_SDIO,
1133 .start = evt2irq(0x1240), /* SDHI2_SDHI2I2 */ 1140 .start = evt2irq(0x1240), /* SDHI2_SDHI2I2 */
1134 .flags = IORESOURCE_IRQ, 1141 .flags = IORESOURCE_IRQ,
1135 }, 1142 },
@@ -1382,6 +1389,8 @@ static struct map_desc mackerel_io_desc[] __initdata = {
1382static void __init mackerel_map_io(void) 1389static void __init mackerel_map_io(void)
1383{ 1390{
1384 iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc)); 1391 iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc));
1392 /* DMA memory at 0xf6000000 - 0xffdfffff */
1393 init_consistent_dma_size(158 << 20);
1385 1394
1386 /* setup early devices and console here as well */ 1395 /* setup early devices and console here as well */
1387 sh7372_add_early_devices(); 1396 sh7372_add_early_devices();
@@ -1588,6 +1597,7 @@ static void __init mackerel_init(void)
1588 1597
1589 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device); 1598 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
1590 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device); 1599 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device);
1600 sh7372_add_device_to_domain(&sh7372_a4lc, &meram_device);
1591 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device); 1601 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);
1592 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs0_device); 1602 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs0_device);
1593 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs1_device); 1603 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs1_device);
diff --git a/arch/arm/mach-shmobile/entry-intc.S b/arch/arm/mach-shmobile/entry-intc.S
index cac0a7ae2084..1a1c00ca39a2 100644
--- a/arch/arm/mach-shmobile/entry-intc.S
+++ b/arch/arm/mach-shmobile/entry-intc.S
@@ -51,7 +51,4 @@
51 .macro test_for_ipi, irqnr, irqstat, base, tmp 51 .macro test_for_ipi, irqnr, irqstat, base, tmp
52 .endm 52 .endm
53 53
54 .macro test_for_ltirq, irqnr, irqstat, base, tmp
55 .endm
56
57 arch_irq_handler shmobile_handle_irq_intc 54 arch_irq_handler shmobile_handle_irq_intc
diff --git a/arch/arm/mach-shmobile/include/mach/entry-macro.S b/arch/arm/mach-shmobile/include/mach/entry-macro.S
index d791f10eeac7..8d4a416d4285 100644
--- a/arch/arm/mach-shmobile/include/mach/entry-macro.S
+++ b/arch/arm/mach-shmobile/include/mach/entry-macro.S
@@ -27,8 +27,5 @@
27 .macro test_for_ipi, irqnr, irqstat, base, tmp 27 .macro test_for_ipi, irqnr, irqstat, base, tmp
28 .endm 28 .endm
29 29
30 .macro test_for_ltirq, irqnr, irqstat, base, tmp
31 .endm
32
33 .macro arch_ret_to_user, tmp1, tmp2 30 .macro arch_ret_to_user, tmp1, tmp2
34 .endm 31 .endm
diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h
index ad00c3c258f4..0ffbe8155c76 100644
--- a/arch/arm/mach-shmobile/include/mach/memory.h
+++ b/arch/arm/mach-shmobile/include/mach/memory.h
@@ -4,7 +4,4 @@
4#define PLAT_PHYS_OFFSET UL(CONFIG_MEMORY_START) 4#define PLAT_PHYS_OFFSET UL(CONFIG_MEMORY_START)
5#define MEM_SIZE UL(CONFIG_MEMORY_SIZE) 5#define MEM_SIZE UL(CONFIG_MEMORY_SIZE)
6 6
7/* DMA memory at 0xf6000000 - 0xffdfffff */
8#define CONSISTENT_DMA_SIZE (158 << 20)
9
10#endif /* __ASM_MACH_MEMORY_H */ 7#endif /* __ASM_MACH_MEMORY_H */
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c
index 3ffdbc92ba82..be1ade76ccc8 100644
--- a/arch/arm/mach-shmobile/smp-sh73a0.c
+++ b/arch/arm/mach-shmobile/smp-sh73a0.c
@@ -74,6 +74,8 @@ void __cpuinit sh73a0_secondary_init(unsigned int cpu)
74 74
75int __cpuinit sh73a0_boot_secondary(unsigned int cpu) 75int __cpuinit sh73a0_boot_secondary(unsigned int cpu)
76{ 76{
77 cpu = cpu_logical_map(cpu);
78
77 /* enable cache coherency */ 79 /* enable cache coherency */
78 modify_scu_cpu_psr(0, 3 << (cpu * 8)); 80 modify_scu_cpu_psr(0, 3 << (cpu * 8));
79 81
@@ -87,6 +89,8 @@ int __cpuinit sh73a0_boot_secondary(unsigned int cpu)
87 89
88void __init sh73a0_smp_prepare_cpus(void) 90void __init sh73a0_smp_prepare_cpus(void)
89{ 91{
92 int cpu = cpu_logical_map(0);
93
90 scu_enable(scu_base_addr()); 94 scu_enable(scu_base_addr());
91 95
92 /* Map the reset vector (in headsmp.S) */ 96 /* Map the reset vector (in headsmp.S) */
@@ -94,5 +98,5 @@ void __init sh73a0_smp_prepare_cpus(void)
94 __raw_writel(__pa(shmobile_secondary_vector), __io(SBAR)); 98 __raw_writel(__pa(shmobile_secondary_vector), __io(SBAR));
95 99
96 /* enable cache coherency on CPU0 */ 100 /* enable cache coherency on CPU0 */
97 modify_scu_cpu_psr(0, 3 << (0 * 8)); 101 modify_scu_cpu_psr(0, 3 << (cpu * 8));
98} 102}