Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8732881c59 | |||
| 82ba594a44 |
+1
-1
@@ -65,7 +65,7 @@ BES2600_DRV_VERSION := bes2600_0.3.5_2024.0116
|
|||||||
|
|
||||||
ifeq ($(CONFIG_BES2600_CALIB_FROM_LINUX),y)
|
ifeq ($(CONFIG_BES2600_CALIB_FROM_LINUX),y)
|
||||||
FACTORY_CRC_CHECK ?= n
|
FACTORY_CRC_CHECK ?= n
|
||||||
STANDARD_FACTORY_EFUSE_FLAG ?= y
|
STANDARD_FACTORY_EFUSE_FLAG ?= n
|
||||||
FACTORY_PATH ?= bes2600/bes2600_factory.txt
|
FACTORY_PATH ?= bes2600/bes2600_factory.txt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,18 @@
|
|||||||
|
|
||||||
static DEFINE_MUTEX(factory_lock);
|
static DEFINE_MUTEX(factory_lock);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* struct device * for request_firmware() context. Set once at SDIO
|
||||||
|
* probe via bes2600_factory_set_dev(). NULL is tolerated (falls back
|
||||||
|
* to the udev-less firmware-class path) but loses per-device logging.
|
||||||
|
*/
|
||||||
|
static struct device *bes2600_factory_dev;
|
||||||
|
|
||||||
|
void bes2600_factory_set_dev(struct device *dev)
|
||||||
|
{
|
||||||
|
bes2600_factory_dev = dev;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* It is only used for temporary storage.
|
* It is only used for temporary storage.
|
||||||
* Every time get the factory, it will read from the
|
* Every time get the factory, it will read from the
|
||||||
@@ -148,7 +160,7 @@ static int factory_section_read_file(char *path, void *buffer)
|
|||||||
|
|
||||||
bes_devel("requesting firmware-class %s\n", path);
|
bes_devel("requesting firmware-class %s\n", path);
|
||||||
|
|
||||||
ret = request_firmware(&fw, path, NULL);
|
ret = request_firmware(&fw, path, bes2600_factory_dev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
bes_devel("BES2600: request_firmware(%s) failed: %d\n", path, ret);
|
bes_devel("BES2600: request_firmware(%s) failed: %d\n", path, ret);
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -199,6 +199,9 @@ enum factory_cali_status {
|
|||||||
/* just calibrate 11n, other protocols are automatically mapped */
|
/* just calibrate 11n, other protocols are automatically mapped */
|
||||||
#define WIFI_RF_11N_MODE 0x15
|
#define WIFI_RF_11N_MODE 0x15
|
||||||
|
|
||||||
|
/* set the struct device * used for request_firmware() context */
|
||||||
|
void bes2600_factory_set_dev(struct device *dev);
|
||||||
|
|
||||||
/* read wifi & bt factory cali value*/
|
/* read wifi & bt factory cali value*/
|
||||||
u8* bes2600_get_factory_cali_data(u8 *file_buffer, u32 *data_len, char *path);
|
u8* bes2600_get_factory_cali_data(u8 *file_buffer, u32 *data_len, char *path);
|
||||||
void factory_little_endian_cvrt(u8 *data);
|
void factory_little_endian_cvrt(u8 *data);
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include "bes2600.h"
|
#include "bes2600.h"
|
||||||
#include "sbus.h"
|
#include "sbus.h"
|
||||||
#include "bes2600_plat.h"
|
#include "bes2600_plat.h"
|
||||||
|
#include "bes2600_factory.h"
|
||||||
#include "hwio.h"
|
#include "hwio.h"
|
||||||
#include "bes_chardev.h"
|
#include "bes_chardev.h"
|
||||||
#include "bes_log.h"
|
#include "bes_log.h"
|
||||||
@@ -1834,6 +1835,9 @@ static int bes2600_sdio_probe(struct sdio_func *func,
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
/* wire struct device into factory.c for request_firmware() context */
|
||||||
|
bes2600_factory_set_dev(dev);
|
||||||
|
|
||||||
self->pdata = bes2600_get_platform_data();
|
self->pdata = bes2600_get_platform_data();
|
||||||
self->func = func;
|
self->func = func;
|
||||||
self->dev = &func->dev;
|
self->dev = &func->dev;
|
||||||
|
|||||||
@@ -2236,7 +2236,5 @@ int wsm_cpu_usage_cmd(struct bes2600_common *hw_priv);
|
|||||||
|
|
||||||
int wsm_wifi_status_cmd(struct bes2600_common *hw_priv, uint32_t status);
|
int wsm_wifi_status_cmd(struct bes2600_common *hw_priv, uint32_t status);
|
||||||
|
|
||||||
#if defined(STANDARD_FACTORY_EFUSE_FLAG)
|
|
||||||
int wsm_save_factory_txt_to_mcu(struct bes2600_common *hw_priv, const u8 *data, int if_id, enum bes2600_rf_cmd_type cmd_type);
|
int wsm_save_factory_txt_to_mcu(struct bes2600_common *hw_priv, const u8 *data, int if_id, enum bes2600_rf_cmd_type cmd_type);
|
||||||
#endif
|
|
||||||
#endif /* BES2600_HWIO_H_INCLUDED */
|
#endif /* BES2600_HWIO_H_INCLUDED */
|
||||||
|
|||||||
Reference in New Issue
Block a user