hal_mbus.c 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /* Copyright (c) 2019-2025 Allwinner Technology Co., Ltd. ALL rights reserved.
  2. * Allwinner is a trademark of Allwinner Technology Co.,Ltd., registered in
  3. * the the People's Republic of China and other countries.
  4. * All Allwinner Technology Co.,Ltd. trademarks are used with permission.
  5. * DISCLAIMER
  6. * THIRD PARTY LICENCES MAY BE REQUIRED TO IMPLEMENT THE SOLUTION/PRODUCT.
  7. * IF YOU NEED TO INTEGRATE THIRD PARTY¡¯S TECHNOLOGY (SONY, DTS, DOLBY, AVS OR MPEGLA, ETC.)
  8. * IN ALLWINNERS¡¯SDK OR PRODUCTS, YOU SHALL BE SOLELY RESPONSIBLE TO OBTAIN
  9. * ALL APPROPRIATELY REQUIRED THIRD PARTY LICENCES.
  10. * ALLWINNER SHALL HAVE NO WARRANTY, INDEMNITY OR OTHER OBLIGATIONS WITH RESPECT TO MATTERS
  11. * COVERED UNDER ANY REQUIRED THIRD PARTY LICENSE.
  12. * YOU ARE SOLELY RESPONSIBLE FOR YOUR USAGE OF THIRD PARTY¡¯S TECHNOLOGY.
  13. * THIS SOFTWARE IS PROVIDED BY ALLWINNER"AS IS" AND TO THE MAXIMUM EXTENT
  14. * PERMITTED BY LAW, ALLWINNER EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND,
  15. * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION REGARDING
  16. * THE TITLE, NON-INFRINGEMENT, ACCURACY, CONDITION, COMPLETENESS, PERFORMANCE
  17. * OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18. * IN NO EVENT SHALL ALLWINNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  19. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  20. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  21. * LOSS OF USE, DATA, OR PROFITS, OR BUSINESS INTERRUPTION)
  22. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  23. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  24. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  25. * OF THE POSSIBILITY OF SUCH DAMAGE.
  26. */
  27. #include <stdint.h>
  28. #include <stdio.h>
  29. #include "sunxi_hal_mbus.h"
  30. #include "mbus.h"
  31. hal_mbus_status_t hal_mbus_pmu_get_value(enum mbus_pmu type, unsigned int *value)
  32. {
  33. switch (type) {
  34. case MBUS_PMU_CPU :
  35. *value = mbus_get_cpu_ddr();
  36. break;
  37. case MBUS_PMU_GPU :
  38. *value = mbus_get_gpu_ddr();
  39. break;
  40. case MBUS_PMU_VE :
  41. *value = mbus_get_ve_ddr();
  42. break;
  43. case MBUS_PMU_DISP :
  44. *value = mbus_get_de_ddr();
  45. break;
  46. case MBUS_PMU_OTH :
  47. *value = mbus_get_oth_ddr();
  48. break;
  49. case MBUS_PMU_TOTAL :
  50. *value = mbus_get_total_ddr();
  51. break;
  52. case MBUS_PMU_DI :
  53. *value = mbus_get_di_ddr();
  54. break;
  55. case MBUS_PMU_CSI :
  56. *value = mbus_get_csi_ddr();
  57. break;
  58. case MBUS_PMU_TVD :
  59. *value = mbus_get_tvd_ddr();
  60. break;
  61. case MBUS_PMU_G2D :
  62. *value = mbus_get_g2d_ddr();
  63. break;
  64. case MBUS_PMU_IOMMU :
  65. *value = mbus_get_iommu_ddr();
  66. break;
  67. case MBUS_PMU_RV_SYS :
  68. *value = mbus_get_rv_sys_ddr();
  69. break;
  70. default :
  71. mbus_err("not support mbus type, %d\n", type);
  72. return HAL_MBUS_STATUS_ERROR_PARAMETER;
  73. }
  74. return HAL_MBUS_STATUS_OK;
  75. }
  76. hal_mbus_status_t hal_mbus_pmu_enable(void)
  77. {
  78. mbus_pmu_enable();
  79. return HAL_MBUS_STATUS_OK;
  80. }