/* * sbd.h: cpu board definitions for Galileo-9 * Copyright (c) 1997 Algorithmics Ltd */ #ifndef MHZ /* fastest possible pipeline clock */ #define MHZ 150 #endif /* FIXME These timings are completely fictional */ #define RAMCYCLE 60 /* 60ns dram cycle */ #define ROMCYCLE 750 /* ~750ns rom cycle */ #define CACHECYCLE (1000/MHZ) /* internal clock */ #define CYCLETIME CACHECYCLE #define CACHEMISS (CYCLETIME * 6) /* * rough scaling factors for 2 instruction DELAY loop to get 1ms and 1us delays */ #define ASMDELAY(ns,icycle) \ (((ns) + (icycle)) / ((icycle) * 2)) #define CACHEUS ASMDELAY(1000, CACHECYCLE) #define RAMUS ASMDELAY(1000, CACHEMISS+RAMCYCLE) #define ROMUS ASMDELAY(1000, CACHEMISS+ROMCYCLE) #define CACHEMS ASMDELAY(1000000, CACHECYCLE) #define RAMMS ASMDELAY(1000000, CACHEMISS+RAMCYCLE) #define ROMMS ASMDELAY(1000000, CACHEMISS+ROMCYCLE) #ifndef __ASSEMBLER__ #define nsdelay(ns) mips_cycle (ASMDELAY (ns, CACHECYCLE)) #define usdelay(us) mips_cycle (ASMDELAY ((us)*1000, CACHECYCLE)) #endif #define DRAM_BASE 0x00000000 #define PCI_IO_BASE 0x10000000 #define PCI_IO_SIZE 0x02000000 #define PCI_MEM_BASE 0x12000000 #define PCI_MEM_SIZE 0x02000000 #define GT64011_BASE 0x14000000 #define DUART_BASE 0x1d000000 #define FLASH_BASE 0x1f000000 #define PROM_BASE 0x1fc00000 #define LOCAL_MEM DRAM_BASE #define LOCAL_MEM_SIZE (128*1024*1024) /* SDRAM size (16MB) */ #define BOOTPROM_BASE PROM_BASE #define DUART_CLOCK 3686400