linux/drivers/net/wireless/realtek/rtl8xxxu/8188f.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * RTL8XXXU mac80211 USB driver - 8188f specific subdriver
 *
 * Copyright (c) 2022 Bitterblue Smith <[email protected]>
 *
 * Portions copied from existing rtl8xxxu code:
 * Copyright (c) 2014 - 2017 Jes Sorensen <[email protected]>
 *
 * Portions, notably calibration code:
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 */

#include "regs.h"
#include "rtl8xxxu.h"

static const struct rtl8xxxu_reg8val rtl8188f_mac_init_table[] =;

static const struct rtl8xxxu_reg32val rtl8188fu_phy_init_table[] =;

static const struct rtl8xxxu_reg32val rtl8188f_agc_table[] =;

static const struct rtl8xxxu_rfregval rtl8188fu_radioa_init_table[] =;

static const struct rtl8xxxu_rfregval rtl8188fu_cut_b_radioa_init_table[] =;

static int rtl8188fu_identify_chip(struct rtl8xxxu_priv *priv)
{}

void rtl8188f_channel_to_group(int channel, int *group, int *cck_group)
{}

void
rtl8188f_set_tx_power(struct rtl8xxxu_priv *priv, int channel, bool ht40)
{}

/* A workaround to eliminate the 2400MHz, 2440MHz, 2480MHz spur of 8188F. */
static void rtl8188f_spur_calibration(struct rtl8xxxu_priv *priv, u8 channel)
{}

static void rtl8188fu_config_channel(struct ieee80211_hw *hw)
{}

static void rtl8188fu_init_aggregation(struct rtl8xxxu_priv *priv)
{}

static void rtl8188fu_init_statistics(struct rtl8xxxu_priv *priv)
{}

#define TX_POWER_INDEX_MAX
#define TX_POWER_INDEX_DEFAULT_CCK
#define TX_POWER_INDEX_DEFAULT_HT40

static int rtl8188fu_parse_efuse(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_load_firmware(struct rtl8xxxu_priv *priv)
{}

static void rtl8188fu_init_phy_bb(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_init_phy_rf(struct rtl8xxxu_priv *priv)
{}

void rtl8188f_phy_lc_calibrate(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_iqk_path_a(struct rtl8xxxu_priv *priv, u32 *lok_result)
{}

static int rtl8188fu_rx_iqk_path_a(struct rtl8xxxu_priv *priv, u32 lok_result)
{}

static void rtl8188fu_phy_iqcalibrate(struct rtl8xxxu_priv *priv,
				      int result[][8], int t)
{}

static void rtl8188fu_phy_iq_calibrate(struct rtl8xxxu_priv *priv)
{}

static void rtl8188f_disabled_to_emu(struct rtl8xxxu_priv *priv)
{}

static int rtl8188f_emu_to_active(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_active_to_emu(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_emu_to_disabled(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_active_to_lps(struct rtl8xxxu_priv *priv)
{}

static int rtl8188fu_power_on(struct rtl8xxxu_priv *priv)
{}

static void rtl8188fu_power_off(struct rtl8xxxu_priv *priv)
{}

#define PPG_BB_GAIN_2G_TXA_OFFSET_8188F
#define PPG_BB_GAIN_2G_TX_OFFSET_MASK

static void rtl8188f_enable_rf(struct rtl8xxxu_priv *priv)
{}

static void rtl8188f_disable_rf(struct rtl8xxxu_priv *priv)
{}

static void rtl8188f_usb_quirks(struct rtl8xxxu_priv *priv)
{}

#define XTAL1
#define XTAL0

void rtl8188f_set_crystal_cap(struct rtl8xxxu_priv *priv, u8 crystal_cap)
{}

static s8 rtl8188f_cck_rssi(struct rtl8xxxu_priv *priv, struct rtl8723au_phy_stats *phy_stats)
{}

struct rtl8xxxu_fileops rtl8188fu_fops =;