linux/drivers/net/wireless/realtek/rtlwifi/efuse.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2009-2012  Realtek Corporation.*/

#include "wifi.h"
#include "efuse.h"
#include "pci.h"
#include <linux/export.h>

static const u8 PGPKT_DATA_SIZE =;
static const int EFUSE_MAX_SIZE =;

#define START_ADDRESS
#define REG_MCUFWDL

static const struct rtl_efuse_ops efuse_ops =;

static void efuse_shadow_read_1byte(struct ieee80211_hw *hw, u16 offset,
				    u8 *value);
static void efuse_shadow_read_2byte(struct ieee80211_hw *hw, u16 offset,
				    u16 *value);
static void efuse_shadow_read_4byte(struct ieee80211_hw *hw, u16 offset,
				    u32 *value);
static void efuse_shadow_write_1byte(struct ieee80211_hw *hw, u16 offset,
				     u8 value);
static void efuse_shadow_write_2byte(struct ieee80211_hw *hw, u16 offset,
				     u16 value);
static void efuse_shadow_write_4byte(struct ieee80211_hw *hw, u16 offset,
				     u32 value);
static int efuse_one_byte_write(struct ieee80211_hw *hw, u16 addr,
				u8 data);
static void efuse_read_all_map(struct ieee80211_hw *hw, u8 *efuse);
static int efuse_pg_packet_read(struct ieee80211_hw *hw, u8 offset,
				u8 *data);
static int efuse_pg_packet_write(struct ieee80211_hw *hw, u8 offset,
				 u8 word_en, u8 *data);
static void efuse_word_enable_data_read(u8 word_en, u8 *sourdata,
					u8 *targetdata);
static u8 enable_efuse_data_write(struct ieee80211_hw *hw,
				  u16 efuse_addr, u8 word_en, u8 *data);
static u16 efuse_get_current_size(struct ieee80211_hw *hw);
static u8 efuse_calculate_word_cnts(u8 word_en);

void efuse_initialize(struct ieee80211_hw *hw)
{}

u8 efuse_read_1byte(struct ieee80211_hw *hw, u16 address)
{}
EXPORT_SYMBOL();

void efuse_write_1byte(struct ieee80211_hw *hw, u16 address, u8 value)
{}

void read_efuse_byte(struct ieee80211_hw *hw, u16 _offset, u8 *pbuf)
{}
EXPORT_SYMBOL_GPL();

void read_efuse(struct ieee80211_hw *hw, u16 _offset, u16 _size_byte, u8 *pbuf)
{}

bool efuse_shadow_update_chk(struct ieee80211_hw *hw)
{}

void efuse_shadow_read(struct ieee80211_hw *hw, u8 type,
		       u16 offset, u32 *value)
{}
EXPORT_SYMBOL();

void efuse_shadow_write(struct ieee80211_hw *hw, u8 type, u16 offset,
				u32 value)
{}

bool efuse_shadow_update(struct ieee80211_hw *hw)
{}

void rtl_efuse_shadow_map_update(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL();

void efuse_force_write_vendor_id(struct ieee80211_hw *hw)
{}

void efuse_re_pg_section(struct ieee80211_hw *hw, u8 section_idx)
{}

static void efuse_shadow_read_1byte(struct ieee80211_hw *hw,
				    u16 offset, u8 *value)
{}

static void efuse_shadow_read_2byte(struct ieee80211_hw *hw,
				    u16 offset, u16 *value)
{}

static void efuse_shadow_read_4byte(struct ieee80211_hw *hw,
				    u16 offset, u32 *value)
{}

static void efuse_shadow_write_1byte(struct ieee80211_hw *hw,
				     u16 offset, u8 value)
{}

static void efuse_shadow_write_2byte(struct ieee80211_hw *hw,
				     u16 offset, u16 value)
{}

static void efuse_shadow_write_4byte(struct ieee80211_hw *hw,
				     u16 offset, u32 value)
{}

int efuse_one_byte_read(struct ieee80211_hw *hw, u16 addr, u8 *data)
{}
EXPORT_SYMBOL();

static int efuse_one_byte_write(struct ieee80211_hw *hw, u16 addr, u8 data)
{}

static void efuse_read_all_map(struct ieee80211_hw *hw, u8 *efuse)
{}

static void efuse_read_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
				u8 efuse_data, u8 offset, u8 *tmpdata,
				u8 *readstate)
{}

static int efuse_pg_packet_read(struct ieee80211_hw *hw, u8 offset, u8 *data)
{}

static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
				   u8 efuse_data, u8 offset,
				   int *continual, u8 *write_state,
				   struct pgpkt_struct *target_pkt,
				   int *repeat_times, int *result, u8 word_en)
{}

static void efuse_write_data_case2(struct ieee80211_hw *hw, u16 *efuse_addr,
				   int *continual, u8 *write_state,
				   struct pgpkt_struct target_pkt,
				   int *repeat_times, int *result)
{}

static int efuse_pg_packet_write(struct ieee80211_hw *hw,
				 u8 offset, u8 word_en, u8 *data)
{}

static void efuse_word_enable_data_read(u8 word_en, u8 *sourdata,
					u8 *targetdata)
{}

static u8 enable_efuse_data_write(struct ieee80211_hw *hw,
				  u16 efuse_addr, u8 word_en, u8 *data)
{}

void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
{}
EXPORT_SYMBOL();

static u16 efuse_get_current_size(struct ieee80211_hw *hw)
{}

static u8 efuse_calculate_word_cnts(u8 word_en)
{}

int rtl_get_hwinfo(struct ieee80211_hw *hw, struct rtl_priv *rtlpriv,
		   int max_size, u8 *hwinfo, const int *params)
{}
EXPORT_SYMBOL_GPL();

static void _rtl_fw_block_write_usb(struct ieee80211_hw *hw, u8 *buffer, u32 size)
{}

void rtl_fw_block_write(struct ieee80211_hw *hw, u8 *buffer, u32 size)
{}
EXPORT_SYMBOL_GPL();

void rtl_fw_page_write(struct ieee80211_hw *hw, u32 page, u8 *buffer,
		       u32 size)
{}
EXPORT_SYMBOL_GPL();

void rtl_fill_dummy(u8 *pfwbuf, u32 *pfwlen)
{}
EXPORT_SYMBOL_GPL();

void rtl_efuse_ops_init(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL_GPL();