• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * arch/arm/mach-ixp23xx/include/mach/memory.h
3  *
4  * Copyright (c) 2003-2004 Intel Corp.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the
8  * Free Software Foundation; either version 2 of the License, or (at your
9  * option) any later version.
10  */
11 
12 #ifndef __ASM_ARCH_MEMORY_H
13 #define __ASM_ARCH_MEMORY_H
14 
15 #include <mach/hardware.h>
16 
17 /*
18  * Physical DRAM offset.
19  */
20 #define PLAT_PHYS_OFFSET		(0x00000000)
21 
22 #define IXP23XX_PCI_SDRAM_OFFSET (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)
23 
24 #define __phys_to_bus(x)	((x) + (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET))
25 #define __bus_to_phys(x)	((x) - (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET))
26 
27 #define __virt_to_bus(v)	__phys_to_bus(__virt_to_phys(v))
28 #define __bus_to_virt(b)	__phys_to_virt(__bus_to_phys(b))
29 #define __pfn_to_bus(p)		__phys_to_bus(__pfn_to_phys(p))
30 #define __bus_to_pfn(b)		__phys_to_pfn(__bus_to_phys(b))
31 
32 #define arch_is_coherent()	1
33 
34 #endif
35