1458db832SDavid du Colombier /* 2458db832SDavid du Colombier * Here, we define everything that is specific for the blast board from Crawford Hill 3458db832SDavid du Colombier */ 4458db832SDavid du Colombier 5458db832SDavid du Colombier 6458db832SDavid du Colombier /* Clock speed of the blast board */ 7458db832SDavid du Colombier #define CLKIN 72000000 8458db832SDavid du Colombier 9458db832SDavid du Colombier /* 10458db832SDavid du Colombier * Blast memory layout: 11458db832SDavid du Colombier * CS0: FE000000 -> FFFFFFFF (Flash) 12458db832SDavid du Colombier * CS1: FC000000 -> FCFFFFFF (DSP hpi) 13458db832SDavid du Colombier * CS2: 00000000 -> 03FFFFFF (60x sdram) 14458db832SDavid du Colombier * CS3: 04000000 -> 04FFFFFF (FPGA) 15458db832SDavid du Colombier * CS4: 05000000 -> 06FFFFFF (local bus sdram) 16458db832SDavid du Colombier * CS5: 07000000 -> 070FFFFF (eeprom - not populated) 17458db832SDavid du Colombier * CS6: E0000000 -> E0FFFFFF (FPGA) 18458db832SDavid du Colombier * 19458db832SDavid du Colombier * Main Board memory lay out: 20458db832SDavid du Colombier * CS0: FE000000 -> FEFFFFFF (16 M FLASH) 21458db832SDavid du Colombier * CS1: FC000000 -> FCFFFFFF (16 M DSP1) 22458db832SDavid du Colombier * CS2: 00000000 -> 03FFFFFF (64 M SDRAM) 23458db832SDavid du Colombier * CS3: 04000000 -> 04FFFFFF (16M DSP2) 24458db832SDavid du Colombier * CS4: 05000000 -> 06FFFFFF (32 M Local SDRAM) 25458db832SDavid du Colombier * CS5: 07000000 -> 070FFFFF (eeprom - not populated) 26458db832SDavid du Colombier * CS6: E0000000 -> E0FFFFFF (16 M FPGA) 27458db832SDavid du Colombier * 28458db832SDavid du Colombier * CS2, CS3, CS4, (and CS5) are covered by DBAT 0, CS0 and CS1 by DBAT 3, CS6 by DBAT 2 29458db832SDavid du Colombier */ 30*5d9de2d3SDavid du Colombier #define IMMR 0xf0000000 31*5d9de2d3SDavid du Colombier 32458db832SDavid du Colombier #define FLASHMEM 0xfe000000 33458db832SDavid du Colombier #define FLASHSIZE 0x01000000 34458db832SDavid du Colombier #define DSP1BASE 0xfc000000 35458db832SDavid du Colombier #define DSP1SIZE 0x01000000 36458db832SDavid du Colombier #define MEM1BASE 0x00000000 37458db832SDavid du Colombier #define MEM1SIZE 0x04000000 38458db832SDavid du Colombier #define DSP2BASE 0x04000000 39458db832SDavid du Colombier #define DSP2SIZE 0x01000000 40458db832SDavid du Colombier #define MEM2BASE 0x05000000 41458db832SDavid du Colombier /* #define MEM2SIZE 0x02000000 */ 42458db832SDavid du Colombier #define MEM2SIZE 0 43458db832SDavid du Colombier #define FPGABASE 0xe0000000 44458db832SDavid du Colombier #define FPGASIZE 0x01000000 45458db832SDavid du Colombier 46458db832SDavid du Colombier #define PLAN9INI 0x00460000 47458db832SDavid du Colombier 48458db832SDavid du Colombier #define TLBENTRIES 32 49458db832SDavid du Colombier /* 50458db832SDavid du Colombier * PTE bits for fault.c. These belong to the second PTE word. Validity is 51458db832SDavid du Colombier * implied for putmmu(), and we always set PTE0_V. PTEVALID is used 52458db832SDavid du Colombier * here to set cache policy bits on a global basis. 53458db832SDavid du Colombier */ 54458db832SDavid du Colombier #define PTEVALID PTE1_M 55458db832SDavid du Colombier #define PTEWRITE (PTE1_RW|PTE1_C) 56458db832SDavid du Colombier #define PTERONLY PTE1_RO 57458db832SDavid du Colombier #define PTEUNCACHED PTE1_I 58458db832SDavid du Colombier 59458db832SDavid du Colombier /* SMC Uart configuration */ 60458db832SDavid du Colombier #define SMC1PORT 3 /* Port D */ 61458db832SDavid du Colombier #define SMTXD1 BIT(9) 62458db832SDavid du Colombier #define SMRXD1 BIT(8) 63458db832SDavid du Colombier 64458db832SDavid du Colombier /* Ethernet FCC configuration */ 65458db832SDavid du Colombier #define A1txer 0x00000004 66458db832SDavid du Colombier #define A1rxdv 0x00000010 67458db832SDavid du Colombier #define A1txen 0x00000008 68458db832SDavid du Colombier #define A1rxer 0x00000020 69458db832SDavid du Colombier #define A1col 0x00000001 70458db832SDavid du Colombier #define A1crs 0x00000002 71458db832SDavid du Colombier #define A1txdat 0x00003c00 72458db832SDavid du Colombier #define A1rxdat 0x0003c000 73458db832SDavid du Colombier #define B2txer 0x00000001 74458db832SDavid du Colombier #define B2rxdv 0x00000002 75458db832SDavid du Colombier #define B2txen 0x00000004 76458db832SDavid du Colombier #define B2rxer 0x00000008 77458db832SDavid du Colombier #define B2col 0x00000010 78458db832SDavid du Colombier #define B2crs 0x00000020 79458db832SDavid du Colombier #define B2txdat 0x000003c0 80458db832SDavid du Colombier #define B2rxdat 0x00003c00 81458db832SDavid du Colombier #define B3rxdv 0x00004000 82458db832SDavid du Colombier #define B3rxer 0x00008000 83458db832SDavid du Colombier #define B3txer 0x00010000 84458db832SDavid du Colombier #define B3txen 0x00020000 85458db832SDavid du Colombier #define B3col 0x00040000 86458db832SDavid du Colombier #define B3crs 0x00080000 87458db832SDavid du Colombier #define B3txdat 0x0f000000 88458db832SDavid du Colombier #define B3rxdat 0x00f00000 89458db832SDavid du Colombier 90458db832SDavid du Colombier #define A1psor0 (A1rxdat | A1txdat) 91458db832SDavid du Colombier #define A1psor1 (A1col | A1crs | A1txer | A1txen | A1rxdv | A1rxer) 92458db832SDavid du Colombier #define A1dir0 (A1rxdat | A1crs | A1col | A1rxer | A1rxdv) 93458db832SDavid du Colombier #define A1dir1 (A1txdat | A1txen | A1txer) 94458db832SDavid du Colombier #define B2psor0 (B2rxdat | B2txdat | B2crs | B2col | B2rxer | B2rxdv | B2txer) 95458db832SDavid du Colombier #define B2psor1 (B2txen) 96458db832SDavid du Colombier #define B2dir0 (B2rxdat | B2crs | B2col | B2rxer | B2rxdv) 97458db832SDavid du Colombier #define B2dir1 (B2txdat | B2txen | B2txer) 98458db832SDavid du Colombier #define B3psor0 (B3rxdat | B3txdat | B3crs | B3col | B3rxer | B3rxdv | B3txer | B3txen) 99458db832SDavid du Colombier #define B3psor1 0 100458db832SDavid du Colombier #define B3dir0 (B3rxdat | B3crs | B3col | B3rxer | B3rxdv) 101458db832SDavid du Colombier #define B3dir1 (B3txdat | B3txen | B3txer) 102