142 lines
4.3 KiB
Plaintext
142 lines
4.3 KiB
Plaintext
/* aheader.h: [one line description of the file]
|
|
* --------------------------------------------------------------------
|
|
*
|
|
* [Project Name]
|
|
*
|
|
* [License Statement, eg.
|
|
* The contents of this file are subject to the Mozilla Public
|
|
* License Version 1.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/MPL/ ]
|
|
*
|
|
* [Warranty Statement, eg.
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License. ]
|
|
*
|
|
* [Author contact, eg.
|
|
* The initial developer of the original code is Mark S. Mathews
|
|
* < mark@absoval.com >. Portions created by Mark S. Mathews
|
|
* are Copyright (C) 1998 AbsoluteValue Software, Inc. All
|
|
* Rights Reserved. ]
|
|
*
|
|
* [Change History]
|
|
*
|
|
* [Verbose Description]
|
|
*
|
|
* [Implementation and usage notes]
|
|
*
|
|
* [References]
|
|
*
|
|
* --------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef _AHEADER_H
|
|
#define _AHEADER_H
|
|
|
|
/*=============================================================*/
|
|
/*------ Constants --------------------------------------------*/
|
|
|
|
/*--- Fixed memory offsets --------------------------*/
|
|
#define SU_OFF_LAST_TXDESC 0x3ec
|
|
#define SU_OFF_RSVD1 0x400
|
|
#define SU_OFF_BANNER 0x480
|
|
#define SU_OFF_CMD_BLK 0x4a0
|
|
#define SU_OFF_CNTL_STATUS_BLK 0x4f0
|
|
#define SU_OFF_VBM 0x500
|
|
#define SU_OFF_BUFFER 0x600
|
|
|
|
/*--- Global Sizes ----------------------------------*/
|
|
#define SU_LEN_BANNER 32
|
|
|
|
|
|
|
|
/*=============================================================*/
|
|
/*------ Macros -----------------------------------------------*/
|
|
|
|
/*--- next testing macro (applies to Rx and Tx) -------*/
|
|
#define SUTXD_ISLAST(x) ((x) & BIT31)
|
|
#define SURXD_ISLAST(x) ((x) & BIT31)
|
|
|
|
|
|
/*=============================================================*/
|
|
/*------ Types and their related constants --------------------*/
|
|
|
|
/*--- Last Completed Tx Descriptor Block ---------------*/
|
|
__WLAN_PRAGMA_PACK1__
|
|
typedef struct am930txcmplt_blk
|
|
{
|
|
volatile UINT32 last_bcast __WLAN_ATTRIB_PACK__;
|
|
volatile UINT32 last_mgmt __WLAN_ATTRIB_PACK__;
|
|
volatile UINT32 last_data __WLAN_ATTRIB_PACK__;
|
|
volatile UINT32 last_pspoll __WLAN_ATTRIB_PACK__;
|
|
volatile UINT32 last_cfpoll __WLAN_ATTRIB_PACK__;
|
|
} am930txcmplt_blk_t;
|
|
__WLAN_PRAGMA_PACKDFLT__
|
|
|
|
#define TXCMPLT_OFF_BCAST 0
|
|
#define TXCMPLT_OFF_MGMT 4
|
|
#define TXCMPLT_OFF_DATA 8
|
|
#define TXCMPLT_OFF_PSPOLL 12
|
|
#define TXCMPLT_OFF_CFPOLL 16
|
|
|
|
typedef void (*am930hw_scan_callback_t)(void *);
|
|
|
|
/*=============================================================*/
|
|
/*--- Function Declarations -----------------------------------*/
|
|
/*=============================================================*/
|
|
/* public: */
|
|
am930hw_t*
|
|
am930hw_construct(UINT32 irq, UINT32 iobase,
|
|
UINT32 membase, am930mac_t *mac);
|
|
|
|
void
|
|
am930hw_destruct(am930hw_t *hw);
|
|
|
|
int
|
|
am930hw_init_rx_tx( am930hw_t *hw );
|
|
|
|
void
|
|
am930hw_ISR( am930hw_t *hw );
|
|
|
|
UINT32
|
|
am930hw_joinbss( am930hw_t *hw, UINT32 ch, UINT32 newBSS,
|
|
UINT8 *bssid, wlan_ie_ssid_t *ssid, UINT32 bcn_int,
|
|
wlan_bss_ts_t ts, UINT32 sutro_ref_time );
|
|
|
|
UINT32
|
|
am930hw_scan( am930hw_t *hw, UINT32 cntl, UINT8 *bssid,
|
|
UINT32 ch, UINT32 duration,
|
|
am930hw_scan_callback_t cb, void *callback_arg );
|
|
|
|
UINT32
|
|
am930hw_reset( am930hw_t *hw );
|
|
|
|
/*=============================================================*/
|
|
/*--- Inline Function Definitions (if supported) --------------*/
|
|
/*=============================================================*/
|
|
|
|
/*----------------------------------------------------------------
|
|
* am930hw_reset
|
|
*
|
|
* Perform reset of am930 part and test for valid operation
|
|
* operation following reset.
|
|
*
|
|
* returns: zero on success, non-zero if part fails to come up
|
|
* after reset.
|
|
----------------------------------------------------------------*/
|
|
__INLINE__ UINT32 am930hw_reset( am930hw_t* hw)
|
|
{
|
|
UINT32 result = 0;
|
|
|
|
/* perform reset */
|
|
/* test part */
|
|
return result;
|
|
}
|
|
|
|
#endif /* _AHEADER_H */
|
|
</PRE></TD>
|
|
</TABLE>
|
|
|