blob: 3053e5b7f1685290eccc1c44a9b011c030ffd741 [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
2 * arch/arm/mach-shark/include/mach/memory.h
3 *
4 * by Alexander Schulz
5 *
6 * derived from:
7 * arch/arm/mach-ebsa110/include/mach/memory.h
8 * Copyright (c) 1996-1999 Russell King.
9 */
10#ifndef __ASM_ARCH_MEMORY_H
11#define __ASM_ARCH_MEMORY_H
12
13#include <asm/sizes.h>
14
15/*
16 * Physical DRAM offset.
17 */
18#define PHYS_OFFSET UL(0x08000000)
19
20#ifndef __ASSEMBLY__
21
22static inline void __arch_adjust_zones(int node, unsigned long *zone_size, unsigned long *zhole_size)
23{
24 if (node != 0) return;
25 /* Only the first 4 MB (=1024 Pages) are usable for DMA */
Alexander Schulzeab184c2009-01-08 18:05:58 +010026 /* See dev / -> .properties in OpenFirmware. */
Russell Kinga09e64f2008-08-05 16:14:15 +010027 zone_size[1] = zone_size[0] - 1024;
28 zone_size[0] = 1024;
29 zhole_size[1] = zhole_size[0];
30 zhole_size[0] = 0;
31}
32
33#define arch_adjust_zones(node, size, holes) \
34 __arch_adjust_zones(node, size, holes)
35
36#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_4M - 1)
Russell Kingc72e005b2008-11-29 10:56:33 +000037#define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_4M)
Russell Kinga09e64f2008-08-05 16:14:15 +010038
39#endif
40
Russell Kinga09e64f2008-08-05 16:14:15 +010041/*
42 * Cache flushing area
43 */
44#define FLUSH_BASE_PHYS 0x80000000
45#define FLUSH_BASE 0xdf000000
46
47#endif