ADD_DEFINITIONS(-DTIZEN_TELEPHONY_ENABLE)
ENDIF(TIZEN_TELEPHONY_ENABLE)
+IF(TIZEN_WLAN_BOARD_SPRD)
+ ADD_DEFINITIONS(-DTIZEN_WLAN_BOARD_SPRD)
+ENDIF(TIZEN_WLAN_BOARD_SPRD)
+
IF(TIZEN_DEBUG_DISABLE)
ADD_DEFINITIONS(-DTIZEN_DEBUG_DISABLE)
SET(SRCS ${SRCS} src/wifi-dump.c)
void __netconfig_wifi_connect_reply(GObject *source_object, GAsyncResult *res,
gpointer user_data);
+#if defined TIZEN_WLAN_BOARD_SPRD
+int wifi_firmware_download(void);
+#endif
+
void wifi_object_create_and_init(void);
void wifi_object_deinit(void);
/* For device policy manager */
netconfig_dpm_init();
+#if defined TIZEN_WLAN_BOARD_SPRD
+ wifi_firmware_download();
+#endif
+
/*In case no emulator, set the ETH0 Mac address*/
#if defined TIZEN_TV
if (emulator_is_emulated() == FALSE)
#include "wifi-config.h"
#include "wifi-tdls.h"
+#if defined TIZEN_WLAN_BOARD_SPRD
+#define SPRD_CP2_FIRMWARE_PATH "/usr/bin/cp2-downloader"
+static int is_wifi_firmware_downloaded = FALSE;
+#endif
+
static Wifi *wifi_object = NULL;
static NetConnmanAgent *connman_agent_object = NULL;
static WifiFirmware *wififirmware_object = NULL;
gchar *mac_addr = NULL;
mac_addr = vconf_get_str(VCONFKEY_WIFI_BSSID_ADDRESS);
- if (mac_addr != NULL) {
+ if (mac_addr == NULL) {
if (strlen(mac_addr) == 0)
netconfig_set_mac_address_from_file();
g_free(mac_addr);
return;
}
+#if defined TIZEN_WLAN_BOARD_SPRD
+int wifi_firmware_download(void)
+{
+ int rv = 0;
+ const char *path = SPRD_CP2_FIRMWARE_PATH;
+ char *const args[] = { SPRD_CP2_FIRMWARE_PATH, NULL };
+ char *const envs[] = { NULL };
+
+ if (!is_wifi_firmware_downloaded) {
+ rv = netconfig_execute_file(path, args, envs);
+ if (rv < 0) {
+ DBG("wifi firmware download fails");
+ return -EIO;
+ }
+ is_wifi_firmware_downloaded = TRUE;
+ DBG("wifi firmware download successes");
+ }
+
+ return 0;
+}
+#endif
+
void wifi_object_create_and_init(void)
{
DBG("Create wifi object.");