hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
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
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
 *
 * Contact Information: wlanfae <wlanfae@realtek.com>
 */
#ifndef __INC_FIRMWARE_H
#define __INC_FIRMWARE_H
 
#define RTL8192E_BOOT_IMG_FW    "RTL8192E/boot.img"
#define RTL8192E_MAIN_IMG_FW    "RTL8192E/main.img"
#define RTL8192E_DATA_IMG_FW    "RTL8192E/data.img"
 
enum firmware_init_step {
   FW_INIT_STEP0_BOOT = 0,
   FW_INIT_STEP1_MAIN = 1,
   FW_INIT_STEP2_DATA = 2,
};
 
enum opt_rst_type {
   OPT_SYSTEM_RESET = 0,
   OPT_FIRMWARE_RESET = 1,
};
 
enum desc_packet_type {
   DESC_PACKET_TYPE_INIT = 0,
   DESC_PACKET_TYPE_NORMAL = 1,
};
 
enum firmware_status {
   FW_STATUS_0_INIT = 0,
   FW_STATUS_1_MOVE_BOOT_CODE = 1,
   FW_STATUS_2_MOVE_MAIN_CODE = 2,
   FW_STATUS_3_TURNON_CPU = 3,
   FW_STATUS_4_MOVE_DATA_CODE = 4,
   FW_STATUS_5_READY = 5,
};
 
#define MAX_FW_SIZE 64000
struct rt_fw_blob {
   u16 size;
   u8 data[MAX_FW_SIZE];
};
 
#define FW_BLOBS 3
struct rt_firmware {
   enum firmware_status status;
   struct rt_fw_blob blobs[FW_BLOBS];
};
 
bool rtl92e_init_fw(struct net_device *dev);
#endif