GNU Linux-libre 6.1.90-gnu
[releases.git] / include / uapi / linux / fsl_mc.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * Management Complex (MC) userspace public interface
4  *
5  * Copyright 2021 NXP
6  *
7  */
8 #ifndef _UAPI_FSL_MC_H_
9 #define _UAPI_FSL_MC_H_
10
11 #include <linux/types.h>
12
13 #define MC_CMD_NUM_OF_PARAMS    7
14
15 /**
16  * struct fsl_mc_command - Management Complex (MC) command structure
17  * @header: MC command header
18  * @params: MC command parameters
19  *
20  * Used by FSL_MC_SEND_MC_COMMAND
21  */
22 struct fsl_mc_command {
23         __le64 header;
24         __le64 params[MC_CMD_NUM_OF_PARAMS];
25 };
26
27 #define FSL_MC_SEND_CMD_IOCTL_TYPE      'R'
28 #define FSL_MC_SEND_CMD_IOCTL_SEQ       0xE0
29
30 #define FSL_MC_SEND_MC_COMMAND \
31         _IOWR(FSL_MC_SEND_CMD_IOCTL_TYPE, FSL_MC_SEND_CMD_IOCTL_SEQ, \
32         struct fsl_mc_command)
33
34 #endif /* _UAPI_FSL_MC_H_ */