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