162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * AMD Platform Security Processor (PSP) Platform Access interface 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2023 Advanced Micro Devices, Inc. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Author: Mario Limonciello <mario.limonciello@amd.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef __PSP_PLATFORM_ACCESS_H__ 1162306a36Sopenharmony_ci#define __PSP_PLATFORM_ACCESS_H__ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <linux/device.h> 1462306a36Sopenharmony_ci#include <linux/miscdevice.h> 1562306a36Sopenharmony_ci#include <linux/mutex.h> 1662306a36Sopenharmony_ci#include <linux/psp-platform-access.h> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#include "psp-dev.h" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistruct psp_platform_access_device { 2162306a36Sopenharmony_ci struct device *dev; 2262306a36Sopenharmony_ci struct psp_device *psp; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci struct platform_access_vdata *vdata; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci struct mutex mailbox_mutex; 2762306a36Sopenharmony_ci struct mutex doorbell_mutex; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci void *platform_access_data; 3062306a36Sopenharmony_ci}; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_civoid platform_access_dev_destroy(struct psp_device *psp); 3362306a36Sopenharmony_ciint platform_access_dev_init(struct psp_device *psp); 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#endif /* __PSP_PLATFORM_ACCESS_H__ */ 36