blob: 28b6d450236bdf3efacdb3364af2134e84b11273 (
plain)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright 2014-2016 Freescale Semiconductor, Inc.
* Copyright 2017-2018 NXP
*/
#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;
/**
* struct sp_blob_header - SP Blob header structure
* @magic: SP Blob magic number
* @blob_ver: SP Blob version
* @ip_rev: SP IP revision
* @length: Length of the SP Blob
*/
struct sp_blob_header {
u32 magic;
u32 blob_ver;
u32 ip_rev;
u32 length;
};
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);
int mc_apply_spb(u64 mc_spb_addr);
#endif /* _FSL_MC_PRIVATE_H_ */
|