1/* Memory.h - Memory mappings and remapping functions declarations */ 2 3/* Copyright - Galileo technology. */ 4 5#ifndef __INCmemoryh 6#define __INCmemoryh 7 8/* includes */ 9 10#include "core.h" 11 12/* defines */ 13 14#define DONT_MODIFY 0xffffffff 15#define PARITY_SUPPORT 0x40000000 16 17#define _8BIT 0x00000000 18#define _16BIT 0x00010000 19#define _32BIT 0x00020000 20#define _64BIT 0x00030000 21 22/* typedefs */ 23 24typedef enum __memBank{BANK0,BANK1,BANK2,BANK3} MEMORY_BANK; 25typedef enum __device{DEVICE0,DEVICE1,DEVICE2,DEVICE3,BOOT_DEVICE} DEVICE; 26 27 28unsigned int getMemoryBankBaseAddress(MEMORY_BANK bank); 29unsigned int getDeviceBaseAddress(DEVICE device); 30unsigned int getMemoryBankSize(MEMORY_BANK bank); 31unsigned int getDeviceSize(DEVICE device); 32unsigned int getDeviceWidth(DEVICE device); 33 34bool mapMemoryBanks0and1(unsigned int bank0Base,unsigned int bank0Length, 35 unsigned int bank1Base,unsigned int bank1Length); 36bool mapMemoryBanks2and3(unsigned int bank2Base,unsigned int bank2Length, 37 unsigned int bank3Base,unsigned int bank3Length); 38bool mapDevices0_1and2MemorySpace(unsigned int device0Base, 39 unsigned int device0Length, 40 unsigned int device1Base, 41 unsigned int device1Length, 42 unsigned int device2Base, 43 unsigned int device2Length); 44bool mapDevices3andBootMemorySpace(unsigned int device3Base, 45 unsigned int device3Length, 46 unsigned int bootDeviceBase, 47 unsigned int bootDeviceLength); 48bool mapInternalRegistersMemorySpace(unsigned int internalRegBase); 49bool modifyDeviceParameters(DEVICE device,unsigned int TurnOff, 50 unsigned int AccToFirst,unsigned int AccToNext, 51 unsigned int ALEtoWr, unsigned int WrActive, 52 unsigned int WrHigh,unsigned int Width, 53 bool ParitySupport); 54 55bool remapAddress(unsigned int remapReg, unsigned int remapValue); 56#endif /* __INCmemoryh */ 57 58