ddr3_training_ip_db.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) Marvell International Ltd. and its affiliates
  4. */
  5. #ifndef _DDR3_TRAINING_IP_DB_H_
  6. #define _DDR3_TRAINING_IP_DB_H_
  7. enum hws_pattern {
  8. PATTERN_PBS1,
  9. PATTERN_PBS2,
  10. PATTERN_PBS3,
  11. PATTERN_TEST,
  12. PATTERN_RL,
  13. PATTERN_RL2,
  14. PATTERN_STATIC_PBS,
  15. PATTERN_KILLER_DQ0,
  16. PATTERN_KILLER_DQ1,
  17. PATTERN_KILLER_DQ2,
  18. PATTERN_KILLER_DQ3,
  19. PATTERN_KILLER_DQ4,
  20. PATTERN_KILLER_DQ5,
  21. PATTERN_KILLER_DQ6,
  22. PATTERN_KILLER_DQ7,
  23. PATTERN_VREF,
  24. PATTERN_FULL_SSO0,
  25. PATTERN_FULL_SSO1,
  26. PATTERN_FULL_SSO2,
  27. PATTERN_FULL_SSO3,
  28. PATTERN_LAST,
  29. PATTERN_SSO_FULL_XTALK_DQ0,
  30. PATTERN_SSO_FULL_XTALK_DQ1,
  31. PATTERN_SSO_FULL_XTALK_DQ2,
  32. PATTERN_SSO_FULL_XTALK_DQ3,
  33. PATTERN_SSO_FULL_XTALK_DQ4,
  34. PATTERN_SSO_FULL_XTALK_DQ5,
  35. PATTERN_SSO_FULL_XTALK_DQ6,
  36. PATTERN_SSO_FULL_XTALK_DQ7,
  37. PATTERN_SSO_XTALK_FREE_DQ0,
  38. PATTERN_SSO_XTALK_FREE_DQ1,
  39. PATTERN_SSO_XTALK_FREE_DQ2,
  40. PATTERN_SSO_XTALK_FREE_DQ3,
  41. PATTERN_SSO_XTALK_FREE_DQ4,
  42. PATTERN_SSO_XTALK_FREE_DQ5,
  43. PATTERN_SSO_XTALK_FREE_DQ6,
  44. PATTERN_SSO_XTALK_FREE_DQ7,
  45. PATTERN_ISI_XTALK_FREE
  46. };
  47. enum mv_wl_supp_mode {
  48. WRITE_LEVELING_SUPP_REG_MODE,
  49. WRITE_LEVELING_SUPP_ECC_MODE_DATA_PUPS,
  50. WRITE_LEVELING_SUPP_ECC_MODE_ECC_PUP4,
  51. WRITE_LEVELING_SUPP_ECC_MODE_ECC_PUP3,
  52. WRITE_LEVELING_SUPP_ECC_MODE_ECC_PUP8
  53. };
  54. enum mv_ddr_dev_attribute {
  55. MV_ATTR_TIP_REV,
  56. MV_ATTR_PHY_EDGE,
  57. MV_ATTR_OCTET_PER_INTERFACE,
  58. MV_ATTR_PLL_BEFORE_INIT,
  59. MV_ATTR_TUNE_MASK,
  60. MV_ATTR_INIT_FREQ,
  61. MV_ATTR_MID_FREQ,
  62. MV_ATTR_DFS_LOW_FREQ,
  63. MV_ATTR_DFS_LOW_PHY,
  64. MV_ATTR_DELAY_ENABLE,
  65. MV_ATTR_CK_DELAY,
  66. MV_ATTR_CA_DELAY,
  67. MV_ATTR_INTERLEAVE_WA,
  68. MV_ATTR_LAST
  69. };
  70. enum mv_ddr_tip_revison {
  71. MV_TIP_REV_NA,
  72. MV_TIP_REV_1, /* NP5 */
  73. MV_TIP_REV_2, /* BC2 */
  74. MV_TIP_REV_3, /* AC3 */
  75. MV_TIP_REV_4, /* A-380/A-390 */
  76. MV_TIP_REV_LAST
  77. };
  78. enum mv_ddr_phy_edge {
  79. MV_DDR_PHY_EDGE_POSITIVE,
  80. MV_DDR_PHY_EDGE_NEGATIVE
  81. };
  82. /* Device attribute functions */
  83. void ddr3_tip_dev_attr_init(u32 dev_num);
  84. u32 ddr3_tip_dev_attr_get(u32 dev_num, enum mv_ddr_dev_attribute attr_id);
  85. void ddr3_tip_dev_attr_set(u32 dev_num, enum mv_ddr_dev_attribute attr_id, u32 value);
  86. #endif /* _DDR3_TRAINING_IP_DB_H_ */