• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/include/asm-arm/arch-ixp23xx/
1/*
2 * include/asm-arm/arch-ixp23xx/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 <asm/hardware.h>
16
17/*
18 * Physical DRAM offset.
19 */
20#define PHYS_OFFSET		(0x00000000)
21
22
23/*
24 * Virtual view <-> DMA view memory address translations
25 * virt_to_bus: Used to translate the virtual address to an
26 *		address suitable to be passed to set_dma_addr
27 * bus_to_virt: Used to convert an address for DMA operations
28 *		to an address that the kernel can use.
29 */
30#ifndef __ASSEMBLY__
31#include <asm/mach-types.h>
32
33#define __virt_to_bus(v)						\
34	({ unsigned int ret;						\
35	ret = ((__virt_to_phys(v) - 0x00000000) +			\
36	 (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)); 	\
37	ret; })
38
39#define __bus_to_virt(b)						\
40	({ unsigned int data;						\
41	data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR);		\
42	 __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); })
43
44#define arch_is_coherent()	1
45
46#endif
47
48
49#endif
50