xref: /netbsd-src/sys/external/gpl2/dts/dist/include/dt-bindings/interconnect/qcom,icc.h (revision 2718af68c3efc72c9769069b5c7f9ed36f6b9def)
1 /*	$NetBSD: qcom,icc.h,v 1.1.1.1 2021/11/07 16:49:57 jmcneill Exp $	*/
2 
3 /* SPDX-License-Identifier: GPL-2.0-only */
4 /*
5  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
6  */
7 
8 #ifndef __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
9 #define __DT_BINDINGS_INTERCONNECT_QCOM_ICC_H
10 
11 /*
12  * The AMC bucket denotes constraints that are applied to hardware when
13  * icc_set_bw() completes, whereas the WAKE and SLEEP constraints are applied
14  * when the execution environment transitions between active and low power mode.
15  */
16 #define QCOM_ICC_BUCKET_AMC		0
17 #define QCOM_ICC_BUCKET_WAKE		1
18 #define QCOM_ICC_BUCKET_SLEEP		2
19 #define QCOM_ICC_NUM_BUCKETS		3
20 
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 
28 #endif
29