| /* SPDX-License-Identifier: GPL-2.0 */ |
| |
| /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. |
| * Copyright (C) 2019-2022 Linaro Ltd. |
| */ |
| #ifndef _IPA_VERSION_H_ |
| #define _IPA_VERSION_H_ |
| |
| /** |
| * enum ipa_version |
| * @IPA_VERSION_3_0: IPA version 3.0/GSI version 1.0 |
| * @IPA_VERSION_3_1: IPA version 3.1/GSI version 1.1 |
| * @IPA_VERSION_3_5: IPA version 3.5/GSI version 1.2 |
| * @IPA_VERSION_3_5_1: IPA version 3.5.1/GSI version 1.3 |
| * @IPA_VERSION_4_0: IPA version 4.0/GSI version 2.0 |
| * @IPA_VERSION_4_1: IPA version 4.1/GSI version 2.0 |
| * @IPA_VERSION_4_2: IPA version 4.2/GSI version 2.2 |
| * @IPA_VERSION_4_5: IPA version 4.5/GSI version 2.5 |
| * @IPA_VERSION_4_7: IPA version 4.7/GSI version 2.7 |
| * @IPA_VERSION_4_9: IPA version 4.9/GSI version 2.9 |
| * @IPA_VERSION_4_11: IPA version 4.11/GSI version 2.11 (2.1.1) |
| * @IPA_VERSION_COUNT: Number of defined IPA versions |
| * |
| * Defines the version of IPA (and GSI) hardware present on the platform. |
| * Please update ipa_version_string() whenever a new version is added. |
| */ |
| enum ipa_version { |
| IPA_VERSION_3_0, |
| IPA_VERSION_3_1, |
| IPA_VERSION_3_5, |
| IPA_VERSION_3_5_1, |
| IPA_VERSION_4_0, |
| IPA_VERSION_4_1, |
| IPA_VERSION_4_2, |
| IPA_VERSION_4_5, |
| IPA_VERSION_4_7, |
| IPA_VERSION_4_9, |
| IPA_VERSION_4_11, |
| IPA_VERSION_COUNT, /* Last; not a version */ |
| }; |
| |
| static inline bool ipa_version_supported(enum ipa_version version) |
| { |
| switch (version) { |
| case IPA_VERSION_3_1: |
| case IPA_VERSION_3_5_1: |
| case IPA_VERSION_4_2: |
| case IPA_VERSION_4_5: |
| case IPA_VERSION_4_9: |
| case IPA_VERSION_4_11: |
| return true; |
| default: |
| return false; |
| } |
| } |
| |
| /* Execution environment IDs */ |
| enum gsi_ee_id { |
| GSI_EE_AP = 0x0, |
| GSI_EE_MODEM = 0x1, |
| GSI_EE_UC = 0x2, |
| GSI_EE_TZ = 0x3, |
| }; |
| |
| #endif /* _IPA_VERSION_H_ */ |