1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * AMD Platform Security Processor (PSP) Platform Access interface
4 *
5 * Copyright (C) 2023 Advanced Micro Devices, Inc.
6 *
7 * Author: Mario Limonciello <mario.limonciello@amd.com>
8 */
9
10#ifndef __PSP_PLATFORM_ACCESS_H__
11#define __PSP_PLATFORM_ACCESS_H__
12
13#include <linux/device.h>
14#include <linux/miscdevice.h>
15#include <linux/mutex.h>
16#include <linux/psp-platform-access.h>
17
18#include "psp-dev.h"
19
20struct psp_platform_access_device {
21	struct device *dev;
22	struct psp_device *psp;
23
24	struct platform_access_vdata *vdata;
25
26	struct mutex mailbox_mutex;
27	struct mutex doorbell_mutex;
28
29	void *platform_access_data;
30};
31
32void platform_access_dev_destroy(struct psp_device *psp);
33int platform_access_dev_init(struct psp_device *psp);
34
35#endif /* __PSP_PLATFORM_ACCESS_H__ */
36