iPXE
mlx_icmd.h
Go to the documentation of this file.
1#ifndef MLXUTILS_INCLUDE_PUBLIC_MLX_ICMD_H_
2#define MLXUTILS_INCLUDE_PUBLIC_MLX_ICMD_H_
3/*
4 * Copyright (C) 2015 Mellanox Technologies Ltd.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 * 02110-1301, USA.
20 */
21
22
23FILE_LICENCE ( GPL2_OR_LATER );
24
25#include "mlx_utils.h"
26
27#define MLX_ICMD_MB_ADDR 0x100000
28#define MLX_ICMD_MB_SIZE_ADDR 0x1000
29#define MLX_ICMD_CTRL_ADDR 0x0
30
31#define MLX_ICMD_SEMAPHORE_ADDR 0x0
32
33#define MLX_ICMD_SEMAPHORE_ID 1234
34
35enum {
37 GET_FW_INFO = 0x8007,
40 QUERY_WOL_ROL = 0x9005,
41 SET_WOL_ROL = 0x9006,
42 OCBB_INIT = 0x9007,
46 OCSD_INIT = 0xf004,
47};
48
53
56 IN mlx_utils *utils,
59 IN mlx_uint32 write_data_size,
60 IN mlx_uint32 read_data_size
61 );
62
63#endif /* MLXUTILS_INCLUDE_PUBLIC_MLX_ICMD_H_ */
uint8_t data[48]
Additional event data.
Definition ena.h:11
uint8_t opcode
Opcode.
Definition ena.h:5
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
@ OCBB_INIT
Definition mlx_icmd.h:42
@ GET_FW_INFO
Definition mlx_icmd.h:37
@ QUERY_WOL_ROL
Definition mlx_icmd.h:40
@ SET_WOL_ROL
Definition mlx_icmd.h:41
@ OCBB_QUERY_SET_EVENT
Definition mlx_icmd.h:45
@ OCSD_INIT
Definition mlx_icmd.h:46
@ OCBB_QUERY_HEADER_STATUS
Definition mlx_icmd.h:43
@ OCBB_QUERY_ETOC_STATUS
Definition mlx_icmd.h:44
@ QUERY_VIRTUAL_MAC
Definition mlx_icmd.h:38
@ FLASH_REG_ACCESS
Definition mlx_icmd.h:36
@ SET_VIRTUAL_MAC
Definition mlx_icmd.h:39
mlx_status mlx_icmd_send_command(IN mlx_utils *utils, IN mlx_uint16 opcode, IN OUT mlx_void *data, IN mlx_uint32 write_data_size, IN mlx_uint32 read_data_size)
Definition mlx_icmd.c:310
uint16_t mlx_uint16
uint32_t mlx_uint32
uint64_t mlx_uint64
void mlx_void
int mlx_status
#define IN
Definition mlx_utils.h:28
#define OUT
Definition mlx_utils.h:29
mlx_uint32 reserved
Definition mlx_icmd.h:50
mlx_uint64 address
Definition mlx_icmd.h:51