1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) 2023 Weidmueller Interface GmbH & Co. KG <oss@weidmueller.com> 4 * Christian Taedcke <christian.taedcke@weidmueller.com> 5 * 6 * Declaration of AES operation functionality for ZynqMP. 7 */ 8 9 #ifndef ZYNQMP_AES_H 10 #define ZYNQMP_AES_H 11 12 #include <linux/types.h> 13 14 struct zynqmp_aes { 15 u64 srcaddr; 16 u64 ivaddr; 17 u64 keyaddr; 18 u64 dstaddr; 19 u64 len; 20 u64 op; 21 u64 keysrc; 22 }; 23 24 /** 25 * zynqmp_aes_operation() - Performs an aes operation using the pmu firmware 26 * 27 * @aes: The aes operation buffer that must have been allocated using 28 * ALLOC_CACHE_ALIGN_BUFFER(struct zynqmp_aes, aes, 1) 29 * 30 * Return: 0 in case of success, in case of an error any other value 31 */ 32 int zynqmp_aes_operation(struct zynqmp_aes *aes); 33 34 #endif /* ZYNQMP_AES_H */ 35