omap5xxx-bandgap.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * OMAP5xxx bandgap registers, bitfields and temperature definitions
  4. *
  5. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
  6. * Contact:
  7. * Eduardo Valentin <[email protected]>
  8. */
  9. #ifndef __OMAP5XXX_BANDGAP_H
  10. #define __OMAP5XXX_BANDGAP_H
  11. /**
  12. * *** OMAP5430 ***
  13. *
  14. * Below, in sequence, are the Register definitions,
  15. * the bitfields and the temperature definitions for OMAP5430.
  16. */
  17. /**
  18. * OMAP5430 register definitions
  19. *
  20. * Registers are defined as offsets. The offsets are
  21. * relative to FUSE_OPP_BGAP_GPU on 5430.
  22. *
  23. * Register below are grouped by domain (not necessarily in offset order)
  24. */
  25. /* OMAP5430.GPU register offsets */
  26. #define OMAP5430_FUSE_OPP_BGAP_GPU 0x0
  27. #define OMAP5430_TEMP_SENSOR_GPU_OFFSET 0x150
  28. #define OMAP5430_BGAP_THRESHOLD_GPU_OFFSET 0x1A8
  29. #define OMAP5430_BGAP_TSHUT_GPU_OFFSET 0x1B4
  30. #define OMAP5430_BGAP_DTEMP_GPU_1_OFFSET 0x1F8
  31. #define OMAP5430_BGAP_DTEMP_GPU_2_OFFSET 0x1FC
  32. /* OMAP5430.MPU register offsets */
  33. #define OMAP5430_FUSE_OPP_BGAP_MPU 0x4
  34. #define OMAP5430_TEMP_SENSOR_MPU_OFFSET 0x14C
  35. #define OMAP5430_BGAP_THRESHOLD_MPU_OFFSET 0x1A4
  36. #define OMAP5430_BGAP_TSHUT_MPU_OFFSET 0x1B0
  37. #define OMAP5430_BGAP_DTEMP_MPU_1_OFFSET 0x1E4
  38. #define OMAP5430_BGAP_DTEMP_MPU_2_OFFSET 0x1E8
  39. /* OMAP5430.MPU register offsets */
  40. #define OMAP5430_FUSE_OPP_BGAP_CORE 0x8
  41. #define OMAP5430_TEMP_SENSOR_CORE_OFFSET 0x154
  42. #define OMAP5430_BGAP_THRESHOLD_CORE_OFFSET 0x1AC
  43. #define OMAP5430_BGAP_TSHUT_CORE_OFFSET 0x1B8
  44. #define OMAP5430_BGAP_DTEMP_CORE_1_OFFSET 0x20C
  45. #define OMAP5430_BGAP_DTEMP_CORE_2_OFFSET 0x210
  46. /* OMAP5430.common register offsets */
  47. #define OMAP5430_BGAP_CTRL_OFFSET 0x1A0
  48. #define OMAP5430_BGAP_STATUS_OFFSET 0x1C8
  49. /**
  50. * Register bitfields for OMAP5430
  51. *
  52. * All the macros bellow define the required bits for
  53. * controlling temperature on OMAP5430. Bit defines are
  54. * grouped by register.
  55. */
  56. /* OMAP5430.TEMP_SENSOR */
  57. #define OMAP5430_BGAP_TEMP_SENSOR_SOC_MASK BIT(12)
  58. #define OMAP5430_BGAP_TEMPSOFF_MASK BIT(11)
  59. #define OMAP5430_BGAP_TEMP_SENSOR_EOCZ_MASK BIT(10)
  60. #define OMAP5430_BGAP_TEMP_SENSOR_DTEMP_MASK (0x3ff << 0)
  61. /* OMAP5430.BANDGAP_CTRL */
  62. #define OMAP5430_MASK_COUNTER_DELAY_MASK (0x7 << 27)
  63. #define OMAP5430_MASK_FREEZE_CORE_MASK BIT(23)
  64. #define OMAP5430_MASK_FREEZE_GPU_MASK BIT(22)
  65. #define OMAP5430_MASK_FREEZE_MPU_MASK BIT(21)
  66. #define OMAP5430_MASK_HOT_CORE_MASK BIT(5)
  67. #define OMAP5430_MASK_COLD_CORE_MASK BIT(4)
  68. #define OMAP5430_MASK_HOT_GPU_MASK BIT(3)
  69. #define OMAP5430_MASK_COLD_GPU_MASK BIT(2)
  70. #define OMAP5430_MASK_HOT_MPU_MASK BIT(1)
  71. #define OMAP5430_MASK_COLD_MPU_MASK BIT(0)
  72. /* OMAP5430.BANDGAP_COUNTER */
  73. #define OMAP5430_COUNTER_MASK (0xffffff << 0)
  74. /* OMAP5430.BANDGAP_THRESHOLD */
  75. #define OMAP5430_T_HOT_MASK (0x3ff << 16)
  76. #define OMAP5430_T_COLD_MASK (0x3ff << 0)
  77. /* OMAP5430.TSHUT_THRESHOLD */
  78. #define OMAP5430_TSHUT_HOT_MASK (0x3ff << 16)
  79. #define OMAP5430_TSHUT_COLD_MASK (0x3ff << 0)
  80. /* OMAP5430.BANDGAP_STATUS */
  81. #define OMAP5430_HOT_CORE_FLAG_MASK BIT(5)
  82. #define OMAP5430_COLD_CORE_FLAG_MASK BIT(4)
  83. #define OMAP5430_HOT_GPU_FLAG_MASK BIT(3)
  84. #define OMAP5430_COLD_GPU_FLAG_MASK BIT(2)
  85. #define OMAP5430_HOT_MPU_FLAG_MASK BIT(1)
  86. #define OMAP5430_COLD_MPU_FLAG_MASK BIT(0)
  87. /**
  88. * Temperature limits and thresholds for OMAP5430
  89. *
  90. * All the macros bellow are definitions for handling the
  91. * ADC conversions and representation of temperature limits
  92. * and thresholds for OMAP5430. Definitions are grouped
  93. * by temperature domain.
  94. */
  95. /* OMAP5430.common temperature definitions */
  96. /* ADC conversion table limits */
  97. #define OMAP5430_ADC_START_VALUE 540
  98. #define OMAP5430_ADC_END_VALUE 945
  99. /* OMAP5430.GPU temperature definitions */
  100. /* bandgap clock limits */
  101. #define OMAP5430_GPU_MAX_FREQ 1500000
  102. #define OMAP5430_GPU_MIN_FREQ 1000000
  103. /* interrupts thresholds */
  104. #define OMAP5430_GPU_TSHUT_HOT 915
  105. #define OMAP5430_GPU_TSHUT_COLD 900
  106. #define OMAP5430_GPU_T_HOT 800
  107. #define OMAP5430_GPU_T_COLD 795
  108. /* OMAP5430.MPU temperature definitions */
  109. /* bandgap clock limits */
  110. #define OMAP5430_MPU_MAX_FREQ 1500000
  111. #define OMAP5430_MPU_MIN_FREQ 1000000
  112. /* interrupts thresholds */
  113. #define OMAP5430_MPU_TSHUT_HOT 915
  114. #define OMAP5430_MPU_TSHUT_COLD 900
  115. #define OMAP5430_MPU_T_HOT 800
  116. #define OMAP5430_MPU_T_COLD 795
  117. /* OMAP5430.CORE temperature definitions */
  118. /* bandgap clock limits */
  119. #define OMAP5430_CORE_MAX_FREQ 1500000
  120. #define OMAP5430_CORE_MIN_FREQ 1000000
  121. /* interrupts thresholds */
  122. #define OMAP5430_CORE_TSHUT_HOT 915
  123. #define OMAP5430_CORE_TSHUT_COLD 900
  124. #define OMAP5430_CORE_T_HOT 800
  125. #define OMAP5430_CORE_T_COLD 795
  126. #endif /* __OMAP5XXX_BANDGAP_H */