1 /* 2 * Memory-mapped IO 3 */ 4 5 /* 6 * virtex4 system loses top 1/9th of 128MB to ECC in the secure memory system. 7 * if the mac boundary is not a cache-line boundary (multiple of 32), 8 * don't touch anything in the last cache-line (round mac boundary down 9 * to a multiple of 32). MEMTOP computes the first untouchable address. 10 */ 11 #define MEMTOP(phys) (((((phys)/DCACHELINESZ)*8)/9) * DCACHELINESZ) 12 #define MAXMEM (128*MB) 13 14 /* memory map for rae's virtex4 design */ 15 #define PHYSDRAM 0 16 #define PHYSSRAM 0xfffe0000 /* 128K long, in top 128M */ 17 18 #define Io 0xf0000000 /* ~512K of IO registers */ 19 #define Uartlite 0xf0000000 20 #define Gpio 0xf0010000 21 #define Intctlr 0xf0020000 22 #define Temac 0xf0030000 23 #define Llfifo 0xf0040000 24 #define Dmactlr 0xf0050000 25 #define Dmactlr2 0xf0060000 26 /* 27 * if these devices exist in a given hardware configuration, 28 * they will be at these addresses. 29 */ 30 #define Qtm 0xf0070000 /* encrypted memory control */ 31 #define Mpmc 0xf0080000 /* multi-port memory controller */ 32 /* setting low bit interrupts cpu0; don't set Hie */ 33 #define Intctlr2 0xf0090000 /* sw interrupt controller */ 34