1
/******************************************************************************
2
* Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
4
* This program is distributed in the hope that it will be useful, but WITHOUT
5
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
9
* You should have received a copy of the GNU General Public License along with
10
* this program; if not, write to the Free Software Foundation, Inc.,
11
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
13
* The full GNU General Public License is included in this distribution in the
14
* file called LICENSE.
16
* Contact Information:
17
* wlanfae <wlanfae@realtek.com>
18
******************************************************************************/
19
#ifndef __INC_FIRMWARE_H
20
#define __INC_FIRMWARE_H
22
#define RTL8190_CPU_START_OFFSET 0x80
24
#define GET_COMMAND_PACKET_FRAG_THRESHOLD(v) (4*(v/4) - 8)
26
enum firmware_init_step {
27
FW_INIT_STEP0_BOOT = 0,
28
FW_INIT_STEP1_MAIN = 1,
29
FW_INIT_STEP2_DATA = 2,
34
OPT_FIRMWARE_RESET = 1,
37
enum desc_packet_type {
38
DESC_PACKET_TYPE_INIT = 0,
39
DESC_PACKET_TYPE_NORMAL = 1,
42
enum firmware_source {
43
FW_SOURCE_IMG_FILE = 0,
44
FW_SOURCE_HEADER_FILE = 1,
47
enum firmware_status {
49
FW_STATUS_1_MOVE_BOOT_CODE = 1,
50
FW_STATUS_2_MOVE_MAIN_CODE = 2,
51
FW_STATUS_3_TURNON_CPU = 3,
52
FW_STATUS_4_MOVE_DATA_CODE = 4,
53
FW_STATUS_5_READY = 5,
56
struct fw_seg_container {
62
enum firmware_status firmware_status;
63
u16 cmdpacket_frag_thresold;
64
#define RTL8190_MAX_FIRMWARE_CODE_SIZE 64000
65
#define MAX_FW_INIT_STEP 3
66
u8 firmware_buf[MAX_FW_INIT_STEP][RTL8190_MAX_FIRMWARE_CODE_SIZE];
67
u16 firmware_buf_size[MAX_FW_INIT_STEP];
70
bool init_firmware(struct net_device *dev);
71
extern void firmware_init_param(struct net_device *dev);