blob: 2a9cffbd0f800619bae02822e2cd40fbae03c578 [file] [log] [blame]
Christian Taedckec4c41a12023-07-25 09:26:58 +02001/* 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
12struct zynqmp_aes {
13 u64 srcaddr;
14 u64 ivaddr;
15 u64 keyaddr;
16 u64 dstaddr;
17 u64 len;
18 u64 op;
19 u64 keysrc;
20};
21
22/**
23 * zynqmp_aes_operation() - Performs an aes operation using the pmu firmware
24 *
25 * @aes: The aes operation buffer that must have been allocated using
26 * ALLOC_CACHE_ALIGN_BUFFER(struct zynqmp_aes, aes, 1)
27 *
28 * Return: 0 in case of success, in case of an error any other value
29 */
30int zynqmp_aes_operation(struct zynqmp_aes *aes);
31
32#endif /* ZYNQMP_AES_H */