1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved. |
4 | * |
5 | * Contact Information: wlanfae <wlanfae@realtek.com> |
6 | */ |
7 | #ifndef __INC_FIRMWARE_H |
8 | #define __INC_FIRMWARE_H |
9 | |
10 | #define RTL8192E_BOOT_IMG_FW "RTL8192E/boot.img" |
11 | #define RTL8192E_MAIN_IMG_FW "RTL8192E/main.img" |
12 | #define RTL8192E_DATA_IMG_FW "RTL8192E/data.img" |
13 | |
14 | enum firmware_init_step { |
15 | FW_INIT_STEP0_BOOT = 0, |
16 | FW_INIT_STEP1_MAIN = 1, |
17 | FW_INIT_STEP2_DATA = 2, |
18 | }; |
19 | |
20 | enum opt_rst_type { |
21 | OPT_SYSTEM_RESET = 0, |
22 | OPT_FIRMWARE_RESET = 1, |
23 | }; |
24 | |
25 | enum desc_packet_type { |
26 | DESC_PACKET_TYPE_INIT = 0, |
27 | DESC_PACKET_TYPE_NORMAL = 1, |
28 | }; |
29 | |
30 | enum firmware_status { |
31 | FW_STATUS_0_INIT = 0, |
32 | FW_STATUS_1_MOVE_BOOT_CODE = 1, |
33 | FW_STATUS_2_MOVE_MAIN_CODE = 2, |
34 | FW_STATUS_3_TURNON_CPU = 3, |
35 | FW_STATUS_4_MOVE_DATA_CODE = 4, |
36 | FW_STATUS_5_READY = 5, |
37 | }; |
38 | |
39 | #define MAX_FW_SIZE 64000 |
40 | struct rt_fw_blob { |
41 | u16 size; |
42 | u8 data[MAX_FW_SIZE]; |
43 | }; |
44 | |
45 | #define FW_BLOBS 3 |
46 | struct rt_firmware { |
47 | enum firmware_status status; |
48 | struct rt_fw_blob blobs[FW_BLOBS]; |
49 | }; |
50 | |
51 | bool rtl92e_init_fw(struct net_device *dev); |
52 | #endif |
53 | |