grph_object_defs.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /*
  2. * Copyright 2012-15 Advanced Micro Devices, Inc.
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a
  5. * copy of this software and associated documentation files (the "Software"),
  6. * to deal in the Software without restriction, including without limitation
  7. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8. * and/or sell copies of the Software, and to permit persons to whom the
  9. * Software is furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  17. * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  18. * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  19. * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  20. * OTHER DEALINGS IN THE SOFTWARE.
  21. *
  22. * Authors: AMD
  23. *
  24. */
  25. #ifndef __DAL_GRPH_OBJECT_DEFS_H__
  26. #define __DAL_GRPH_OBJECT_DEFS_H__
  27. #include "grph_object_id.h"
  28. /* ********************************************************************
  29. * ********************************************************************
  30. *
  31. * These defines shared between All Graphics Objects
  32. *
  33. * ********************************************************************
  34. * ********************************************************************
  35. */
  36. /* HPD unit id - HW direct translation */
  37. enum hpd_source_id {
  38. HPD_SOURCEID1 = 0,
  39. HPD_SOURCEID2,
  40. HPD_SOURCEID3,
  41. HPD_SOURCEID4,
  42. HPD_SOURCEID5,
  43. HPD_SOURCEID6,
  44. HPD_SOURCEID_COUNT,
  45. HPD_SOURCEID_UNKNOWN
  46. };
  47. /* DDC unit id - HW direct translation */
  48. enum channel_id {
  49. CHANNEL_ID_UNKNOWN = 0,
  50. CHANNEL_ID_DDC1,
  51. CHANNEL_ID_DDC2,
  52. CHANNEL_ID_DDC3,
  53. CHANNEL_ID_DDC4,
  54. CHANNEL_ID_DDC5,
  55. CHANNEL_ID_DDC6,
  56. CHANNEL_ID_DDC_VGA,
  57. CHANNEL_ID_I2C_PAD,
  58. CHANNEL_ID_COUNT
  59. };
  60. #define DECODE_CHANNEL_ID(ch_id) \
  61. (ch_id) == CHANNEL_ID_DDC1 ? "CHANNEL_ID_DDC1" : \
  62. (ch_id) == CHANNEL_ID_DDC2 ? "CHANNEL_ID_DDC2" : \
  63. (ch_id) == CHANNEL_ID_DDC3 ? "CHANNEL_ID_DDC3" : \
  64. (ch_id) == CHANNEL_ID_DDC4 ? "CHANNEL_ID_DDC4" : \
  65. (ch_id) == CHANNEL_ID_DDC5 ? "CHANNEL_ID_DDC5" : \
  66. (ch_id) == CHANNEL_ID_DDC6 ? "CHANNEL_ID_DDC6" : \
  67. (ch_id) == CHANNEL_ID_DDC_VGA ? "CHANNEL_ID_DDC_VGA" : \
  68. (ch_id) == CHANNEL_ID_I2C_PAD ? "CHANNEL_ID_I2C_PAD" : "Invalid"
  69. enum transmitter {
  70. TRANSMITTER_UNKNOWN = (-1L),
  71. TRANSMITTER_UNIPHY_A,
  72. TRANSMITTER_UNIPHY_B,
  73. TRANSMITTER_UNIPHY_C,
  74. TRANSMITTER_UNIPHY_D,
  75. TRANSMITTER_UNIPHY_E,
  76. TRANSMITTER_UNIPHY_F,
  77. TRANSMITTER_NUTMEG_CRT,
  78. TRANSMITTER_TRAVIS_CRT,
  79. TRANSMITTER_TRAVIS_LCD,
  80. TRANSMITTER_UNIPHY_G,
  81. TRANSMITTER_COUNT
  82. };
  83. /* Generic source of the synchronisation input/output signal */
  84. /* Can be used for flow control, stereo sync, timing sync, frame sync, etc */
  85. enum sync_source {
  86. SYNC_SOURCE_NONE = 0,
  87. /* Source based on controllers */
  88. SYNC_SOURCE_CONTROLLER0,
  89. SYNC_SOURCE_CONTROLLER1,
  90. SYNC_SOURCE_CONTROLLER2,
  91. SYNC_SOURCE_CONTROLLER3,
  92. SYNC_SOURCE_CONTROLLER4,
  93. SYNC_SOURCE_CONTROLLER5,
  94. /* Source based on GSL group */
  95. SYNC_SOURCE_GSL_GROUP0,
  96. SYNC_SOURCE_GSL_GROUP1,
  97. SYNC_SOURCE_GSL_GROUP2,
  98. /* Source based on GSL IOs */
  99. /* These IOs normally used as GSL input/output */
  100. SYNC_SOURCE_GSL_IO_FIRST,
  101. SYNC_SOURCE_GSL_IO_GENLOCK_CLOCK = SYNC_SOURCE_GSL_IO_FIRST,
  102. SYNC_SOURCE_GSL_IO_GENLOCK_VSYNC,
  103. SYNC_SOURCE_GSL_IO_SWAPLOCK_A,
  104. SYNC_SOURCE_GSL_IO_SWAPLOCK_B,
  105. SYNC_SOURCE_GSL_IO_LAST = SYNC_SOURCE_GSL_IO_SWAPLOCK_B,
  106. /* Source based on regular IOs */
  107. SYNC_SOURCE_IO_FIRST,
  108. SYNC_SOURCE_IO_GENERIC_A = SYNC_SOURCE_IO_FIRST,
  109. SYNC_SOURCE_IO_GENERIC_B,
  110. SYNC_SOURCE_IO_GENERIC_C,
  111. SYNC_SOURCE_IO_GENERIC_D,
  112. SYNC_SOURCE_IO_GENERIC_E,
  113. SYNC_SOURCE_IO_GENERIC_F,
  114. SYNC_SOURCE_IO_HPD1,
  115. SYNC_SOURCE_IO_HPD2,
  116. SYNC_SOURCE_IO_HSYNC_A,
  117. SYNC_SOURCE_IO_VSYNC_A,
  118. SYNC_SOURCE_IO_HSYNC_B,
  119. SYNC_SOURCE_IO_VSYNC_B,
  120. SYNC_SOURCE_IO_LAST = SYNC_SOURCE_IO_VSYNC_B,
  121. /* Misc. flow control sources */
  122. SYNC_SOURCE_DUAL_GPU_PIN
  123. };
  124. #endif