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