blast.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * Here, we define everything that is specific for the blast board from Crawford Hill
  3. */
  4. /* Clock speed of the blast board */
  5. #define CLKIN 72000000
  6. /*
  7. * Blast memory layout:
  8. * CS0: FE000000 -> FFFFFFFF (Flash)
  9. * CS1: FC000000 -> FCFFFFFF (DSP hpi)
  10. * CS2: 00000000 -> 03FFFFFF (60x sdram)
  11. * CS3: 04000000 -> 04FFFFFF (FPGA)
  12. * CS4: 05000000 -> 06FFFFFF (local bus sdram)
  13. * CS5: 07000000 -> 070FFFFF (eeprom - not populated)
  14. * CS6: E0000000 -> E0FFFFFF (FPGA)
  15. *
  16. * Main Board memory lay out:
  17. * CS0: FE000000 -> FEFFFFFF (16 M FLASH)
  18. * CS1: FC000000 -> FCFFFFFF (16 M DSP1)
  19. * CS2: 00000000 -> 03FFFFFF (64 M SDRAM)
  20. * CS3: 04000000 -> 04FFFFFF (16M DSP2)
  21. * CS4: 05000000 -> 06FFFFFF (32 M Local SDRAM)
  22. * CS5: 07000000 -> 070FFFFF (eeprom - not populated)
  23. * CS6: E0000000 -> E0FFFFFF (16 M FPGA)
  24. *
  25. * CS2, CS3, CS4, (and CS5) are covered by DBAT 0, CS0 and CS1 by DBAT 3, CS6 by DBAT 2
  26. */
  27. #define FLASHMEM 0xfe000000
  28. #define FLASHSIZE 0x01000000
  29. #define DSP1BASE 0xfc000000
  30. #define DSP1SIZE 0x01000000
  31. #define MEM1BASE 0x00000000
  32. #define MEM1SIZE 0x04000000
  33. #define DSP2BASE 0x04000000
  34. #define DSP2SIZE 0x01000000
  35. #define MEM2BASE 0x05000000
  36. /* #define MEM2SIZE 0x02000000 */
  37. #define MEM2SIZE 0
  38. #define FPGABASE 0xe0000000
  39. #define FPGASIZE 0x01000000
  40. #define PLAN9INI 0x00460000
  41. #define TLBENTRIES 32
  42. /*
  43. * PTE bits for fault.c. These belong to the second PTE word. Validity is
  44. * implied for putmmu(), and we always set PTE0_V. PTEVALID is used
  45. * here to set cache policy bits on a global basis.
  46. */
  47. #define PTEVALID PTE1_M
  48. #define PTEWRITE (PTE1_RW|PTE1_C)
  49. #define PTERONLY PTE1_RO
  50. #define PTEUNCACHED PTE1_I
  51. /* SMC Uart configuration */
  52. #define SMC1PORT 3 /* Port D */
  53. #define SMTXD1 BIT(9)
  54. #define SMRXD1 BIT(8)
  55. /* Ethernet FCC configuration */
  56. #define A1txer 0x00000004
  57. #define A1rxdv 0x00000010
  58. #define A1txen 0x00000008
  59. #define A1rxer 0x00000020
  60. #define A1col 0x00000001
  61. #define A1crs 0x00000002
  62. #define A1txdat 0x00003c00
  63. #define A1rxdat 0x0003c000
  64. #define B2txer 0x00000001
  65. #define B2rxdv 0x00000002
  66. #define B2txen 0x00000004
  67. #define B2rxer 0x00000008
  68. #define B2col 0x00000010
  69. #define B2crs 0x00000020
  70. #define B2txdat 0x000003c0
  71. #define B2rxdat 0x00003c00
  72. #define B3rxdv 0x00004000
  73. #define B3rxer 0x00008000
  74. #define B3txer 0x00010000
  75. #define B3txen 0x00020000
  76. #define B3col 0x00040000
  77. #define B3crs 0x00080000
  78. #define B3txdat 0x0f000000
  79. #define B3rxdat 0x00f00000
  80. #define A1psor0 (A1rxdat | A1txdat)
  81. #define A1psor1 (A1col | A1crs | A1txer | A1txen | A1rxdv | A1rxer)
  82. #define A1dir0 (A1rxdat | A1crs | A1col | A1rxer | A1rxdv)
  83. #define A1dir1 (A1txdat | A1txen | A1txer)
  84. #define B2psor0 (B2rxdat | B2txdat | B2crs | B2col | B2rxer | B2rxdv | B2txer)
  85. #define B2psor1 (B2txen)
  86. #define B2dir0 (B2rxdat | B2crs | B2col | B2rxer | B2rxdv)
  87. #define B2dir1 (B2txdat | B2txen | B2txer)
  88. #define B3psor0 (B3rxdat | B3txdat | B3crs | B3col | B3rxer | B3rxdv | B3txer | B3txen)
  89. #define B3psor1 0
  90. #define B3dir0 (B3rxdat | B3crs | B3col | B3rxer | B3rxdv)
  91. #define B3dir1 (B3txdat | B3txen | B3txer)