aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/generic.c2
-rw-r--r--drivers/mtd/maps/lubbock-flash.c6
-rw-r--r--drivers/mtd/maps/mainstone-flash.c5
-rw-r--r--include/asm-arm/arch-at91/irqs.h3
-rw-r--r--include/asm-arm/cacheflush.h7
-rw-r--r--include/asm-arm/plat-s3c/map.h12
6 files changed, 21 insertions, 14 deletions
diff --git a/arch/arm/mach-imx/generic.c b/arch/arm/mach-imx/generic.c
index a58b678006df..c342595dc318 100644
--- a/arch/arm/mach-imx/generic.c
+++ b/arch/arm/mach-imx/generic.c
@@ -138,7 +138,7 @@ EXPORT_SYMBOL(imx_gpio_direction_input);
138int imx_gpio_direction_output(unsigned gpio, int value) 138int imx_gpio_direction_output(unsigned gpio, int value)
139{ 139{
140 imx_gpio_set_value(gpio, value); 140 imx_gpio_set_value(gpio, value);
141 imx_gpio_mode(gpio| GPIO_OUT); 141 imx_gpio_mode(gpio | GPIO_OUT | GPIO_GIUS | GPIO_DR);
142 return 0; 142 return 0;
143} 143}
144 144
diff --git a/drivers/mtd/maps/lubbock-flash.c b/drivers/mtd/maps/lubbock-flash.c
index 1aa0447c5e66..e8560683b973 100644
--- a/drivers/mtd/maps/lubbock-flash.c
+++ b/drivers/mtd/maps/lubbock-flash.c
@@ -15,9 +15,7 @@
15#include <linux/types.h> 15#include <linux/types.h>
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/slab.h>
19 18
20#include <linux/dma-mapping.h>
21#include <linux/mtd/mtd.h> 19#include <linux/mtd/mtd.h>
22#include <linux/mtd/map.h> 20#include <linux/mtd/map.h>
23#include <linux/mtd/partitions.h> 21#include <linux/mtd/partitions.h>
@@ -26,7 +24,7 @@
26#include <asm/hardware.h> 24#include <asm/hardware.h>
27#include <asm/arch/pxa-regs.h> 25#include <asm/arch/pxa-regs.h>
28#include <asm/arch/lubbock.h> 26#include <asm/arch/lubbock.h>
29 27#include <asm/cacheflush.h>
30 28
31#define ROM_ADDR 0x00000000 29#define ROM_ADDR 0x00000000
32#define FLASH_ADDR 0x04000000 30#define FLASH_ADDR 0x04000000
@@ -35,7 +33,7 @@
35 33
36static void lubbock_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len) 34static void lubbock_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len)
37{ 35{
38 consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); 36 flush_ioremap_region(map->phys, map->cached, from, len);
39} 37}
40 38
41static struct map_info lubbock_maps[2] = { { 39static struct map_info lubbock_maps[2] = { {
diff --git a/drivers/mtd/maps/mainstone-flash.c b/drivers/mtd/maps/mainstone-flash.c
index eaa4bbb868a3..d76487d82dcd 100644
--- a/drivers/mtd/maps/mainstone-flash.c
+++ b/drivers/mtd/maps/mainstone-flash.c
@@ -15,8 +15,6 @@
15#include <linux/types.h> 15#include <linux/types.h>
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/dma-mapping.h>
19#include <linux/slab.h>
20 18
21#include <linux/mtd/mtd.h> 19#include <linux/mtd/mtd.h>
22#include <linux/mtd/map.h> 20#include <linux/mtd/map.h>
@@ -26,6 +24,7 @@
26#include <asm/hardware.h> 24#include <asm/hardware.h>
27#include <asm/arch/pxa-regs.h> 25#include <asm/arch/pxa-regs.h>
28#include <asm/arch/mainstone.h> 26#include <asm/arch/mainstone.h>
27#include <asm/cacheflush.h>
29 28
30 29
31#define ROM_ADDR 0x00000000 30#define ROM_ADDR 0x00000000
@@ -36,7 +35,7 @@
36static void mainstone_map_inval_cache(struct map_info *map, unsigned long from, 35static void mainstone_map_inval_cache(struct map_info *map, unsigned long from,
37 ssize_t len) 36 ssize_t len)
38{ 37{
39 consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); 38 flush_ioremap_region(map->phys, map->cached, from, len);
40} 39}
41 40
42static struct map_info mainstone_maps[2] = { { 41static struct map_info mainstone_maps[2] = { {
diff --git a/include/asm-arm/arch-at91/irqs.h b/include/asm-arm/arch-at91/irqs.h
index 1127a3b5e928..70b1216dce5d 100644
--- a/include/asm-arm/arch-at91/irqs.h
+++ b/include/asm-arm/arch-at91/irqs.h
@@ -42,4 +42,7 @@
42 */ 42 */
43#define NR_IRQS (NR_AIC_IRQS + (5 * 32)) 43#define NR_IRQS (NR_AIC_IRQS + (5 * 32))
44 44
45/* FIQ is AIC source 0. */
46#define FIQ_START AT91_ID_FIQ
47
45#endif 48#endif
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h
index d1294a46c70c..6c1c968b2987 100644
--- a/include/asm-arm/cacheflush.h
+++ b/include/asm-arm/cacheflush.h
@@ -426,6 +426,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma,
426 */ 426 */
427#define flush_icache_page(vma,page) do { } while (0) 427#define flush_icache_page(vma,page) do { } while (0)
428 428
429static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt,
430 unsigned offset, size_t size)
431{
432 const void *start = (void __force *)virt + offset;
433 dmac_inv_range(start, start + size);
434}
435
429#define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) 436#define __cacheid_present(val) (val != read_cpuid(CPUID_ID))
430#define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) 437#define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29))
431 438
diff --git a/include/asm-arm/plat-s3c/map.h b/include/asm-arm/plat-s3c/map.h
index 95a82b0e84a1..b84289d32a54 100644
--- a/include/asm-arm/plat-s3c/map.h
+++ b/include/asm-arm/plat-s3c/map.h
@@ -30,11 +30,11 @@
30#define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) 30#define S3C_ADDR(x) (S3C_ADDR_BASE + (x))
31#endif 31#endif
32 32
33#define S3C_VA_IRQ S3C_ADDR(0x000000000) /* irq controller(s) */ 33#define S3C_VA_IRQ S3C_ADDR(0x00000000) /* irq controller(s) */
34#define S3C_VA_SYS S3C_ADDR(0x001000000) /* system control */ 34#define S3C_VA_SYS S3C_ADDR(0x00100000) /* system control */
35#define S3C_VA_MEM S3C_ADDR(0x002000000) /* system control */ 35#define S3C_VA_MEM S3C_ADDR(0x00200000) /* system control */
36#define S3C_VA_TIMER S3C_ADDR(0x003000000) /* timer block */ 36#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
37#define S3C_VA_WATCHDOG S3C_ADDR(0x004000000) /* watchdog */ 37#define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */
38#define S3C_VA_UART S3C_ADDR(0x010000000) /* UART */ 38#define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */
39 39
40#endif /* __ASM_PLAT_MAP_H */ 40#endif /* __ASM_PLAT_MAP_H */