Blame view

include/fsl-mc/fsl_mc_private.h 1.58 KB
d41ce506b   Eric Lee   Initial Release, ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
  /*
   * Copyright (C) 2014-2016 Freescale Semiconductor
   * Copyright 2017 NXP
   *
   * SPDX-License-Identifier:	GPL-2.0+
   */
  
  #ifndef _FSL_MC_PRIVATE_H_
  #define _FSL_MC_PRIVATE_H_
  
  #include <errno.h>
  #include <malloc.h>
  #include <asm/io.h>
  #include <linux/compat.h>
  #include <linux/types.h>
  #include <linux/stringify.h>
  #include <phy.h>
  
  #include <fsl-mc/fsl_mc_sys.h>
  #include <fsl-mc/fsl_mc_cmd.h>
  #include <fsl-mc/fsl_dprc.h>
  #include <fsl-mc/fsl_dpbp.h>
  #include <fsl-mc/fsl_dpni.h>
  
  extern struct fsl_mc_io *dflt_mc_io;
  
  /**
   * struct dpbp_node - DPBP strucuture
   * @uint16_t handle: DPBP object handle
   * @struct dpbp_attr: DPBP attribute
   */
  struct fsl_dpbp_obj {
  	uint32_t dpbp_id;
  	uint16_t dpbp_handle;
  	struct dpbp_attr dpbp_attr;
  };
  
  extern struct fsl_dpbp_obj *dflt_dpbp;
  
  /**
   * struct fsl_dpio_obj - DPIO strucuture
   * @int dpio_id: DPIO id
   * @struct qbman_swp *sw_portal: SW portal object
   */
  struct fsl_dpio_obj {
  	uint32_t dpio_id;
  	uint16_t dpio_handle;
  	struct qbman_swp *sw_portal; /** SW portal object */
  };
  
  extern struct fsl_dpio_obj *dflt_dpio;
  
  /**
   * struct dpni_node - DPNI strucuture
   * @int dpni_id: DPNI id
   * @uint16_t handle: DPNI object handle
   * @struct dpni_attr: DPNI attributes
   * @struct dpni_buffer_layout: DPNI buffer layout
   */
  struct fsl_dpni_obj {
  	uint32_t dpni_id;
  	uint16_t dpni_handle;
  	struct dpni_attr dpni_attrs;
  	struct dpni_buffer_layout buf_layout;
  };
  
  extern struct fsl_dpni_obj *dflt_dpni;
  
  int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr);
  int ldpaa_eth_init(int dpmac_id, phy_interface_t enet_if);
  int mc_apply_dpl(u64 mc_dpl_addr);
  #endif /* _FSL_MC_PRIVATE_H_ */