diff options
author | Yunhong Jiang <yunhong.jiang@intel.com> | 2015-08-04 12:17:53 -0700 |
---|---|---|
committer | Yunhong Jiang <yunhong.jiang@intel.com> | 2015-08-04 15:44:42 -0700 |
commit | 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (patch) | |
tree | 1c9cafbcd35f783a87880a10f85d1a060db1a563 /kernel/drivers/staging/rtl8712/rtl8712_hal.h | |
parent | 98260f3884f4a202f9ca5eabed40b1354c489b29 (diff) |
Add the rt linux 4.1.3-rt3 as base
Import the rt linux 4.1.3-rt3 as OPNFV kvm base.
It's from git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt and
the base is:
commit 0917f823c59692d751951bf5ea699a2d1e2f26a2
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat Jul 25 12:13:34 2015 +0200
Prepare v4.1.3-rt3
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
We lose all the git history this way and it's not good. We
should apply another opnfv project repo in future.
Change-Id: I87543d81c9df70d99c5001fbdf646b202c19f423
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Diffstat (limited to 'kernel/drivers/staging/rtl8712/rtl8712_hal.h')
-rw-r--r-- | kernel/drivers/staging/rtl8712/rtl8712_hal.h | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/kernel/drivers/staging/rtl8712/rtl8712_hal.h b/kernel/drivers/staging/rtl8712/rtl8712_hal.h new file mode 100644 index 000000000..4c51fa373 --- /dev/null +++ b/kernel/drivers/staging/rtl8712/rtl8712_hal.h @@ -0,0 +1,150 @@ +/****************************************************************************** + * + * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * Modifications for inclusion into the Linux staging tree are + * Copyright(c) 2010 Larry Finger. All rights reserved. + * + * Contact information: + * WLAN FAE <wlanfae@realtek.com> + * Larry Finger <Larry.Finger@lwfinger.net> + * + ******************************************************************************/ +#ifndef __RTL8712_HAL_H__ +#define __RTL8712_HAL_H__ + +enum _HW_VERSION { + RTL8712_FPGA, + RTL8712_1stCUT, /*A Cut (RTL8712_ASIC)*/ + RTL8712_2ndCUT, /*B Cut*/ + RTL8712_3rdCUT, /*C Cut*/ +}; + +enum _LOOPBACK_TYPE { + RTL8712_AIR_TRX = 0, + RTL8712_MAC_LBK, + RTL8712_BB_LBK, + RTL8712_MAC_FW_LBK = 4, + RTL8712_BB_FW_LBK = 8, +}; + +enum RTL871X_HCI_TYPE { + RTL8712_SDIO, + RTL8712_USB, +}; + +enum RTL8712_RF_CONFIG { + RTL8712_RF_1T1R, + RTL8712_RF_1T2R, + RTL8712_RF_2T2R +}; + +enum _RTL8712_HCI_TYPE_ { + RTL8712_HCI_TYPE_PCIE = 0x01, + RTL8712_HCI_TYPE_AP_PCIE = 0x81, + RTL8712_HCI_TYPE_USB = 0x02, + RTL8712_HCI_TYPE_92USB = 0x02, + RTL8712_HCI_TYPE_AP_USB = 0x82, + RTL8712_HCI_TYPE_72USB = 0x12, + RTL8712_HCI_TYPE_SDIO = 0x04, + RTL8712_HCI_TYPE_72SDIO = 0x14 +}; + +struct fw_priv { /*8-bytes alignment required*/ + /*--- long word 0 ----*/ + unsigned char signature_0; /*0x12: CE product, 0x92: IT product*/ + unsigned char signature_1; /*0x87: CE product, 0x81: IT product*/ + unsigned char hci_sel; /*0x81: PCI-AP, 01:PCIe, 02: 92S-U, 0x82: USB-AP, + * 0x12: 72S-U, 03:SDIO*/ + unsigned char chip_version; /*the same value as register value*/ + unsigned char customer_ID_0; /*customer ID low byte*/ + unsigned char customer_ID_1; /*customer ID high byte*/ + unsigned char rf_config; /*0x11: 1T1R, 0x12: 1T2R, 0x92: 1T2R turbo, + * 0x22: 2T2R*/ + unsigned char usb_ep_num; /* 4: 4EP, 6: 6EP, 11: 11EP*/ + /*--- long word 1 ----*/ + unsigned char regulatory_class_0; /*regulatory class bit map 0*/ + unsigned char regulatory_class_1; /*regulatory class bit map 1*/ + unsigned char regulatory_class_2; /*regulatory class bit map 2*/ + unsigned char regulatory_class_3; /*regulatory class bit map 3*/ + unsigned char rfintfs; /* 0:SWSI, 1:HWSI, 2:HWPI*/ + unsigned char def_nettype; + unsigned char turboMode; + unsigned char lowPowerMode;/* 0: normal mode, 1: low power mode*/ + /*--- long word 2 ----*/ + unsigned char lbk_mode; /*0x00: normal, 0x03: MACLBK, 0x01: PHYLBK*/ + unsigned char mp_mode; /* 1: for MP use, 0: for normal driver */ + unsigned char vcsType; /* 0:off 1:on 2:auto */ + unsigned char vcsMode; /* 1:RTS/CTS 2:CTS to self */ + unsigned char rsvd022; + unsigned char rsvd023; + unsigned char rsvd024; + unsigned char rsvd025; + /*--- long word 3 ----*/ + unsigned char qos_en; /*1: QoS enable*/ + unsigned char bw_40MHz_en; /*1: 40MHz BW enable*/ + unsigned char AMSDU2AMPDU_en; /*1: 4181 convert AMSDU to AMPDU, + * 0: disable*/ + unsigned char AMPDU_en; /*1: 11n AMPDU enable*/ + unsigned char rate_control_offload; /*1: FW offloads,0: driver handles*/ + unsigned char aggregation_offload; /*1: FW offloads,0: driver handles*/ + unsigned char rsvd030; + unsigned char rsvd031; + /*--- long word 4 ----*/ + unsigned char beacon_offload; /* 1. FW offloads, 0: driver handles*/ + unsigned char MLME_offload; /* 2. FW offloads, 0: driver handles*/ + unsigned char hwpc_offload; /* 3. FW offloads, 0: driver handles*/ + unsigned char tcp_checksum_offload; /*4. FW offloads,0: driver handles*/ + unsigned char tcp_offload; /* 5. FW offloads, 0: driver handles*/ + unsigned char ps_control_offload; /* 6. FW offloads, 0: driver handles*/ + unsigned char WWLAN_offload; /* 7. FW offloads, 0: driver handles*/ + unsigned char rsvd040; + /*--- long word 5 ----*/ + unsigned char tcp_tx_frame_len_L; /*tcp tx packet length low byte*/ + unsigned char tcp_tx_frame_len_H; /*tcp tx packet length high byte*/ + unsigned char tcp_rx_frame_len_L; /*tcp rx packet length low byte*/ + unsigned char tcp_rx_frame_len_H; /*tcp rx packet length high byte*/ + unsigned char rsvd050; + unsigned char rsvd051; + unsigned char rsvd052; + unsigned char rsvd053; +}; + +struct fw_hdr {/*8-byte alignment required*/ + unsigned short signature; + unsigned short version; /*0x8000 ~ 0x8FFF for FPGA version, + *0x0000 ~ 0x7FFF for ASIC version,*/ + unsigned int dmem_size; /*define the size of boot loader*/ + unsigned int img_IMEM_size; /*define the size of FW in IMEM*/ + unsigned int img_SRAM_size; /*define the size of FW in SRAM*/ + unsigned int fw_priv_sz; /*define the size of DMEM variable*/ + unsigned short efuse_addr; + unsigned short h2ccnd_resp_addr; + unsigned int SVNRevision; + unsigned int release_time; /*Mon:Day:Hr:Min*/ + struct fw_priv fwpriv; +}; + +struct hal_priv { + /*Endpoint handles*/ + struct net_device *pipehdls_r8712[10]; + u8 (*hal_bus_init)(struct _adapter *adapter); +}; + +uint rtl8712_hal_init(struct _adapter *padapter); +int rtl871x_load_fw(struct _adapter *padapter); + +#endif |