fsl_pmu.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2016, Freescale Semiconductor, Inc.
  3. * Copyright 2016-2019 NXP
  4. * All rights reserved.
  5. *
  6. * SPDX-License-Identifier: BSD-3-Clause
  7. */
  8. #include "fsl_pmu.h"
  9. /* Component ID definition, used by tools. */
  10. #ifndef FSL_COMPONENT_ID
  11. #define FSL_COMPONENT_ID "platform.drivers.pmu"
  12. #endif
  13. /*!
  14. * name Status.
  15. * {
  16. */
  17. uint32_t PMU_GetStatusFlags(PMU_Type *base)
  18. {
  19. uint32_t ret = 0U;
  20. /* For 1P1. */
  21. if (PMU_REG_1P1_OK_VDD1P1_MASK == (PMU_REG_1P1_OK_VDD1P1_MASK & base->REG_1P1))
  22. {
  23. ret |= (uint32_t)kPMU_1P1RegulatorOutputOK;
  24. }
  25. if (PMU_REG_1P1_BO_VDD1P1_MASK == (PMU_REG_1P1_BO_VDD1P1_MASK & base->REG_1P1))
  26. {
  27. ret |= (uint32_t)kPMU_1P1BrownoutOnOutput;
  28. }
  29. /* For 3P0. */
  30. if (PMU_REG_3P0_OK_VDD3P0_MASK == (PMU_REG_3P0_OK_VDD3P0_MASK & base->REG_3P0))
  31. {
  32. ret |= (uint32_t)kPMU_3P0RegulatorOutputOK;
  33. }
  34. if (PMU_REG_3P0_BO_VDD3P0_MASK == (PMU_REG_3P0_BO_VDD3P0_MASK & base->REG_3P0))
  35. {
  36. ret |= (uint32_t)kPMU_3P0BrownoutOnOutput;
  37. }
  38. /* For 2P5. */
  39. if (PMU_REG_2P5_OK_VDD2P5_MASK == (PMU_REG_2P5_OK_VDD2P5_MASK & base->REG_2P5))
  40. {
  41. ret |= (uint32_t)kPMU_2P5RegulatorOutputOK;
  42. }
  43. if (PMU_REG_2P5_BO_VDD2P5_MASK == (PMU_REG_2P5_BO_VDD2P5_MASK & base->REG_2P5))
  44. {
  45. ret |= (uint32_t)kPMU_2P5BrownoutOnOutput;
  46. }
  47. return ret;
  48. }