1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2022 Linaro Ltd. 5 */ 6 #ifndef _IPA_VERSION_H_ 7 #define _IPA_VERSION_H_ 8 9 /** 10 * enum ipa_version 11 * @IPA_VERSION_3_0: IPA version 3.0/GSI version 1.0 12 * @IPA_VERSION_3_1: IPA version 3.1/GSI version 1.1 13 * @IPA_VERSION_3_5: IPA version 3.5/GSI version 1.2 14 * @IPA_VERSION_3_5_1: IPA version 3.5.1/GSI version 1.3 15 * @IPA_VERSION_4_0: IPA version 4.0/GSI version 2.0 16 * @IPA_VERSION_4_1: IPA version 4.1/GSI version 2.0 17 * @IPA_VERSION_4_2: IPA version 4.2/GSI version 2.2 18 * @IPA_VERSION_4_5: IPA version 4.5/GSI version 2.5 19 * @IPA_VERSION_4_7: IPA version 4.7/GSI version 2.7 20 * @IPA_VERSION_4_9: IPA version 4.9/GSI version 2.9 21 * @IPA_VERSION_4_11: IPA version 4.11/GSI version 2.11 (2.1.1) 22 * @IPA_VERSION_COUNT: Number of defined IPA versions 23 * 24 * Defines the version of IPA (and GSI) hardware present on the platform. 25 * Please update ipa_version_string() whenever a new version is added. 26 */ 27 enum ipa_version { 28 IPA_VERSION_3_0, 29 IPA_VERSION_3_1, 30 IPA_VERSION_3_5, 31 IPA_VERSION_3_5_1, 32 IPA_VERSION_4_0, 33 IPA_VERSION_4_1, 34 IPA_VERSION_4_2, 35 IPA_VERSION_4_5, 36 IPA_VERSION_4_7, 37 IPA_VERSION_4_9, 38 IPA_VERSION_4_11, 39 IPA_VERSION_COUNT, /* Last; not a version */ 40 }; 41 42 static inline bool ipa_version_supported(enum ipa_version version) 43 { 44 switch (version) { 45 case IPA_VERSION_3_1: 46 case IPA_VERSION_3_5_1: 47 case IPA_VERSION_4_2: 48 case IPA_VERSION_4_5: 49 case IPA_VERSION_4_9: 50 case IPA_VERSION_4_11: 51 return true; 52 default: 53 return false; 54 } 55 } 56 57 /* Execution environment IDs */ 58 enum gsi_ee_id { 59 GSI_EE_AP = 0x0, 60 GSI_EE_MODEM = 0x1, 61 GSI_EE_UC = 0x2, 62 GSI_EE_TZ = 0x3, 63 }; 64 65 #endif /* _IPA_VERSION_H_ */ 66