xref: /linux/drivers/net/wireless/ti/wlcore/boot.h (revision e7d759f31ca295d589f7420719c311870bb3166f)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * This file is part of wl1271
4  *
5  * Copyright (C) 2008-2009 Nokia Corporation
6  *
7  * Contact: Luciano Coelho <luciano.coelho@nokia.com>
8  */
9 
10 #ifndef __BOOT_H__
11 #define __BOOT_H__
12 
13 #include "wlcore.h"
14 
15 int wlcore_boot_upload_firmware(struct wl1271 *wl);
16 int wlcore_boot_upload_nvs(struct wl1271 *wl);
17 int wlcore_boot_run_firmware(struct wl1271 *wl);
18 
19 #define WL1271_NO_SUBBANDS 8
20 #define WL1271_NO_POWER_LEVELS 4
21 #define WL1271_FW_VERSION_MAX_LEN 20
22 
23 struct wl1271_static_data {
24 	u8 mac_address[ETH_ALEN];
25 	u8 padding[2];
26 	u8 fw_version[WL1271_FW_VERSION_MAX_LEN];
27 	u32 hw_version;
28 	u8 tx_power_table[WL1271_NO_SUBBANDS][WL1271_NO_POWER_LEVELS];
29 	u8 priv[];
30 };
31 
32 /* number of times we try to read the INIT interrupt */
33 #define INIT_LOOP 20000
34 
35 /* delay between retries */
36 #define INIT_LOOP_DELAY 50
37 
38 #define WU_COUNTER_PAUSE_VAL 0x3FF
39 #define WELP_ARM_COMMAND_VAL 0x4
40 
41 #endif
42