dmu.h 764 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright (c) 2015 - 2020, Broadcom
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef DMU_H
  7. #define DMU_H
  8. /* Clock field should be 2 bits only */
  9. #define CLKCONFIG_MASK 0x3
  10. /* argument */
  11. struct DmuBlockEnable {
  12. uint32_t sotp:1;
  13. uint32_t pka_rng:1;
  14. uint32_t crypto:1;
  15. uint32_t spl:1;
  16. uint32_t cdru_vgm:1;
  17. uint32_t apbs_s0_idm:1;
  18. uint32_t smau_s0_idm:1;
  19. };
  20. /* prototype */
  21. uint32_t bcm_dmu_block_enable(struct DmuBlockEnable dbe);
  22. uint32_t bcm_dmu_block_disable(struct DmuBlockEnable dbe);
  23. uint32_t bcm_set_ihost_pll_freq(uint32_t cluster_num, int ihost_pll_freq_sel);
  24. uint32_t bcm_get_ihost_pll_freq(uint32_t cluster_num);
  25. #define PLL_FREQ_BYPASS 0x0
  26. #define PLL_FREQ_FULL 0x1
  27. #define PLL_FREQ_HALF 0x2
  28. #define PLL_FREQ_QRTR 0x3
  29. #endif