exynos_dp.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*
  2. * Samsung SoC DP device support
  3. *
  4. * Copyright (C) 2012 Samsung Electronics Co., Ltd.
  5. * Author: Jingoo Han <jg1.han@samsung.com>
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #ifndef _EXYNOS_DP_H
  12. #define _EXYNOS_DP_H
  13. #define DP_TIMEOUT_LOOP_COUNT 100
  14. #define MAX_CR_LOOP 5
  15. #define MAX_EQ_LOOP 4
  16. enum link_rate_type {
  17. LINK_RATE_1_62GBPS = 0x06,
  18. LINK_RATE_2_70GBPS = 0x0a
  19. };
  20. enum link_lane_count_type {
  21. LANE_COUNT1 = 1,
  22. LANE_COUNT2 = 2,
  23. LANE_COUNT4 = 4
  24. };
  25. enum link_training_state {
  26. START,
  27. CLOCK_RECOVERY,
  28. EQUALIZER_TRAINING,
  29. FINISHED,
  30. FAILED
  31. };
  32. enum voltage_swing_level {
  33. VOLTAGE_LEVEL_0,
  34. VOLTAGE_LEVEL_1,
  35. VOLTAGE_LEVEL_2,
  36. VOLTAGE_LEVEL_3,
  37. };
  38. enum pre_emphasis_level {
  39. PRE_EMPHASIS_LEVEL_0,
  40. PRE_EMPHASIS_LEVEL_1,
  41. PRE_EMPHASIS_LEVEL_2,
  42. PRE_EMPHASIS_LEVEL_3,
  43. };
  44. enum pattern_set {
  45. PRBS7,
  46. D10_2,
  47. TRAINING_PTN1,
  48. TRAINING_PTN2,
  49. DP_NONE
  50. };
  51. enum color_space {
  52. COLOR_RGB,
  53. COLOR_YCBCR422,
  54. COLOR_YCBCR444
  55. };
  56. enum color_depth {
  57. COLOR_6,
  58. COLOR_8,
  59. COLOR_10,
  60. COLOR_12
  61. };
  62. enum color_coefficient {
  63. COLOR_YCBCR601,
  64. COLOR_YCBCR709
  65. };
  66. enum dynamic_range {
  67. VESA,
  68. CEA
  69. };
  70. enum pll_status {
  71. PLL_UNLOCKED,
  72. PLL_LOCKED
  73. };
  74. enum clock_recovery_m_value_type {
  75. CALCULATED_M,
  76. REGISTER_M
  77. };
  78. enum video_timing_recognition_type {
  79. VIDEO_TIMING_FROM_CAPTURE,
  80. VIDEO_TIMING_FROM_REGISTER
  81. };
  82. enum analog_power_block {
  83. AUX_BLOCK,
  84. CH0_BLOCK,
  85. CH1_BLOCK,
  86. CH2_BLOCK,
  87. CH3_BLOCK,
  88. ANALOG_TOTAL,
  89. POWER_ALL
  90. };
  91. struct video_info {
  92. char *name;
  93. bool h_sync_polarity;
  94. bool v_sync_polarity;
  95. bool interlaced;
  96. enum color_space color_space;
  97. enum dynamic_range dynamic_range;
  98. enum color_coefficient ycbcr_coeff;
  99. enum color_depth color_depth;
  100. enum link_rate_type link_rate;
  101. enum link_lane_count_type lane_count;
  102. };
  103. struct exynos_dp_platdata {
  104. struct video_info *video_info;
  105. void (*phy_init)(void);
  106. void (*phy_exit)(void);
  107. };
  108. #endif /* _EXYNOS_DP_H */