memoryCall.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #ifndef __ALPHA_TITAN__H__
  2. #define __ALPHA_TITAN__H__
  3. #include <linux/types.h>
  4. #include <asm/compiler.h>
  5. /*
  6. * TITAN is the internal names for a core logic chipset which provides
  7. * memory controller and PCI/AGP access for 21264 based systems.
  8. *
  9. * This file is based on:
  10. *
  11. * Titan Chipset Engineering Specification
  12. * Revision 0.12
  13. * 13 July 1999
  14. *
  15. */
  16. /* XXX: Do we need to conditionalize on this? */
  17. #ifdef USE_48_BIT_KSEG
  18. #define TI_BIAS 0x80000000000UL
  19. #else
  20. #define TI_BIAS 0x10000000000UL
  21. #endif
  22. /*
  23. * CChip, DChip, and PChip registers
  24. */
  25. typedef struct {
  26. volatile unsigned long csr __attribute__((aligned(64)));
  27. } titan_64;
  28. typedef struct {
  29. titan_64 csc;
  30. titan_64 mtr;
  31. titan_64 misc;
  32. titan_64 mpd;
  33. titan_64 aar0;
  34. titan_64 aar1;
  35. titan_64 aar2;
  36. titan_64 aar3;
  37. titan_64 dim0;
  38. titan_64 dim1;
  39. titan_64 dir0;
  40. titan_64 dir1;
  41. titan_64 drir;
  42. titan_64 prben;
  43. titan_64 iic0;
  44. titan_64 iic1;
  45. titan_64 mpr0;
  46. titan_64 mpr1;
  47. titan_64 mpr2;
  48. titan_64 mpr3;
  49. titan_64 rsvd[2];
  50. titan_64 ttr;
  51. titan_64 tdr;
  52. titan_64 dim2;
  53. titan_64 dim3;
  54. titan_64 dir2;
  55. titan_64 dir3;
  56. titan_64 iic2;
  57. titan_64 iic3;
  58. titan_64 pwr;
  59. titan_64 reserved[17];
  60. titan_64 cmonctla;
  61. titan_64 cmonctlb;
  62. titan_64 cmoncnt01;
  63. titan_64 cmoncnt23;
  64. titan_64 cpen;
  65. } titan_cchip;
  66. typedef struct {
  67. titan_64 dsc;
  68. titan_64 str;
  69. titan_64 drev;
  70. titan_64 dsc2;
  71. } titan_dchip;
  72. typedef struct {
  73. titan_64 wsba[4];
  74. titan_64 wsm[4];
  75. titan_64 tba[4];
  76. titan_64 pctl;
  77. titan_64 plat;
  78. titan_64 reserved0[2];
  79. union {
  80. struct {
  81. titan_64 serror;
  82. titan_64 serren;
  83. titan_64 serrset;
  84. titan_64 reserved0;