Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mips
include
asm
octeon
cvmx-helper.h
Go to the documentation of this file.
1
/***********************license start***************
2
* Author: Cavium Networks
3
*
4
* Contact:
[email protected]
5
* This file is part of the OCTEON SDK
6
*
7
* Copyright (c) 2003-2008 Cavium Networks
8
*
9
* This file is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License, Version 2, as
11
* published by the Free Software Foundation.
12
*
13
* This file is distributed in the hope that it will be useful, but
14
* AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16
* NONINFRINGEMENT. See the GNU General Public License for more
17
* details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this file; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
* or visit http://www.gnu.org/licenses/.
23
*
24
* This file may also be available under a different license from Cavium.
25
* Contact Cavium Networks for more information
26
***********************license end**************************************/
27
28
/*
29
*
30
* Helper functions for common, but complicated tasks.
31
*
32
*/
33
34
#ifndef __CVMX_HELPER_H__
35
#define __CVMX_HELPER_H__
36
37
#include <
asm/octeon/cvmx-config.h
>
38
#include <
asm/octeon/cvmx-fpa.h
>
39
#include <
asm/octeon/cvmx-wqe.h
>
40
41
typedef
enum
{
42
CVMX_HELPER_INTERFACE_MODE_DISABLED
,
43
CVMX_HELPER_INTERFACE_MODE_RGMII
,
44
CVMX_HELPER_INTERFACE_MODE_GMII
,
45
CVMX_HELPER_INTERFACE_MODE_SPI
,
46
CVMX_HELPER_INTERFACE_MODE_PCIE
,
47
CVMX_HELPER_INTERFACE_MODE_XAUI
,
48
CVMX_HELPER_INTERFACE_MODE_SGMII
,
49
CVMX_HELPER_INTERFACE_MODE_PICMG
,
50
CVMX_HELPER_INTERFACE_MODE_NPI
,
51
CVMX_HELPER_INTERFACE_MODE_LOOP
,
52
}
cvmx_helper_interface_mode_t
;
53
54
typedef
union
{
55
uint64_t
u64
;
56
struct
{
57
uint64_t
reserved_20_63:44;
58
uint64_t
link_up
:1;
59
uint64_t
full_duplex:1;
60
uint64_t
speed
:18;
61
}
s
;
62
}
cvmx_helper_link_info_t
;
63
64
#include <
asm/octeon/cvmx-helper-errata.h
>
65
#include <
asm/octeon/cvmx-helper-loop.h
>
66
#include <
asm/octeon/cvmx-helper-npi.h
>
67
#include <
asm/octeon/cvmx-helper-rgmii.h
>
68
#include <
asm/octeon/cvmx-helper-sgmii.h
>
69
#include <
asm/octeon/cvmx-helper-spi.h
>
70
#include <
asm/octeon/cvmx-helper-util.h
>
71
#include <
asm/octeon/cvmx-helper-xaui.h
>
72
80
extern
void
(*
cvmx_override_pko_queue_priority
) (
int
pko_port,
81
uint64_t
priorities[16]);
82
91
extern
void
(*
cvmx_override_ipd_port_setup
) (
int
ipd_port);
92
103
extern
int
cvmx_helper_ipd_and_packet_input_enable
(
void
);
104
114
extern
int
cvmx_helper_initialize_packet_io_global
(
void
);
115
121
extern
int
cvmx_helper_initialize_packet_io_local
(
void
);
122
133
extern
int
cvmx_helper_ports_on_interface
(
int
interface
);
134
143
extern
int
cvmx_helper_get_number_of_interfaces
(
void
);
144
155
extern
cvmx_helper_interface_mode_t
cvmx_helper_interface_get_mode
(
int
156
interface
);
157
167
extern
cvmx_helper_link_info_t
cvmx_helper_link_autoconf
(
int
ipd_port);
168
179
extern
cvmx_helper_link_info_t
cvmx_helper_link_get
(
int
ipd_port);
180
193
extern
int
cvmx_helper_link_set
(
int
ipd_port,
194
cvmx_helper_link_info_t
link_info);
195
207
extern
int
cvmx_helper_interface_probe
(
int
interface
);
208
extern
int
cvmx_helper_interface_enumerate
(
int
interface
);
209
223
extern
int
cvmx_helper_configure_loopback
(
int
ipd_port,
int
enable_internal,
224
int
enable_external);
225
226
#endif
/* __CVMX_HELPER_H__ */
Generated on Thu Jan 10 2013 13:10:15 for Linux Kernel by
1.8.2