1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2019-2024, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 * 7 * Description: 8 * Definitions for SCMI and TRANSPORT module configurations. 9 */ 10 11 #ifndef JUNO_SCMI_H 12 #define JUNO_SCMI_H 13 14 enum juno_scmi_agent_idx { 15 /* 0 is reserved for the platform */ 16 JUNO_SCMI_AGENT_IDX_OSPM = 1, 17 JUNO_SCMI_AGENT_IDX_PSCI, 18 JUNO_SCMI_AGENT_IDX_COUNT, 19 }; 20 21 enum juno_scmi_service_idx { 22 JUNO_SCMI_SERVICE_IDX_PSCI_A2P, 23 JUNO_SCMI_SERVICE_IDX_OSPM_A2P_0, 24 JUNO_SCMI_SERVICE_IDX_OSPM_A2P_1, 25 #ifdef BUILD_HAS_SCMI_NOTIFICATIONS 26 JUNO_SCMI_SERVICE_IDX_OSPM_P2A, 27 #endif 28 JUNO_SCMI_SERVICE_IDX_COUNT, 29 }; 30 31 /* SCP<->AP Fast channels indexes */ 32 #ifdef BUILD_HAS_SCMI_PERF_FAST_CHANNELS 33 enum juno_plat_fch_idx { 34 /* Fast channels from 0 - 3 */ 35 JUNO_PLAT_FCH_BIG_LEVEL_SET, 36 JUNO_PLAT_FCH_BIG_LIMIT_SET, 37 JUNO_PLAT_FCH_BIG_LEVEL_GET, 38 JUNO_PLAT_FCH_BIG_LIMIT_GET, 39 40 /* Fast channels from 4 - 7 */ 41 JUNO_PLAT_FCH_LITTLE_LEVEL_SET, 42 JUNO_PLAT_FCH_LITTLE_LIMIT_SET, 43 JUNO_PLAT_FCH_LITTLE_LEVEL_GET, 44 JUNO_PLAT_FCH_LITTLE_LIMIT_GET, 45 46 /* Fast channels from 8 - 11 */ 47 JUNO_PLAT_FCH_GPU_LEVEL_SET, 48 JUNO_PLAT_FCH_GPU_LIMIT_SET, 49 JUNO_PLAT_FCH_GPU_LEVEL_GET, 50 JUNO_PLAT_FCH_GPU_LIMIT_GET, 51 52 JUNO_PLAT_FCH_COUNT, 53 }; 54 #endif 55 56 /* SCP <-> AP Transport channels */ 57 enum juno_transport_channel_idx { 58 JUNO_TRANSPORT_SCMI_SERVICE_PSCI, 59 JUNO_TRANSPORT_SCMI_SERVICE_OSPM_0, 60 JUNO_TRANSPORT_SCMI_SERVICE_OSPM_1, 61 62 #if defined(BUILD_HAS_SCMI_NOTIFICATIONS) 63 JUNO_TRANSPORT_SCMI_SERVICE_OSPM_P2A, 64 #endif 65 66 #if defined(BUILD_HAS_SCMI_PERF_FAST_CHANNELS) 67 JUNO_TRANSPORT_SCMI_PERF_FCH_BIG_LEVEL_SET, 68 JUNO_TRANSPORT_SCMI_PERF_FCH_BIG_LIMIT_SET, 69 JUNO_TRANSPORT_SCMI_PERF_FCH_BIG_LEVEL_GET, 70 JUNO_TRANSPORT_SCMI_PERF_FCH_BIG_LIMIT_GET, 71 72 JUNO_TRANSPORT_SCMI_PERF_FCH_LITTLE_LEVEL_SET, 73 JUNO_TRANSPORT_SCMI_PERF_FCH_LITTLE_LIMIT_SET, 74 JUNO_TRANSPORT_SCMI_PERF_FCH_LITTLE_LEVEL_GET, 75 JUNO_TRANSPORT_SCMI_PERF_FCH_LITTLE_LIMIT_GET, 76 77 JUNO_TRANSPORT_SCMI_PERF_FCH_GPU_LEVEL_SET, 78 JUNO_TRANSPORT_SCMI_PERF_FCH_GPU_LIMIT_SET, 79 JUNO_TRANSPORT_SCMI_PERF_FCH_GPU_LEVEL_GET, 80 JUNO_TRANSPORT_SCMI_PERF_FCH_GPU_LIMIT_GET, 81 #endif 82 JUNO_TRANSPORT_CHANNELS_COUNT, 83 }; 84 85 #endif /* JUNO_SCMI_H */ 86