memoryOperation.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /***********************************
  2. * $Id: m68360_quicc.h,v 1.1 2002/03/02 15:01:07 gerg Exp $
  3. ***********************************
  4. *
  5. ***************************************
  6. * Definitions of QUICC memory structures
  7. ***************************************
  8. */
  9. #ifndef __M68360_QUICC_H
  10. #define __M68360_QUICC_H
  11. /*
  12. * include registers and
  13. * parameter ram definitions files
  14. */
  15. #include <asm/m68360_regs.h>
  16. #include <asm/m68360_pram.h>
  17. /* Buffer Descriptors */
  18. typedef struct quicc_bd {
  19. volatile unsigned short status;
  20. volatile unsigned short length;
  21. volatile unsigned char *buf; /* WARNING: This is only true if *char is 32 bits */
  22. } QUICC_BD;
  23. #ifdef MOTOROLA_ORIGINAL
  24. struct user_data {
  25. /* BASE + 0x000: user data memory */
  26. volatile unsigned char udata_bd_ucode[0x400]; /*user data bd's Ucode*/
  27. volatile unsigned char udata_bd[0x200]; /*user data Ucode */
  28. volatile unsigned char ucode_ext[0x100]; /*Ucode Extension ram */
  29. volatile unsigned char RESERVED1[0x500]; /* Reserved area */
  30. };
  31. #else
  32. struct user_data {
  33. /* BASE + 0x000: user data memory */
  34. volatile unsigned char udata_bd_ucode[0x400]; /* user data, bds, Ucode*/
  35. volatile unsigned char udata_bd1[0x200]; /* user, bds */
  36. volatile unsigned char ucode_bd_scratch[0x100]; /* user, bds, ucode scratch */
  37. volatile unsigned char udata_bd2[0x100]; /* user, bds */
  38. volatile unsigned char RESERVED1[0x400]; /* Reserved area */
  39. };
  40. #endif
  41. /*
  42. * internal ram
  43. */
  44. typedef struct quicc {
  45. union {
  46. struct quicc32_pram ch_pram_tbl[32]; /* 32*64(bytes) per channel */
  47. struct user_data u;
  48. }ch_or_u; /* multipul or user space */
  49. /* BASE + 0xc00: PARAMETER RAM */
  50. union {
  51. struct scc_pram {
  52. union {
  53. struct hdlc_pram h;
  54. struct uart_pram u;
  55. struct bisync_pram b;
  56. struct transparent_pram t;
  57. unsigned char RESERVED66[0x70];
  58. } pscc; /* scc parameter area (protocol dependent) */
  59. union {
  60. struct {
  61. unsigned char RESERVED70[0x10];
  62. struct spi_pram spi;
  63. unsigned char RESERVED72[0x8];
  64. struct timer_pram timer;
  65. } timer_spi;
  66. struct {
  67. struct idma_pram idma;
  68. unsigned char RESERVED67[0x4];
  69. union {
  70. struct smc_uart_pram u;
  71. struct smc_trnsp_pram t;
  72. } psmc;
  73. } idma_smc;
  74. } pothers;
  75. } scc;
  76. struct ethernet_pram enet_scc;
  77. struct global_multi_pram m;
  78. unsigned char pr[0x100];
  79. } pram[4];
  80. /* reserved */
  81. /* BASE + 0x1000: INTERNAL REGISTERS */
  82. /* SIM */
  83. volatile unsigned long sim_mcr; /* module configuration reg */
  84. volatile unsigned short sim_simtr; /* module test register */
  85. volatile unsigned char RESERVED2[0x2]; /* Reserved area */
  86. volatile unsigned char sim_avr; /* auto vector reg */
  87. volatile unsigned char sim_rsr; /* reset status reg */
  88. volatile unsigned char RESERVED3[0x2]; /* Reserved area */
  89. volatile unsigned char sim_clkocr; /* CLCO control register */
  90. volatile unsigned char RESERVED62[0x3]; /* Reserved area */
  91. volatile unsigned short sim_pllcr; /* PLL control register */
  92. volatile unsigned char RESERVED63[0x2]; /* Reserved area */
  93. volatile unsigned short sim_cdvcr; /* Clock devider control register */
  94. volatile unsigned short sim_pepar; /* Port E pin assignment register */
  95. volatile unsigned char RESERVED64[0xa]; /* Reserved area */
  96. volatile unsigned char sim_sypcr; /* system protection control*/
  97. volatile unsigned char sim_swiv; /* software interrupt vector*/
  98. volatile unsigned char RESERVED6[0x2]; /* Reserved area */
  99. volatile unsigned short sim_picr; /* periodic interrupt control reg */
  100. volatile unsigned char RESERVED7[0x2]; /* Reserved area */
  101. volatile unsigned short sim_pitr; /* periodic interrupt timing reg */
  102. volatile unsigned char RESERVED8[0x3]; /* Reserved area */
  103. volatile unsigned char sim_swsr; /* software service */
  104. volatile unsigned long sim_bkar; /* breakpoint address register*/
  105. volatile unsigned long sim_bkcr; /* breakpoint control register*/
  106. volatile unsigned char RESERVED10[0x8]; /* Reserved area */
  107. /* MEMC */
  108. volatile unsigned long memc_gmr; /* Global memory register */
  109. volatile unsigned short memc_mstat; /* MEMC status register */
  110. volatile unsigned char RESERVED11[0xa]; /* Reserved area */
  111. volatile unsigned long memc_br0; /* base register 0 */
  112. volatile unsigned long memc_or0; /* option register 0 */
  113. volatile unsigned char RESERVED12[0x8]; /* Reserved area */
  114. volatile unsigned long memc_br1; /* base register 1 */
  115. volatile unsigned long memc_or1; /* option register 1 */
  116. volatile unsigned char RESERVED13[0x8]; /* Reserved area */
  117. volatile unsigned long memc_br2; /* base register 2 */
  118. volatile unsigned long memc_or2; /* option register 2 */
  119. volatile unsigned char RESERVED14[0x8]; /* Reserved area */
  120. volatile unsigned long memc_br3; /* base register 3 */
  121. volatile unsigned long memc_or3; /* option register 3 */
  122. volatile unsigned char RESERVED15[0x8]; /* Reserved area */
  123. volatile unsigned long memc_br4; /* base register 3 */
  124. volatile unsigned long memc_or4; /* option register 3 */
  125. volatile unsigned char RESERVED16[0x8]; /* Reserved area */
  126. volatile unsigned long memc_br5; /* base register 3 */
  127. volatile unsigned long memc_or5; /* option register 3 */
  128. volatile unsigned char RESERVED17[0x8]; /* Reserved area */
  129. volatile unsigned long memc_br6; /* base register 3 */
  130. volatile unsigned long memc_or6; /* option register 3 */
  131. volatile unsigned char RESERVED18[0x8]; /* Reserved area */
  132. volatile unsigned long memc_br7; /* base register 3 */
  133. volatile unsigned long memc_or7; /* option register 3 */
  134. volatile unsigned char RESERVED9[0x28]; /* Reserved area */
  135. /* TEST */