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