📄 memorymap-1215.h
字号:
//**********************************************************************
//
// Filename: memorymap-1215.h
//
// Description: Memory map for the edb9307/12/15 emulation and bringup board.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Use of this source code is subject to the terms of the Cirrus end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to
// use this source code. For a copy of the EULA, please see the
// EULA.RTF on your install media.
//
// Copyright(c) Cirrus Logic Corporation 2005, All Rights Reserved
//
//**********************************************************************
#ifndef _H_MEMORYMAP
#define _H_MEMORYMAP
//
#define PHYSICAL_ADDR_SDRAM_MAIN PHYSICAL_ADDR_SYNC_CS3
#define PHYSICAL_ADDR_SDRAM_MAIN_BLOCK0 PHYSICAL_ADDR_SDRAM_MAIN
#define PHYSICAL_ADDR_SDRAM_MAIN_BLOCK1 (PHYSICAL_ADDR_SDRAM_MAIN + 0x4000000)
#define PHYSICAL_ADDR_SRAM_16BIT PHYSICAL_ADDR_ASYNC_CS2
#define SDRAM_MAIN_BLOCK_SIZE 0x2000000
#define PHYSICAL_ADDR_FLASH PHYSICAL_ADDR_ASYNC_CS6
//
// Size of the diffent memory blocks for the boards.
//
#define SIZE_SDRAM_MAIN 0x04000000
#define SIZE_FLASH 0x02000000
#define SIZE_SYSTEM_ASIC_REG 0x01000000
#define SIZE_SRAM_16BIT 0x00080000
//
// PCMCIA definitions.
//
#define PCMCIACARD_MEMORY_PHYSICAL (PHYSICAL_ADDR_PCMCIA1 + 0x0C000000)
#define PCMCIACARD_IO_PHYSICAL (PHYSICAL_ADDR_PCMCIA1 + 0x00000000)
#define PCMCIACARD_ATTRIBUTE_PHYSICAL (PHYSICAL_ADDR_PCMCIA1 + 0x08000000)
#define PCMCIACARD_MEMORY_SIZE 0x400000
#define PCMCIACARD_IO_SIZE 0x400000
#define PCMCIACARD_ATTRIBUTE_SIZE 0x400000
//************************************************************************
// Physical to virtual address conversions.
//************************************************************************
//
// Be very careful not to have any of the memory overlap.
//
#ifdef PHYSICAL_EQUAL_VIRTUAL
#define SDRAM_VIRTUAL_MEMORY PHYSICAL_ADDR_SDRAM_MAIN
#define FLASH_VIRTUAL_MEMORY PHYSICAL_ADDR_FLASH
#define VIRTUAL_SYSTEM_ASIC_REGS_BASE PHYSICAL_SYSTEM_ASIC_REG_BASE
#define SDRAM_UNCACHED_VIRTUAL_MEMORY SDRAM_VIRTUAL_MEMORY
#define SRAM_16BIT_VIRTUAL_MEMORY PHYSICAL_ADDR_SRAM_16BIT
#define PCMCIACARD_BASE PHYSICAL_ADDR_PCMCIA1
#define PCMCIACARD_MEMORY PCMCIACARD_MEMORY_PHYSICAL
#define PCMCIACARD_IO PCMCIACARD_IO_PHYSICAL
#define PCMCIACARD_ATTRIBUTE PCMCIACARD_ATTRIBUTE_PHYSICAL
#else // PHYSICAL_EQUAL_VIRTUAL
#define SDRAM_VIRTUAL_MEMORY 0x80000000
#define FLASH_VIRTUAL_MEMORY 0x88000000
#define VIRTUAL_SYSTEM_ASIC_REGS_BASE (0x90000000 | 0x20000000)
#define SRAM_16BIT_VIRTUAL_MEMORY 0x8c000000
#define PCMCIACARD_BASE (0x91000000 | 0x20000000)
#define PCMCIACARD_IO (PCMCIACARD_BASE + 0x00000000)
#define PCMCIACARD_ATTRIBUTE (PCMCIACARD_BASE + PCMCIACARD_IO_SIZE)
#define PCMCIACARD_MEMORY (PCMCIACARD_BASE + PCMCIACARD_IO_SIZE + PCMCIACARD_ATTRIBUTE_SIZE)
#define SDRAM_UNCACHED_VIRTUAL_MEMORY (SDRAM_VIRTUAL_MEMORY | 0x20000000)
#endif // PHYSICAL_EQUAL_VIRTUAL
//
// Size of the blocks.
//
// Memory offsets relative to begining of SDRAM.
//
#define DRIVER_GLOBALS_MEMORY_OFFSET 0x00008000
#define CS8950_MEMORY_OFFSET 0x00010000
#define EDBG_MEMORY_OFFSET 0x00040000
#define FRAMEBUF_MEMORY_OFFSET 0x000C0000
#define FLASH_CACHE_MEMORY_OFFSET 0x00200000
//
// SDRAM Physical address
//
#define DRIVER_GLOBALS_PHYSICAL_MEMORY (DRIVER_GLOBALS_MEMORY_OFFSET + PHYSICAL_ADDR_SDRAM_MAIN)
#define CS8950_PHYSICAL_MEMORY (CS8950_MEMORY_OFFSET + PHYSICAL_ADDR_SDRAM_MAIN)
#define FRAMEBUF_PHYSICAL_MEMORY (FRAMEBUF_MEMORY_OFFSET + PHYSICAL_ADDR_SDRAM_MAIN)
#define EDBG_PHYSICAL_MEMORY (EDBG_MEMORY_OFFSET + PHYSICAL_ADDR_SDRAM_MAIN)
#define FLASH_CACHE_PHYSICAL_MEMORY (FLASH_CACHE_MEMORY_OFFSET + PHYSICAL_ADDR_SDRAM_MAIN)
//
// Memory sizes for blocks inside SDRAM and flash
//
#define CS8950_MEMORY_SIZE 0x00030000
#define FRAMEBUF_MEMORY_SIZE 0x00200000
#define EDBG_MEMORY_SIZE 0x00080000
//
// Add this to make an address uncached unbuffered.
//
#define UNCACHED_OFFSET 0x20000000
#define DRIVER_GLOBALS_VIRTUAL_MEMORY (DRIVER_GLOBALS_MEMORY_OFFSET | SDRAM_UNCACHED_VIRTUAL_MEMORY)
#define CS8950_VIRTUAL_MEMORY (CS8950_MEMORY_OFFSET | SDRAM_UNCACHED_VIRTUAL_MEMORY)
#define FRAMEBUF_VIRTUAL_MEMORY (FRAMEBUF_MEMORY_OFFSET | SDRAM_UNCACHED_VIRTUAL_MEMORY)
#define EDBG_VIRTUAL_MEMORY (EDBG_MEMORY_OFFSET | SDRAM_VIRTUAL_MEMORY)
#define FLASH_CACHE_VIRTUAL_MEMORY (FLASH_CACHE_MEMORY_OFFSET)
#define MEM_HOST_REG_BASE_MS 0xBF000000
#define MEM_HOST_REG_BASE_SD_MMC 0xBF800000
#endif // _H_MEMORYMAP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -