sdctrl.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:5k
源码类别:

DVD

开发平台:

C/C++

  1. //
  2. // FILE
  3. // sdctrl.h
  4. //
  5. #ifndef __SDCTRL_H
  6. #define __SDCTRL_H
  7. //
  8. // SDCTRL_CFG0      timing control #0
  9. // [xsr]    [13:10]
  10. // [mrd]    [9:8]
  11. // [rc]     [7:3]
  12. // [ras]    [3:0]
  13. //
  14. #define SDCTRL_CFG0_RAS(n)          ((n-1)<<0)
  15. #define SDCTRL_CFG0_RC(n)           ((n-1)<<3)
  16. #define SDCTRL_CFG0_MRD(n)          ((n-1)<<8)
  17. //
  18. // SDCTRL_CFG1      timing control #1
  19. // [wr]     [13:12]
  20. // [cl]     [11:10]
  21. // [rrd]    [9:8]
  22. // [rp]     [7:6]
  23. // [rcd]    [5:4]
  24. // [rfc]    [3:0]
  25. //
  26. #define SDCTRL_CFG1_RFC(n)          ((n-1)<<0)
  27. #define SDCTRL_CFG1_RCD(n)          ((n-1)<<4)
  28. #define SDCTRL_CFG1_RP(n)           ((n-1)<<6)
  29. #define SDCTRL_CFG1_RRD(n)          ((n-1)<<8)
  30. #define SDCTRL_CFG1_CL(n)           ((n-1)<<10)
  31. #define SDCTRL_CFG1_WR(n)           ((n-1)<<12)
  32. //
  33. // SDCTRL_CFG2      mrs
  34. //
  35. #define SDCTRL_CFG2_BL_1            (0x00<<0)
  36. #define SDCTRL_CFG2_BL_2            (0x01<<0)
  37. #define SDCTRL_CFG2_BL_4            (0x02<<0)
  38. #define SDCTRL_CFG2_BL_8            (0x03<<0)
  39. #define SDCTRL_CFG2_BL_FULLPAGE     (0x07<<0)
  40. #define SDCTRL_CFG2_BT_SEQUENTIAL   (0x00<<3)
  41. #define SDCTRL_CFG2_BT_INTERLEAVED  (0x01<<3)
  42. #define SDCTRL_CFG2_CL_2            (0x02<<4)
  43. #define SDCTRL_CFG2_CL_3            (0x03<<4)
  44. #define SDCTRL_CFG2_OP_NORMAL       (0x00<<7)
  45. #define SDCTRL_CFG2_BE_PROGRAMMED   (0x00<<9)
  46. #define SDCTRL_CFG2_BE_SINGLE       (0x01<<9)
  47. // 
  48. // SDCTRL_CFG3      sdram type
  49. //
  50. // [0]
  51. #define SDCTRL_CFG3_INF_32B         (0<<0)
  52. #define SDCTRL_CFG3_INF_16B         (1<<0)
  53. #if 0
  54. // [3:1]
  55. #define SDCTRL_CFG3_16MB            (0<<1)
  56. #define SDCTRL_CFG3_32MB            (1<<1)
  57. #define SDCTRL_CFG3_64MB            (2<<1)
  58. #define SDCTRL_CFG3_128MB           (3<<1)
  59. #define SDCTRL_CFG3_256MB           (4<<1)
  60. #define SDCTRL_CFG3_512MB           (5<<1)
  61. // [5:4]
  62. #define SDCTRL_CFG3_NIBBLE          (0<<4)
  63. #define SDCTRL_CFG3_BYTE            (1<<4)
  64. #define SDCTRL_CFG3_SHORT           (2<<4)
  65. #define SDCTRL_CFG3_WORD            (3<<4)
  66. #endif
  67. // [7:6]
  68. #define SDCTRL_CFG3_1PS             (0<<6)
  69. #define SDCTRL_CFG3_2PS             (1<<6)
  70. #define SDCTRL_CFG3_4PS             (2<<6)
  71. #define SDCTRL_CFG3_8PS             (3<<6)
  72. // [8]
  73. #define SDCTRL_CFG3_CKE_DIS         (0<<8)
  74. #define SDCTRL_CFG3_CKE_EN          (1<<8)
  75. // [9]
  76. #define SDCTRL_CFG3_PRERAS_EN       (0<<9)
  77. #define SDCTRL_CFG3_PRERAS_DIS      (1<<9)
  78. // [10]
  79. #define SDCTRL_CFG3_BURST_256       (0<<10)
  80. #define SDCTRL_CFG3_BURST_8         (1<<10)     
  81. #define SDCTRL_CFG4_CW(n)           ((n)<<0)            // column width 7:256 8:512 9:1024
  82. #define SDCTRL_CFG4_RW(n)           ((n)<<4)            // row width 8:512 9:1024 10:2048
  83. #define SDCTRL_CFG4_PALL(n)         ((n)<<8)            // normal at 10
  84. #define SDCTRL_CFG4_BANK4(n)        ((n)<<12)           // 0: 2-bank  1: 4-bank
  85. //
  86. // SDCTRL_SREF  (SREF)
  87. //
  88. #define SDCTRL_SREF_SEL(n)          (n & 0x3ff)         // n = 0~1023, cycle=(n<<5) + 31
  89. //
  90. // SDCTRL_AREF1
  91. //
  92. #define SDCTRL_AREF1_SEL(n)         (n & 0x3ff)         // n = 0~1023, cycle=(n<<5) + 31
  93. #define SDCTRL_AREF1_DISABLE        (0<<10)
  94. #define SDCTRL_AREF1_ENABLE         (1<<10)
  95. #define SDCTRL_AREF1_AUTOREF        (0<<11)             // normal refresh mode
  96. #define SDCTRL_AREF1_SELFREF        (1<<11)             // self-refresh mode
  97. #define SDCTRL_AREF1_REFCNT(n)      ((n-1)<<12)         // 1~4
  98. #define SDCLK                       100000000           // 100-mhz
  99. #define AREF1_SEL(clk, n)           ((156 * clk * n / 10000000) / 32)
  100. //
  101. // 720 style setting
  102. //
  103. //                  720        720  DEF
  104. #define nRASX       4       // 4    5
  105. #define nRCX        5       // 5    7
  106. #define nMRDX       2       // 2    2
  107. #define nRFCX       5       // 5    7
  108. #define nRCDX       2       // 2    2
  109. #define nRPX        2       // 2    2
  110. #define nRRDX       1       // 1    2
  111. #define nWRX        2       // 2    2
  112. #define nCLX        2       // 2    3
  113. #define SDCTRL_CFG0_VAL_720     SDCTRL_CFG0_RAS(nRASX)           
  114.                                 | SDCTRL_CFG0_RC(nRCX)           
  115.                                 | SDCTRL_CFG0_MRD(nMRDX)
  116. #define SDCTRL_CFG1_VAL_720     SDCTRL_CFG1_RFC(nRFCX)           
  117.                                 | SDCTRL_CFG1_RCD(nRCDX)         
  118.                                 | SDCTRL_CFG1_RP(nRPX)           
  119.                                 | SDCTRL_CFG1_RRD(nRRDX)         
  120.                                 | SDCTRL_CFG1_WR(nWRX)           
  121.                                 | SDCTRL_CFG1_CL(nCLX)
  122. #define SDCTRL_CFG2_VAL_720     SDCTRL_CFG2_BL_8                
  123.                                 | SDCTRL_CFG2_BT_SEQUENTIAL     
  124.                                 | SDCTRL_CFG2_OP_NORMAL         
  125.                                 | SDCTRL_CFG2_BE_PROGRAMMED     
  126.                                 | SDCTRL_CFG2_CL_2
  127. #if 0
  128. #define SDCTRL_CFG2_VAL_720     SDCTRL_CFG2_BL_FULLPAGE         
  129.                                 | SDCTRL_CFG2_BT_SEQUENTIAL     
  130.                                 | SDCTRL_CFG2_OP_NORMAL         
  131.                                 | SDCTRL_CFG2_BE_PROGRAMMED     
  132.                                 | SDCTRL_CFG2_CL_2
  133. #endif
  134. //728
  135. //L-type memory
  136. #define SDCTRL_L_TYPE_EN      (1<<12)   
  137. #define SDCTRL_L_TYPE_DIS     (0<<12)   
  138. #define SDCTRL_L_TYPE_W_128   (0<<13)   
  139. #define SDCTRL_L_TYPE_W_256   (1<<13)   
  140. #endif/*__SDCTRL_H*/