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