1 /*
2  * Copyright (C) 2014 Freescale Semiconductor
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #ifndef _FSL_MC_PRIVATE_H_
8 #define _FSL_MC_PRIVATE_H_
9 
10 #include <errno.h>
11 #include <malloc.h>
12 #include <asm/io.h>
13 #include <linux/compat.h>
14 #include <linux/types.h>
15 #include <linux/stringify.h>
16 
17 #include <fsl-mc/fsl_mc_sys.h>
18 #include <fsl-mc/fsl_mc_cmd.h>
19 #include <fsl-mc/fsl_dprc.h>
20 #include <fsl-mc/fsl_dpbp.h>
21 
22 extern struct fsl_mc_io *dflt_mc_io;
23 
24 /**
25  * struct dpbp_node - DPBP strucuture
26  * @uint16_t handle: DPBP object handle
27  * @int dpbp_id: DPBP id
28  */
29 struct fsl_dpbp_obj {
30 	uint16_t dpbp_handle;
31 	struct dpbp_attr dpbp_attr;
32 };
33 
34 extern struct fsl_dpbp_obj *dflt_dpbp;
35 
36 /**
37  * struct fsl_dpio_obj - DPIO strucuture
38  * @int dpio_id: DPIO id
39  * @struct qbman_swp *sw_portal: SW portal object
40  */
41 struct fsl_dpio_obj {
42 	int dpio_id;
43 	struct qbman_swp *sw_portal; /** SW portal object */
44 };
45 
46 extern struct fsl_dpio_obj *dflt_dpio;
47 
48 int mc_init(void);
49 int ldpaa_eth_init(struct dprc_obj_desc obj_desc);
50 #endif /* _FSL_MC_PRIVATE_H_ */
51