xref: /freebsd/sys/contrib/device-tree/include/dt-bindings/interconnect/qcom,icc.h (revision a90b9d0159070121c221b966469c3e36d912bf82)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
4  */
5 
6 #ifndef __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
7 #define __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
8 
9 /*
10  * The AMC bucket denotes constraints that are applied to hardware when
11  * icc_set_bw() completes, whereas the WAKE and SLEEP constraints are applied
12  * when the execution environment transitions between active and low power mode.
13  */
14 #define QCOM_ICC_BUCKET_AMC		0
15 #define QCOM_ICC_BUCKET_WAKE		1
16 #define QCOM_ICC_BUCKET_SLEEP		2
17 #define QCOM_ICC_NUM_BUCKETS		3
18 
19 #define QCOM_ICC_TAG_AMC		(1 << QCOM_ICC_BUCKET_AMC)
20 #define QCOM_ICC_TAG_WAKE		(1 << QCOM_ICC_BUCKET_WAKE)
21 #define QCOM_ICC_TAG_SLEEP		(1 << QCOM_ICC_BUCKET_SLEEP)
22 #define QCOM_ICC_TAG_ACTIVE_ONLY	(QCOM_ICC_TAG_AMC | QCOM_ICC_TAG_WAKE)
23 #define QCOM_ICC_TAG_ALWAYS		(QCOM_ICC_TAG_AMC | QCOM_ICC_TAG_WAKE |\
24 					 QCOM_ICC_TAG_SLEEP)
25 
26 #endif
27