sdram.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * (C) Copyright 2006
  3. * Stefan Roese, DENX Software Engineering, sr@denx.de.
  4. *
  5. * (C) Copyright 2006
  6. * DAVE Srl <www.dave-tech.it>
  7. *
  8. * SPDX-License-Identifier: GPL-2.0+
  9. */
  10. #ifndef _SDRAM_H_
  11. #define _SDRAM_H_
  12. #include <config.h>
  13. #define ONE_BILLION 1000000000
  14. struct sdram_conf_s {
  15. unsigned long size;
  16. int rows;
  17. unsigned long reg;
  18. };
  19. typedef struct sdram_conf_s sdram_conf_t;
  20. /* Bitfields offsets */
  21. #define SDRAM0_TR_CASL (31 - 8)
  22. #define SDRAM0_TR_PTA (31 - 13)
  23. #define SDRAM0_TR_CTP (31 - 15)
  24. #define SDRAM0_TR_LDF (31 - 17)
  25. #define SDRAM0_TR_RFTA (31 - 29)
  26. #define SDRAM0_TR_RCD (31 - 31)
  27. #ifdef CONFIG_SYS_SDRAM_CL
  28. /* SDRAM timings [ns] according to AMCC/IBM names (see SDRAM_faq.doc) */
  29. #define CONFIG_SYS_SDRAM_CASL CONFIG_SYS_SDRAM_CL
  30. #define CONFIG_SYS_SDRAM_PTA CONFIG_SYS_SDRAM_tRP
  31. #define CONFIG_SYS_SDRAM_CTP (CONFIG_SYS_SDRAM_tRC - CONFIG_SYS_SDRAM_tRCD - CONFIG_SYS_SDRAM_tRP)
  32. #define CONFIG_SYS_SDRAM_LDF 0
  33. #ifdef CONFIG_SYS_SDRAM_tRFC
  34. #define CONFIG_SYS_SDRAM_RFTA CONFIG_SYS_SDRAM_tRFC
  35. #else
  36. #define CONFIG_SYS_SDRAM_RFTA CONFIG_SYS_SDRAM_tRC
  37. #endif
  38. #define CONFIG_SYS_SDRAM_RCD CONFIG_SYS_SDRAM_tRCD
  39. #endif /* #ifdef CONFIG_SYS_SDRAM_CL */
  40. /*
  41. * Some defines for the 440 DDR controller
  42. */
  43. #define SDRAM_CFG0_DC_EN 0x80000000 /* SDRAM Controller Enable */
  44. #define SDRAM_CFG0_MEMCHK 0x30000000 /* Memory data error checking mask*/
  45. #define SDRAM_CFG0_MEMCHK_NON 0x00000000 /* No ECC generation */
  46. #define SDRAM_CFG0_MEMCHK_GEN 0x20000000 /* ECC generation */
  47. #define SDRAM_CFG0_MEMCHK_CHK 0x30000000 /* ECC generation and checking */
  48. #define SDRAM_CFG0_DRAMWDTH 0x02000000 /* DRAM width mask */
  49. #define SDRAM_CFG0_DRAMWDTH_32 0x00000000 /* 32 bits */
  50. #define SDRAM_CFG0_DRAMWDTH_64 0x02000000 /* 64 bits */
  51. #endif