blob: b526959a8dc3d983590cbdceae746d13aaa6a1ec [file] [log] [blame]
/*******************************************************************************
* Copyright 2007, MARVELL SEMICONDUCTOR, LTD. *
* THIS CODE CONTAINS CONFIDENTIAL INFORMATION OF MARVELL. *
* NO RIGHTS ARE GRANTED HEREIN UNDER ANY PATENT, MASK WORK RIGHT OR COPYRIGHT *
* OF MARVELL OR ANY THIRD PARTY. MARVELL RESERVES THE RIGHT AT ITS SOLE *
* DISCRETION TO REQUEST THAT THIS CODE BE IMMEDIATELY RETURNED TO MARVELL. *
* THIS CODE IS PROVIDED "AS IS". MARVELL MAKES NO WARRANTIES, EXPRESSED, *
* IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. *
* *
* MARVELL COMPRISES MARVELL TECHNOLOGY GROUP LTD. (MTGL) AND ITS SUBSIDIARIES, *
* MARVELL INTERNATIONAL LTD. (MIL), MARVELL TECHNOLOGY, INC. (MTI), MARVELL *
* SEMICONDUCTOR, INC. (MSI), MARVELL ASIA PTE LTD. (MAPL), MARVELL JAPAN K.K. *
* (MJKK), MARVELL ISRAEL LTD. (MSIL). *
*******************************************************************************/
////////////////////////////////////////////////////////////////////////////////
//! \file sys_memmap.h
//! \brief system level memory map, define memory block address for different CPUs.
//!
//!
//!
//! Purpose:
//! define memory address for CPUs
//!
//! Version, Date and Author :
//! V 1.00, 7/16/2007, Fenglei Wang
//!
//! Note:
////////////////////////////////////////////////////////////////////////////////
#ifndef _SYS_MEMMAP_H_
#define _SYS_MEMMAP_H_
#include "memmap.h"
#define GALOIS_CPU1_CACHE_START (MEMMAP_DRAM_CACHE_BASE)
#if defined(BERLIN)
#define GALOIS_CPU1_CACHE_SIZE 0x16000000
#else
#define GALOIS_CPU1_CACHE_SIZE 0x0e000000
#endif
#define GALOIS_CPU0_CACHE_START ( GALOIS_CPU1_CACHE_START + GALOIS_CPU1_CACHE_SIZE )
#if defined(BERLIN)
#define GALOIS_CPU0_CACHE_SIZE 0x06000000
#else
#define GALOIS_CPU0_CACHE_SIZE 0x0e000000
#endif
#define GALOIS_CACHE_ADDR_END ( GALOIS_CPU0_CACHE_START + GALOIS_CPU0_CACHE_SIZE )
#if GALOIS_CACHE_ADDR_END > ( MEMMAP_DRAM_CACHE_BASE + MEMMAP_DRAM_CACHE_SIZE )
#error Error: cached memory address out of range!!!
#endif
#define GALOIS_NON_CACHE_START ( MEMMAP_DRAM_UNCACHE_BASE | (GALOIS_CACHE_ADDR_END))
#define GALOIS_NON_CACHE_SIZE 0x04000000
#define CACHE_ADDR_MASK (MEMMAP_DRAM_UNCACHE_BASE -1)
#define NON_CACHE_ADDR( x ) ( (void*)( ( (unsigned int)(x) & CACHE_ADDR_MASK) | MEMMAP_DRAM_UNCACHE_BASE) )
#define CACHE_ADDR( x ) ( (void*)( (unsigned int)(x) & CACHE_ADDR_MASK) )
#endif // #ifndef _SYS_MEMMAP_H_