Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  arch/arm/mach-footbridge/include/mach/memory.h
0004  *
0005  *  Copyright (C) 1996-1999 Russell King.
0006  *
0007  *  Changelog:
0008  *   20-Oct-1996 RMK    Created
0009  *   31-Dec-1997 RMK    Fixed definitions to reduce warnings.
0010  *   17-May-1998 DAG    Added __virt_to_bus and __bus_to_virt functions.
0011  *   21-Nov-1998 RMK    Changed __virt_to_bus and __bus_to_virt to macros.
0012  *   21-Mar-1999 RMK    Added PAGE_OFFSET for co285 architecture.
0013  *          Renamed to memory.h
0014  *          Moved PAGE_OFFSET and TASK_SIZE here
0015  */
0016 #ifndef __ASM_ARCH_MEMORY_H
0017 #define __ASM_ARCH_MEMORY_H
0018 
0019 
0020 #if defined(CONFIG_FOOTBRIDGE_ADDIN)
0021 /*
0022  * If we may be using add-in footbridge mode, then we must
0023  * use the out-of-line translation that makes use of the
0024  * PCI BAR
0025  */
0026 #ifndef __ASSEMBLY__
0027 extern unsigned long __virt_to_bus(unsigned long);
0028 extern unsigned long __bus_to_virt(unsigned long);
0029 #endif
0030 #define __virt_to_bus   __virt_to_bus
0031 #define __bus_to_virt   __bus_to_virt
0032 
0033 #elif defined(CONFIG_FOOTBRIDGE_HOST)
0034 
0035 /*
0036  * The footbridge is programmed to expose the system RAM at 0xe0000000.
0037  * The requirement is that the RAM isn't placed at bus address 0, which
0038  * would clash with VGA cards.
0039  */
0040 #define BUS_OFFSET      0xe0000000
0041 #define __virt_to_bus(x)    ((x) + (BUS_OFFSET - PAGE_OFFSET))
0042 #define __bus_to_virt(x)    ((x) - (BUS_OFFSET - PAGE_OFFSET))
0043 
0044 #else
0045 
0046 #error "Undefined footbridge mode"
0047 
0048 #endif
0049 
0050 /*
0051  * Cache flushing area.
0052  */
0053 #define FLUSH_BASE      0xf9000000
0054 
0055 #define FLUSH_BASE_PHYS     0x50000000
0056 
0057 #endif