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
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 */
33