aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-u300/include/mach/memory.h
blob: ab000df7fc0337c7f75ef31deb9bef182ac172f0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 *
 * arch/arm/mach-u300/include/mach/memory.h
 *
 *
 * Copyright (C) 2007-2009 ST-Ericsson AB
 * License terms: GNU General Public License (GPL) version 2
 * Memory virtual/physical mapping constants.
 * Author: Linus Walleij <linus.walleij@stericsson.com>
 * Author: Jonas Aaberg <jonas.aberg@stericsson.com>
 */

#ifndef __MACH_MEMORY_H
#define __MACH_MEMORY_H

#ifdef CONFIG_MACH_U300_DUAL_RAM

#define PHYS_OFFSET		UL(0x48000000)
#define BOOT_PARAMS_OFFSET	(PHYS_OFFSET + 0x100)

#else

#ifdef CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
#define PHYS_OFFSET (0x28000000 + \
	     (CONFIG_MACH_U300_ACCESS_MEM_SIZE - \
	     (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024)
#else
#define PHYS_OFFSET (0x28000000 + \
	     (CONFIG_MACH_U300_ACCESS_MEM_SIZE +	\
	     (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024)
#endif
#define BOOT_PARAMS_OFFSET (0x28000000 + \
	    (CONFIG_MACH_U300_ACCESS_MEM_SIZE +		\
	    (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024 + 0x100)
#endif

/*
 * TCM memory whereabouts
 */
#define ITCM_OFFSET	0xffff2000
#define ITCM_END	0xffff3fff
#define DTCM_OFFSET	0xffff4000
#define DTCM_END	0xffff5fff

/*
 * We enable a real big DMA buffer if need be.
 */
#define CONSISTENT_DMA_SIZE SZ_4M

#endif