1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /* Copyright 2013-2015 Freescale Semiconductor Inc.
3  */
4 #ifndef __FSL_DPMNG_H
5 #define __FSL_DPMNG_H
6 
7 /* Management Complex General API
8  * Contains general API for the Management Complex firmware
9  */
10 
11 struct fsl_mc_io;
12 
13 /**
14  * Management Complex firmware version information
15  */
16 #define MC_VER_MAJOR 9
17 #define MC_VER_MINOR 0
18 
19 /**
20  * struct mc_versoin
21  * @major: Major version number: incremented on API compatibility changes
22  * @minor: Minor version number: incremented on API additions (that are
23  *		backward compatible); reset when major version is incremented
24  * @revision: Internal revision number: incremented on implementation changes
25  *		and/or bug fixes that have no impact on API
26  */
27 struct mc_version {
28 	uint32_t major;
29 	uint32_t minor;
30 	uint32_t revision;
31 };
32 
33 /**
34  * mc_get_version() - Retrieves the Management Complex firmware
35  *			version information
36  * @mc_io:		Pointer to opaque I/O object
37  * @cmd_flags:	Command flags; one or more of 'MC_CMD_FLAG_'
38  * @mc_ver_info:	Returned version information structure
39  *
40  * Return:	'0' on Success; Error code otherwise.
41  */
42 int mc_get_version(struct fsl_mc_io	*mc_io,
43 		   uint32_t		cmd_flags,
44 		   struct mc_version	*mc_ver_info);
45 
46 #endif /* __FSL_DPMNG_H */
47