blob: 2ac4ceafa11ffafb7794987d710df1a88304869a [file] [log] [blame]
/*
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef __PLD_SDIO_H__
#define __PLD_SDIO_H__
#include "pld_common.h"
#ifndef CONFIG_CNSS
#define PLD_AR6004_VERSION_REV1_3 0x31c8088a
#define PLD_AR9888_REV2_VERSION 0x4100016c
#define PLD_AR6320_REV1_VERSION 0x5000000
#define PLD_AR6320_REV1_1_VERSION 0x5000001
#define PLD_AR6320_REV1_3_VERSION 0x5000003
#define PLD_AR6320_REV2_1_VERSION 0x5010000
#define PLD_AR6320_REV3_VERSION 0x5020000
#define PLD_AR6320_REV3_2_VERSION 0x5030000
#define PLD_AR6320_DEV_VERSION 0x1000000
#define PLD_QCA9377_REV1_1_VERSION 0x5020001
#ifdef MULTI_IF_NAME
#define PREFIX MULTI_IF_NAME
#else
#define PREFIX ""
#endif
struct pld_fw_files fw_files_qca6174_fw_1_1 = {
PREFIX "qwlan11.bin", PREFIX "bdwlan11.bin", PREFIX "otp11.bin",
PREFIX "utf11.bin", PREFIX "utfbd11.bin", PREFIX "qsetup11.bin",
PREFIX "epping11.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_2_0 = {
PREFIX "qwlan20.bin", PREFIX "bdwlan20.bin", PREFIX "otp20.bin",
PREFIX "utf20.bin", PREFIX "utfbd20.bin", PREFIX "qsetup20.bin",
PREFIX "epping20.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_1_3 = {
PREFIX "qwlan13.bin", PREFIX "bdwlan13.bin", PREFIX "otp13.bin",
PREFIX "utf13.bin", PREFIX "utfbd13.bin", PREFIX "qsetup13.bin",
PREFIX "epping13.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_3_0 = {
PREFIX "qwlan30.bin", PREFIX "bdwlan30.bin", PREFIX "otp30.bin",
PREFIX "utf30.bin", PREFIX "utfbd30.bin", PREFIX "qsetup30.bin",
PREFIX "epping30.bin", PREFIX "qwlan30i.bin"};
struct pld_fw_files fw_files_default = {
PREFIX "qwlan.bin", PREFIX "bdwlan.bin", PREFIX "otp.bin",
PREFIX "utf.bin", PREFIX "utfbd.bin", PREFIX "qsetup.bin",
PREFIX "epping.bin", ""};
#endif
#ifndef CONFIG_SDIO
static inline int pld_sdio_register_driver(void)
{
return 0;
}
static inline void pld_sdio_unregister_driver(void)
{
}
static inline
int pld_sdio_get_fw_files_for_target(struct pld_fw_files *pfw_files,
u32 target_type, u32 target_version)
{
return 0;
}
static inline uint8_t *pld_sdio_get_wlan_mac_address(struct device *dev,
uint32_t *num)
{
*num = 0;
return NULL;
}
#else
int pld_sdio_register_driver(void);
void pld_sdio_unregister_driver(void);
int pld_sdio_get_fw_files_for_target(struct pld_fw_files *pfw_files,
u32 target_type, u32 target_version);
static inline uint8_t *pld_sdio_get_wlan_mac_address(struct device *dev,
uint32_t *num)
{
return cnss_common_get_wlan_mac_address(dev, num);
}
#endif
#endif