/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved. * * Contact Information: wlanfae */ #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