144 lines
3.7 KiB
C
144 lines
3.7 KiB
C
//------------------------------------------------------------------------------
|
|
// ISC License (ISC)
|
|
//
|
|
// Copyright (c) 2004-2010, The Linux Foundation
|
|
// All rights reserved.
|
|
// Software was previously licensed under ISC license by Qualcomm Atheros, Inc.
|
|
//
|
|
//
|
|
// Permission to use, copy, modify, and/or distribute this software for any
|
|
// purpose with or without fee is hereby granted, provided that the above
|
|
// copyright notice and this permission notice appear in all copies.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
//
|
|
//
|
|
//------------------------------------------------------------------------------
|
|
//==============================================================================
|
|
// BMI declarations and prototypes
|
|
//
|
|
// Author(s): ="Atheros"
|
|
//==============================================================================
|
|
#ifndef _BMI_H_
|
|
#define _BMI_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* Header files */
|
|
#include "a_config.h"
|
|
#include "athdefs.h"
|
|
#include "a_types.h"
|
|
#include "hif.h"
|
|
#include "a_osapi.h"
|
|
#include "bmi_msg.h"
|
|
|
|
void
|
|
BMIInit(void);
|
|
|
|
void
|
|
BMICleanup(void);
|
|
|
|
A_STATUS
|
|
BMIDone(HIF_DEVICE *device);
|
|
|
|
A_STATUS
|
|
BMIGetTargetInfo(HIF_DEVICE *device, struct bmi_target_info *targ_info);
|
|
|
|
A_STATUS
|
|
BMIReadMemory(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length);
|
|
|
|
A_STATUS
|
|
BMIWriteMemory(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length);
|
|
|
|
A_STATUS
|
|
BMIExecute(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UINT32 *param);
|
|
|
|
A_STATUS
|
|
BMISetAppStart(HIF_DEVICE *device,
|
|
A_UINT32 address);
|
|
|
|
A_STATUS
|
|
BMIReadSOCRegister(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UINT32 *param);
|
|
|
|
A_STATUS
|
|
BMIWriteSOCRegister(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UINT32 param);
|
|
|
|
A_STATUS
|
|
BMIrompatchInstall(HIF_DEVICE *device,
|
|
A_UINT32 ROM_addr,
|
|
A_UINT32 RAM_addr,
|
|
A_UINT32 nbytes,
|
|
A_UINT32 do_activate,
|
|
A_UINT32 *patch_id);
|
|
|
|
A_STATUS
|
|
BMIrompatchUninstall(HIF_DEVICE *device,
|
|
A_UINT32 rompatch_id);
|
|
|
|
A_STATUS
|
|
BMIrompatchActivate(HIF_DEVICE *device,
|
|
A_UINT32 rompatch_count,
|
|
A_UINT32 *rompatch_list);
|
|
|
|
A_STATUS
|
|
BMIrompatchDeactivate(HIF_DEVICE *device,
|
|
A_UINT32 rompatch_count,
|
|
A_UINT32 *rompatch_list);
|
|
|
|
A_STATUS
|
|
BMILZStreamStart(HIF_DEVICE *device,
|
|
A_UINT32 address);
|
|
|
|
A_STATUS
|
|
BMILZData(HIF_DEVICE *device,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length);
|
|
|
|
A_STATUS
|
|
BMIFastDownload(HIF_DEVICE *device,
|
|
A_UINT32 address,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length);
|
|
|
|
A_STATUS
|
|
BMInvramProcess(HIF_DEVICE *device,
|
|
A_UCHAR *seg_name,
|
|
A_UINT32 *retval);
|
|
|
|
A_STATUS
|
|
BMIRawWrite(HIF_DEVICE *device,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length);
|
|
|
|
A_STATUS
|
|
BMIRawRead(HIF_DEVICE *device,
|
|
A_UCHAR *buffer,
|
|
A_UINT32 length,
|
|
A_BOOL want_timeout);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _BMI_H_ */
|