qcom,icc.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
  6. #define __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
  7. #define QCOM_ICC_BUCKET_0 0
  8. #define QCOM_ICC_BUCKET_1 1
  9. #define QCOM_ICC_BUCKET_2 2
  10. #define QCOM_ICC_BUCKET_3 3
  11. #define QCOM_ICC_BUCKET_4 4
  12. #define QCOM_ICC_NUM_BUCKETS 5
  13. /*
  14. * The AMC bucket denotes constraints that are applied to hardware when
  15. * icc_set_bw() completes, whereas the WAKE and SLEEP constraints are applied
  16. * when the execution environment transitions between active and low power mode.
  17. */
  18. #define QCOM_ICC_BUCKET_AMC QCOM_ICC_BUCKET_0
  19. #define QCOM_ICC_BUCKET_WAKE QCOM_ICC_BUCKET_1
  20. #define QCOM_ICC_BUCKET_SLEEP QCOM_ICC_BUCKET_2
  21. #define QCOM_ICC_TAG_AMC (1 << QCOM_ICC_BUCKET_AMC)
  22. #define QCOM_ICC_TAG_WAKE (1 << QCOM_ICC_BUCKET_WAKE)
  23. #define QCOM_ICC_TAG_SLEEP (1 << QCOM_ICC_BUCKET_SLEEP)
  24. #define QCOM_ICC_TAG_ACTIVE_ONLY (QCOM_ICC_TAG_AMC | QCOM_ICC_TAG_WAKE)
  25. #define QCOM_ICC_TAG_ALWAYS (QCOM_ICC_TAG_AMC | QCOM_ICC_TAG_WAKE |\
  26. QCOM_ICC_TAG_SLEEP)
  27. #define QCOM_ICC_TAG_PWR_ST_0 (1 << QCOM_ICC_BUCKET_0)
  28. #define QCOM_ICC_TAG_PWR_ST_1 (1 << QCOM_ICC_BUCKET_1)
  29. #define QCOM_ICC_TAG_PWR_ST_2 (1 << QCOM_ICC_BUCKET_2)
  30. #define QCOM_ICC_TAG_PWR_ST_3 (1 << QCOM_ICC_BUCKET_3)
  31. #define QCOM_ICC_TAG_PWR_ST_4 (1 << QCOM_ICC_BUCKET_4)
  32. /*
  33. * PERF_MODE indicates that each node in the requested path should use
  34. * performance-optimized settings if supported by the node.
  35. */
  36. #define QCOM_ICC_TAG_PERF_MODE (1 << 8)
  37. #endif