linux/drivers/staging/vt6656/baseband.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 * All rights reserved.
 *
 * Purpose: Implement functions to access baseband
 *
 * Author: Jerry Chen
 *
 * Date: Jun. 5, 2002
 *
 * Revision History:
 *      06-10-2003 Bryan YC Fan:  Re-write codes to support VT3253 spec.
 *      08-26-2003 Kyle Hsu    :  Add defines of packet type and TX rate.
 */

#ifndef __BASEBAND_H__
#define __BASEBAND_H__

#include "device.h"

#define PREAMBLE_LONG
#define PREAMBLE_SHORT

/*
 * Registers in the BASEBAND
 */
#define BB_MAX_CONTEXT_SIZE

#define C_SIFS_A
#define C_SIFS_BG

#define C_EIFS

#define C_SLOT_SHORT
#define C_SLOT_LONG

#define C_CWMIN_A
#define C_CWMIN_B

#define C_CWMAX

/* 0:11A 1:11B 2:11G */
#define BB_TYPE_11A
#define BB_TYPE_11B
#define BB_TYPE_11G

/* 0:11a, 1:11b, 2:11gb (only CCK in BasicRate), 3:11ga (OFDM in BasicRate) */
#define PK_TYPE_11A
#define PK_TYPE_11B
#define PK_TYPE_11GB
#define PK_TYPE_11GA

#define TOP_RATE_54M
#define TOP_RATE_48M
#define TOP_RATE_36M
#define TOP_RATE_24M
#define TOP_RATE_18M
#define TOP_RATE_12M
#define TOP_RATE_11M
#define TOP_RATE_9M
#define TOP_RATE_6M
#define TOP_RATE_55M
#define TOP_RATE_2M
#define TOP_RATE_1M

int vnt_set_short_slot_time(struct vnt_private *priv);
int vnt_set_vga_gain_offset(struct vnt_private *priv, u8 data);
int vnt_set_antenna_mode(struct vnt_private *priv, u8 antenna_mode);
int vnt_vt3184_init(struct vnt_private *priv);
int vnt_set_deep_sleep(struct vnt_private *priv);
int vnt_exit_deep_sleep(struct vnt_private *priv);
int vnt_update_pre_ed_threshold(struct vnt_private *priv, int scanning);

#endif /* __BASEBAND_H__ */