1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2026, Qualcomm Technologies, Inc. and/or its subsidiaries. 4 */ 5 6 #ifndef _TA_QCOM_PAS_H 7 #define _TA_QCOM_PAS_H 8 9 #include <stdint.h> 10 #include <util.h> 11 12 /* 13 * Interface to the TA which provides platform implementation of the 14 * Peripheral Authentication service. 15 */ 16 17 #define TA_PAS_UUID { 0xcff7d191, 0x7ca0, 0x4784, \ 18 { 0xaf, 0x13, 0x48, 0x22, 0x3b, 0x9a, 0x4f, 0xbe} } 19 20 /* 21 * Peripheral Authentication Service (PAS) supported. 22 * 23 * [in] params[0].value.a: Unique 32bit remote processor identifier 24 */ 25 #define TA_QCOM_PAS_IS_SUPPORTED 1 26 27 /* 28 * PAS capabilities. 29 * 30 * [in] params[0].value.a: Unique 32bit remote processor identifier 31 * [out] params[1].value.a: PAS capability flags 32 */ 33 #define TA_QCOM_PAS_CAPABILITIES 2 34 35 /* 36 * PAS image initialization. 37 * 38 * [in] params[0].value.a: Unique 32bit remote processor identifier 39 * [in] params[1].memref: Loadable firmware metadata 40 */ 41 #define TA_QCOM_PAS_INIT_IMAGE 3 42 43 /* 44 * PAS memory setup. 45 * 46 * [in] params[0].value.a: Unique 32bit remote processor identifier 47 * [in] params[0].value.b: Relocatable firmware size 48 * [in] params[1].value.a: 32bit LSB relocatable firmware memory address 49 * [in] params[1].value.b: 32bit MSB relocatable firmware memory address 50 */ 51 #define TA_QCOM_PAS_MEM_SETUP 4 52 53 /* 54 * PAS get resource table. 55 * 56 * [in] params[0].value.a: Unique 32bit remote processor identifier 57 * [in/out] params[1].memref: Resource table config 58 */ 59 #define TA_QCOM_PAS_GET_RESOURCE_TABLE 5 60 61 /* 62 * PAS image authentication and co-processor reset. 63 * 64 * [in] params[0].value.a: Unique 32bit remote processor identifier 65 * [in] params[0].value.b: Firmware size 66 * [in] params[1].value.a: 32bit LSB firmware memory address 67 * [in] params[1].value.b: 32bit MSB firmware memory address 68 * [in] params[2].memref: Optional fw memory space shared/lent 69 */ 70 #define TA_QCOM_PAS_AUTH_AND_RESET 6 71 72 /* 73 * PAS co-processor set suspend/resume state. 74 * 75 * [in] params[0].value.a: Unique 32bit remote processor identifier 76 * [in] params[0].value.b: Co-processor state identifier 77 */ 78 #define TA_QCOM_PAS_SET_REMOTE_STATE 7 79 80 /* 81 * PAS co-processor shutdown. 82 * 83 * [in] params[0].value.a: Unique 32bit remote processor identifier 84 */ 85 #define TA_QCOM_PAS_SHUTDOWN 8 86 87 #endif /* _TA_QCOM_PAS_H */ 88