pm_api_ioctl.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
  3. * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: BSD-3-Clause
  6. */
  7. /*
  8. * ZynqMP system level PM-API functions for pin control.
  9. */
  10. #ifndef PM_API_IOCTL_H
  11. #define PM_API_IOCTL_H
  12. #include "pm_common.h"
  13. //RPU operation mode
  14. #define PM_RPU_MODE_LOCKSTEP 0U
  15. #define PM_RPU_MODE_SPLIT 1U
  16. //RPU boot mem
  17. #define PM_RPU_BOOTMEM_LOVEC 0U
  18. #define PM_RPU_BOOTMEM_HIVEC 1U
  19. //RPU tcm mpde
  20. #define PM_RPU_TCM_SPLIT 0U
  21. #define PM_RPU_TCM_COMB 1U
  22. //tap delay signal type
  23. #define PM_TAPDELAY_NAND_DQS_IN 0U
  24. #define PM_TAPDELAY_NAND_DQS_OUT 1U
  25. #define PM_TAPDELAY_QSPI 2U
  26. #define PM_TAPDELAY_MAX 3U
  27. //tap delay bypass
  28. #define PM_TAPDELAY_BYPASS_DISABLE 0U
  29. #define PM_TAPDELAY_BYPASS_ENABLE 1U
  30. enum tap_delay_type {
  31. PM_TAPDELAY_INPUT,
  32. PM_TAPDELAY_OUTPUT,
  33. };
  34. //dll reset type
  35. #define PM_DLL_RESET_ASSERT 0U
  36. #define PM_DLL_RESET_RELEASE 1U
  37. #define PM_DLL_RESET_PULSE 2U
  38. enum pm_ret_status pm_api_ioctl(enum pm_node_id nid,
  39. uint32_t ioctl_id,
  40. uint32_t arg1,
  41. uint32_t arg2,
  42. uint32_t *value);
  43. enum pm_ret_status tfa_ioctl_bitmask(uint32_t *bit_mask);
  44. #endif /* PM_API_IOCTL_H */