1cdf2e941SAlex Elder /* SPDX-License-Identifier: GPL-2.0 */ 2cdf2e941SAlex Elder 3cdf2e941SAlex Elder /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4a4388da5SAlex Elder * Copyright (C) 2019-2022 Linaro Ltd. 5cdf2e941SAlex Elder */ 6cdf2e941SAlex Elder #ifndef _IPA_VERSION_H_ 7cdf2e941SAlex Elder #define _IPA_VERSION_H_ 8cdf2e941SAlex Elder 9cdf2e941SAlex Elder /** 10cdf2e941SAlex Elder * enum ipa_version 11eb09457cSAlex Elder * @IPA_VERSION_3_0: IPA version 3.0/GSI version 1.0 12eb09457cSAlex Elder * @IPA_VERSION_3_1: IPA version 3.1/GSI version 1.1 13eb09457cSAlex Elder * @IPA_VERSION_3_5: IPA version 3.5/GSI version 1.2 14eb09457cSAlex Elder * @IPA_VERSION_3_5_1: IPA version 3.5.1/GSI version 1.3 15eb09457cSAlex Elder * @IPA_VERSION_4_0: IPA version 4.0/GSI version 2.0 16eb09457cSAlex Elder * @IPA_VERSION_4_1: IPA version 4.1/GSI version 2.0 17eb09457cSAlex Elder * @IPA_VERSION_4_2: IPA version 4.2/GSI version 2.2 18eb09457cSAlex Elder * @IPA_VERSION_4_5: IPA version 4.5/GSI version 2.5 19eb09457cSAlex Elder * @IPA_VERSION_4_7: IPA version 4.7/GSI version 2.7 20eb09457cSAlex Elder * @IPA_VERSION_4_9: IPA version 4.9/GSI version 2.9 21eb09457cSAlex Elder * @IPA_VERSION_4_11: IPA version 4.11/GSI version 2.11 (2.1.1) 225783c68aSAlex Elder * @IPA_VERSION_5_0: IPA version 5.0/GSI version 3.0 238b3cb084SAlex Elder * @IPA_VERSION_COUNT: Number of defined IPA versions 24cdf2e941SAlex Elder * 25cdf2e941SAlex Elder * Defines the version of IPA (and GSI) hardware present on the platform. 268b3cb084SAlex Elder * Please update ipa_version_string() whenever a new version is added. 27cdf2e941SAlex Elder */ 28cdf2e941SAlex Elder enum ipa_version { 29eb09457cSAlex Elder IPA_VERSION_3_0, 30eb09457cSAlex Elder IPA_VERSION_3_1, 31eb09457cSAlex Elder IPA_VERSION_3_5, 32eb09457cSAlex Elder IPA_VERSION_3_5_1, 33eb09457cSAlex Elder IPA_VERSION_4_0, 34eb09457cSAlex Elder IPA_VERSION_4_1, 35eb09457cSAlex Elder IPA_VERSION_4_2, 36eb09457cSAlex Elder IPA_VERSION_4_5, 37eb09457cSAlex Elder IPA_VERSION_4_7, 38eb09457cSAlex Elder IPA_VERSION_4_9, 39eb09457cSAlex Elder IPA_VERSION_4_11, 405783c68aSAlex Elder IPA_VERSION_5_0, 418b3cb084SAlex Elder IPA_VERSION_COUNT, /* Last; not a version */ 42cdf2e941SAlex Elder }; 43cdf2e941SAlex Elder 448b3cb084SAlex Elder static inline bool ipa_version_supported(enum ipa_version version) 458b3cb084SAlex Elder { 468b3cb084SAlex Elder switch (version) { 478b3cb084SAlex Elder case IPA_VERSION_3_1: 488b3cb084SAlex Elder case IPA_VERSION_3_5_1: 498b3cb084SAlex Elder case IPA_VERSION_4_2: 508b3cb084SAlex Elder case IPA_VERSION_4_5: 51*b310de78SAlex Elder case IPA_VERSION_4_7: 528b3cb084SAlex Elder case IPA_VERSION_4_9: 538b3cb084SAlex Elder case IPA_VERSION_4_11: 545783c68aSAlex Elder case IPA_VERSION_5_0: 558b3cb084SAlex Elder return true; 568b3cb084SAlex Elder default: 578b3cb084SAlex Elder return false; 588b3cb084SAlex Elder } 598b3cb084SAlex Elder } 608b3cb084SAlex Elder 61bb788de3SAlex Elder /* Execution environment IDs */ 62bb788de3SAlex Elder enum gsi_ee_id { 63bb788de3SAlex Elder GSI_EE_AP = 0x0, 64bb788de3SAlex Elder GSI_EE_MODEM = 0x1, 65bb788de3SAlex Elder GSI_EE_UC = 0x2, 66bb788de3SAlex Elder GSI_EE_TZ = 0x3, 67bb788de3SAlex Elder }; 68bb788de3SAlex Elder 69cdf2e941SAlex Elder #endif /* _IPA_VERSION_H_ */ 70