drv_gated_clk.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #ifndef _DRV_GATED_CLK_H_
  2. #define _DRV_GATED_CLK_H_
  3. #define GATED_STOP_CLK 1
  4. #define GATED_PASS_CLK 0
  5. // HW Gated Clock Module List
  6. enum
  7. {
  8. GATED_F24MCLK_ATV=0, // 0xbe000180[0] : Stop CVD2 and TT's 24MHz Clock
  9. GATED_F24MCLK_DTV, // 0xbe000180[1] : Stop DeMUX, RAMShare and VOF's 24MHz Clock
  10. GATED_F24MCLK_YPPADC, // 0xbe000180[2] : Stop YPPADC's 24MHz Clock
  11. GATED_F24MCLK_HDMI, // 0xbe000180[3] : Stop HDMI_Logic's 24MHz Clock
  12. GATED_F24MCLK_I2CM, // 0xbe000180[4] : Stop I2C_Master's 24MHz Clock
  13. GATED_F24MCLK_USB, // 0xbe000180[5] : Stop USB's 24MHz Clock
  14. GATED_MCLK_CARDR, // 0xbe000180[6] : Stop SD-card reader's MCLK //for different chip need to check
  15. GATED_MCLK_GMAC, // 0xbe000180[7] : Stop GMAC's MCLK //for different chip need to check
  16. GATED_MCLK_ATV, // 0xbe000180[8] : Stop CVD2's MCLK
  17. GATED_MCLK_DTV, // 0xbe000180[9] : Stop DeMUX, RAMShare and VOF's MCLK
  18. GATED_MCLK_HDMI, // 0xbe000180[10] : Stop HDMI's MCLK
  19. GATED_MCLK_USB, // 0xbe000180[11] : Stop USB's MCLK
  20. GATED_DMA_CLK, // 0xbe000180[12] : DMA/CLK
  21. GATED_MCLK_BLT, // 0xbe000180[13] : Stop BLT's MCLK (control by BLT driver)
  22. GATED_MMIOCLK_YPP, // 0xbe000180[14] : Stop MMIO Clock for YPP and CVD2
  23. GATED_ICLK_VIP, // 0xbe000180[15] : Stop VIP's ICLK (only OFF in progressive mode)
  24. GATED_MMIOCLK_BLT, // 0xbe000180[16] : Stop BLT's MMIOCLK (control by BLT driver)
  25. GATED_BLTCLK_BLT, // 0xbe000180[17] : Stop BLT's BLTCLK (control by BLT driver)
  26. #if (CONFIG_CHIPID == 0x6710) || (CONFIG_CHIPID == 0x131) || (CONFIG_CHIPID == 0x533) ||(CONFIG_CHIPID == 0x8506)
  27. GATED_ECLK_AUDIO, // 0xbe000180[18] : Stop DTV's ECLK (not affect Audio_TX)
  28. #else
  29. GATED_ECLK_DTV, // 0xbe000180[18] : Stop Audio ECLK
  30. #endif
  31. GATED_PCRTSTCLK_DEMUX, // 0xbe000180[19] : Stop DeMUX's PCRTSTCLK
  32. GATED_F12MCLK_CKDET, // 0xbe000180[20] : Stop Clock_Detect's F12MCLK
  33. GATED_I2SMCK_DAMP, // 0xbe000180[21] : Stop I2SMCK Output for DAMP (by AP)
  34. GATED_TSCLK_DEMUX, // 0xbe000180[22] : Stop DeMUX's TS_CLK
  35. GATED_CVD2_VDCLK, // 0xbe000180[23] : Stop CVD2's VDCLK
  36. GATED_36MCLK_SIFAFE, // 0xbe000180[24] : Stop SIFAFE's 36MCLK
  37. GATED_36MCLK_SIFDEC, // 0xbe000180[25] : Stop SIF_Decoder's 36MCLK
  38. GATED_DVCLK_YPPADC, // 0xbe000180[26] : Stop ResyncFIFO, VIP's DVCLK
  39. GATED_USB_CLKDR, // 0xbe000180[27] : Stop USB11's DRCLK
  40. GATED_USB_CLK12, // 0xbe000180[28] : Stop USB11's 12MHz Clock
  41. GATED_USB_CLK120, // 0xbe000180[29] : Stop USB20's 120MHz Clock
  42. GATED_USB_CLK30, // 0xbe000180[30] : Stop USB20's 30MHz Clock
  43. GATED_USB_CLK48, // 0xbe000180[31] : Stop USB_UTMI 48MHz Clock
  44. GATED_VCLK_DTV, // 0xbe000184[0] : Stop H264.VCLK Clock
  45. GATED_NFCLK, // 0xbe000184[1] : Stop NFC's (NAND-Flash Controller) Clock
  46. #if (CONFIG_CHIPID == 0x8506)
  47. GATED_F24MCLK_HUM, // 0xbe000184[2]
  48. #else
  49. GATED_BCRCLK, // 0xbe000184[2] : Stop BCR's (Bootable Card-Reader) Clock
  50. #endif
  51. GATED_ADMOD1M_CLK, // 0xbe000184[3] : ...
  52. GATED_ADMOD49M_CLK, // 0xbe000184[4] : ...
  53. GATED_DMAFE49M_CLK, // 0xbe000184[5] : ...
  54. GATED_DMAFE36M_CLK, // 0xbe000184[6] : ...
  55. #if (CONFIG_CHIPID == 0x8506)
  56. GATED_MCLK_HUM, // 0xbe000184[7] : ...
  57. #else
  58. GATED_MCLK_UCCP, // 0xbe000184[7] : ...
  59. #endif
  60. GATED_CRACLK, // 0xbe000184[8] : Stop CRA's (Card-Reader A) Clock
  61. GATED_GMACGRX_INV_CLK, // 0xbe000184[9] : ...
  62. GATED_GMACGTX_CLK, // 0xbe000184[10] : ...
  63. GATED_GMACGRX_CLK, // 0xbe000184[11] : ...
  64. GATED_GMACTX_CLK, // 0xbe000184[12] : ...
  65. GATED_GMACRX_CLK, // 0xbe000184[13] : ...
  66. GATED_MMIOCLK_CA, // 0xbe000184[14] : Stop CA's MMIO Clock
  67. GATED_MCLK_CA, // 0xbe000184[15] : Stop CA's MCLK
  68. GATED_MCLK_NFC, // 0xbe000184[16] : Stop NFC's MCLK
  69. GATED_RESERVED17, // 0xbe000184[17] : For 9565 only; 3D-Graphic clock
  70. GATED_RESERVED18, // 0xbe000184[18] : For 9565 only; 3D-Graphic clock
  71. GATED_DMOD_CLK, // 0xbe000184[19] : ...
  72. GATED_MCLK_CSI, // 0xbe000184[20] : ...
  73. GATED_VENC_MAINCLK, // 0xbe000184[21] : ...
  74. GATED_VENC_MEMCLK, // 0xbe000184[22] : ...
  75. GATED_VENC_SYSCLK, // 0xbe000184[23] : ...
  76. GATED_F24MCLK_DTVCIP, // 0xbe000184[24] : ...
  77. GATED_F24MCLK_DTVPARSER, // 0xbe000184[25] : ...
  78. GATED_F24MCLK_DTVPS, // 0xbe000184[26] : ...
  79. GATED_F24MCLK_DTVREC, // 0xbe000184[27] : ...
  80. GATED_MCLK_DTVPS, // 0xbe000184[28] : ...
  81. GATED_MCLK_DTVREC, // 0xbe000184[29] : ...
  82. GATED_MCLK_VENC, // 0xbe000184[30] : ...
  83. GATED_F24MCLK_DEMOD, // 0xbe000184[31] : ...
  84. GATED_CLK_MAX
  85. };
  86. enum
  87. {
  88. CPUACLK,
  89. CPUBCLK,
  90. MMIOCLK,
  91. MCLK,
  92. X2ICLK,
  93. BLKCLK,
  94. SPICLK,
  95. ECLK,
  96. YPP200MCLK,
  97. URCLK,
  98. DMODCLK,
  99. ADMOD49MCLK,
  100. AUADCCLK,
  101. AU36MCLK,
  102. AUBRCLK,
  103. PREPLL_CLK,
  104. CPLL_CLK,
  105. CLK_MAX
  106. };
  107. void drv_gated_clk_ctrl(unsigned int gated_pin, unsigned int ctrl); // control gated clock bits in 0xbe000180
  108. #define drv_gated_clk_ctrl2 drv_gated_clk_ctrl
  109. //void drv_gated_clk_ctrl2(unsigned int gated_pin, unsigned int ctrl); // control gated clock bits in 0xbe000184
  110. void drv_gated_spiclk_ctrl(unsigned int ctrl); // Stop SPI's Clock (AUX)
  111. void drv_gated_pcclk_ctrl(unsigned int ctrl); // Stop CPU Performance Counter's Clock (AUX)
  112. void drv_gated_uartclk_ctrl(unsigned int ctrl); // Stop UART's Clock (AUX)
  113. void drv_gated_cecclk_ctrl(unsigned int ctrl); // Stop CEC's Clock (AUX)
  114. void drv_gated_hdmi_tmdsclk_ctrl(unsigned int ctrl); // Stop HDMI_TMDS_CLK
  115. unsigned int drv_get_device_clock(int device_id);
  116. #endif //_DRV_GATED_CLK_H_