sdram.h
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:8k
源码类别:

DVD

开发平台:

C/C++

  1. // 
  2. // FILE
  3. // sdram.h
  4. //
  5. // SDRAM interface timing setting
  6. // used in init0.S
  7. //
  8. //
  9. // the way to define SDRAM parameter:
  10. //
  11. // non-bypass mode:
  12. // please define 
  13. // #define CFG_SDRAM_OUT     CFGOUT(a,b)
  14. // #define CFG_SDRAM_IN      CFGIN0(c,d)
  15. // #define CFG_SDRAM_IN_DLY  CFGIN0(0,0,0)
  16. // #define CFG_SDRAM_PADCTRL 0x****
  17. //
  18. // bypass mode:
  19. // #define CFG_SDRAM_OUT     CFGOUT(a,b)
  20. // #define CFG_SDRAM_IN      CFGIN0(0,0)         /* no-use */
  21. // #define CFG_SDRAM_IN_DLY  CFGIN0(1,c,d)
  22. // #define CFG_SDRAM_PADCTRL 0x****
  23. //
  24. // You can SDRAM test result to setup (a,b,c,d)
  25. // 
  26. // (a,b) defines the output interface delay.
  27. // b -> output interface clock select.
  28. // a -> extra inserted delay with respect to the selected clock source
  29. // (b=0) will choose the invert of system clock.
  30. // usually we choose (b=0).  choose a minimum value with margin for (a) 
  31. //
  32. // (c,d) defines the input interface clock delay.
  33. // d -> input interface clock select.
  34. // c -> extra inserted delay with respect to the selected clock source
  35. // (d=1) will choose the system clock.
  36. // usually we choose (d=1).  choose a minimum value with margin for (c) 
  37. //
  38. // For example, if test sdram testing result is:
  39. // >> sdram_test config  OUT 0002-0000 IN 0005-0001 passed
  40. // then, a=2,b=0,c=5,d=1
  41. // and in this file you should define:
  42. // #define CFG_SDRAM_OUT     CFGOUT(2,0)
  43. // #define CFG_SDRAM_IN      CFGIN0(5,1)
  44. //
  45. //
  46. #define CFGOUT(dly, mode)           (((dly)<<3)|(mode))
  47. #define CFGIN0(dly, mode)           (((dly)<<3)|(mode))
  48. #define CFGIN1(dly, mode, bypass)   (((bypass)<<7)|((dly)<<3)|(mode))
  49. #ifdef SPHE1000
  50.     #define CFG_SDRAM_OUT       CFGOUT(1,0)
  51.     #define CFG_SDRAM_IN        CFGIN0(3,1)
  52.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  53.     #define CFG_SDRAM_PADCTRL   (0x565A)    
  54. #else
  55. #if     defined(EMU_216_SOCKET_STD_CORNER)
  56.     // 216-pin socket
  57.      #ifdef IC_8202_B    ////kenny 2004/4/21
  58.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  59.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  60.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  61.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  62.     #else
  63.     #define CFG_SDRAM_OUT       CFGOUT(3,0)
  64.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  65.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)       // no-bypass
  66.     #define CFG_SDRAM_PADCTRL   (0xFFFF)
  67.     #endif
  68. #elif   defined(EMU_216_SOCKET_FAST_CORNER)    
  69. #ifdef IC_8202_B    ////kenny 2004/4/21
  70.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  71.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  72.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  73.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  74.     #else
  75.     #define CFG_SDRAM_OUT       CFGOUT(5,0)    
  76.     #define CFG_SDRAM_IN        CFGIN0(6,1)
  77.     #define CFG_SDRAM_IN_DLY    CFGIN1(1,4,1)    // bypass
  78.     #define CFG_SDRAM_PADCTRL   (0x555B)
  79.     #endif
  80.     
  81. #elif   defined(EMU_216_REAL_FAST_CORNER)
  82.     // 216-pin EMU PCB for real chip
  83. #ifdef IC_8202_B    //terry,2004/4/8 03:58PM
  84.     //#define CFG_SDRAM_OUT       CFGOUT(3,0)
  85.     //#define CFG_SDRAM_IN        CFGIN0(0,6)
  86.     //#define CFG_SDRAM_IN_DLY    CFGIN1(3,1,1)       // no-bypass
  87.     //#define CFG_SDRAM_PADCTRL   (0xaaFF)
  88.     
  89.     #define CFG_SDRAM_OUT       CFGOUT(4,0) //kenny 2004/4/21
  90.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  91.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  92.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  93.   #else
  94.     #define CFG_SDRAM_OUT       CFGOUT(2,0)
  95.     #define CFG_SDRAM_IN        CFGIN0(0,6)
  96.     #define CFG_SDRAM_IN_DLY    CFGIN1(4,1,1)       // no-bypass
  97.     #define CFG_SDRAM_PADCTRL   (0xaaFF)
  98.   #endif
  99.     
  100. #elif   defined(EMU_216_REAL_STD_CORNER)
  101.     // 216-pin EMU PCB for real chip
  102.     #define CFG_SDRAM_OUT       CFGOUT(2,0) //2002/2/24
  103.     #define CFG_SDRAM_IN        CFGIN0(4,1)
  104.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)   // no-bypass
  105.     #define CFG_SDRAM_PADCTRL   (0xAAFF)
  106. #elif   defined(EMU_256_SHARE_SOCKET_FAST_CORNER)
  107.     // 256-pin socket
  108.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  109.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  110.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  111.     #define CFG_SDRAM_PADCTRL   (0xAAAF)          
  112. #elif   defined(EMU_256_SHARE_SOCKET_STD_CORNER)
  113.     // 256-pin socket
  114.     #ifdef IC_8202_B    ////kenny 2004/4/21
  115.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  116.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  117.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  118.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  119.     #else
  120.     #define CFG_SDRAM_OUT       CFGOUT(4,0)    //kenny 2004/2/13
  121.     #define CFG_SDRAM_IN        CFGIN0(4,1)
  122.     #define CFG_SDRAM_IN_DLY    CFGIN1(1,4,1)    // bypass
  123.     #define CFG_SDRAM_PADCTRL   (0x555B)
  124. #endif
  125. #elif   defined(MP_BOARD_256_NON_SHARE_STD_CORNER)
  126.      // 256-pin non-shared
  127.      
  128.     #define CFG_SDRAM_OUT_PS21       CFGOUT(2,0)
  129.     #define CFG_SDRAM_IN_PS21        CFGIN0(1,6)
  130.     #define CFG_SDRAM_IN_DLY_PS21    CFGIN1(0,0,0)       // no-bypass
  131.     #define CFG_SDRAM_PADCTRL_PS21   (0x555A)
  132.     
  133. #ifdef IC_8202E      //8202E                 //chyeh 2005/01/05
  134.         #define CFG_SDRAM_OUT       CFGOUT(2,0)
  135.         #define CFG_SDRAM_IN        CFGIN0(2,1)
  136.         #define CFG_SDRAM_IN_DLY    CFGIN1(4,1,1)    // bypass
  137.         #define CFG_SDRAM_PADCTRL   (0x4444) 
  138.            
  139. #else        //8202X
  140.         #define CFG_SDRAM_OUT       CFGOUT(2,0)
  141.         #define CFG_SDRAM_IN        CFGIN0(2,1)
  142.         #define CFG_SDRAM_IN_DLY    CFGIN1(1,4,1)       // bypass
  143.         #define CFG_SDRAM_PADCTRL   (0x555B)
  144. #endif   
  145. #elif   defined(MP_BOARD_216_PIN_STD_CORNER)
  146.     // 216-pin PP PCB
  147.     #define CFG_SDRAM_OUT_PS21       CFGOUT(2,0)
  148.     #define CFG_SDRAM_IN_PS21        CFGIN0(1,6)
  149.     #define CFG_SDRAM_IN_DLY_PS21    CFGIN1(0,0,0)       // no-bypass
  150.     #define CFG_SDRAM_PADCTRL_PS21   (0x555A)
  151.     
  152.     #ifdef IC_8202_B    ////kenny 2004/4/21
  153.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  154.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  155.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  156.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  157.     #else    
  158.     #define CFG_SDRAM_OUT       CFGOUT(2,0) //2002/2/24
  159.     #define CFG_SDRAM_IN        CFGIN0(4,1)
  160.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)       // no-bypass
  161.     #define CFG_SDRAM_PADCTRL   (0xAAFF)
  162.     #endif
  163. #elif   defined(MP_BOARD_216_PIN_FAST_CORNER)
  164.     // 216-pin PP PCB
  165.     #ifdef IC_8202_B    ////kenny 2004/4/21
  166.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  167.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  168.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  169.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  170.     #else
  171.     #define CFG_SDRAM_OUT       CFGOUT(3,0) //2002/2/24
  172.     #define CFG_SDRAM_IN        CFGIN0(5,1)
  173.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)       // no-bypass
  174.     #define CFG_SDRAM_PADCTRL   (0xAAFF)
  175.     #endif
  176. #elif   defined(MP_BOARD_256_SHARE_STD_CORNER)
  177.     // 256-pin PP PCB share mode
  178.     #ifdef IC_8202_B    ////kenny 2004/4/21
  179.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  180.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  181.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  182.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  183.     #else
  184.     #define CFG_SDRAM_OUT       CFGOUT(3,0)
  185.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  186.     #define CFG_SDRAM_IN_DLY    CFGIN1(1,4,1)       // bypass
  187.     #define CFG_SDRAM_PADCTRL   (0x555B)
  188.     #endif
  189.     
  190. #else
  191.     #ifdef IC_8202_B    ////kenny 2004/4/21
  192.     #define CFG_SDRAM_OUT       CFGOUT(4,0)
  193.     #define CFG_SDRAM_IN        CFGIN0(2,1)
  194.     #define CFG_SDRAM_IN_DLY    CFGIN1(0,0,0)    // bypass
  195.     #define CFG_SDRAM_PADCTRL   (0xAAAF)    
  196.     #else
  197.     #define CFG_SDRAM_OUT       CFGOUT(2,0)
  198.     #define CFG_SDRAM_IN        CFGIN0(0,6)
  199.     #define CFG_SDRAM_IN_DLY    CFGIN1(4,1,1)       // no-bypass
  200.     #define CFG_SDRAM_PADCTRL   (0xaaFF)
  201.     #endif
  202. #endif
  203. #ifndef CFG_SDRAM_OUT_PS21
  204.     #define CFG_SDRAM_OUT_PS21       CFGOUT(2,0)
  205.     #define CFG_SDRAM_IN_PS21        CFGIN0(1,6)
  206.     #define CFG_SDRAM_IN_DLY_PS21    CFGIN1(0,0,0)       // no-bypass
  207.     #define CFG_SDRAM_PADCTRL_PS21   (0x555A)
  208. #endif
  209. #endif // SPHE1000