android_kernel_modules_leno.../wlan/PRIVATE/bcm43xx/src/include/usbrdl.h

120 lines
2.2 KiB
C

/*
* Broadcom USB remote download definitions
*
* Copyright (C) 2013, Broadcom Corporation
* All Rights Reserved.
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
* the contents of this file may not be disclosed to third parties, copied
* or duplicated in any form, in whole or in part, without the prior
* written permission of Broadcom Corporation.
*
* $Id: usbrdl.h 349211 2012-08-07 09:45:24Z $
*/
#ifndef _USB_RDL_H
#define _USB_RDL_H
#define DL_GETSTATE 0
#define DL_CHECK_CRC 1
#define DL_GO 2
#define DL_START 3
#define DL_REBOOT 4
#define DL_GETVER 5
#define DL_GO_PROTECTED 6
#define DL_EXEC 7
#define DL_RESETCFG 8
#define DL_DEFER_RESP_OK 9
#define DL_HWCMD_MASK 0xfc
#define DL_RDHW 0x10
#define DL_RDHW32 0x10
#define DL_RDHW16 0x11
#define DL_RDHW8 0x12
#define DL_WRHW 0x14
#define DL_WRHW_BLK 0x13
#define DL_CMD_RDHW 1
#define DL_CMD_WRHW 2
#define DL_WAITING 0
#define DL_READY 1
#define DL_BAD_HDR 2
#define DL_BAD_CRC 3
#define DL_RUNNABLE 4
#define DL_START_FAIL 5
#define DL_NVRAM_TOOBIG 6
#define DL_IMAGE_TOOBIG 7
#define TIMEOUT 5000
struct bcm_device_id {
char *name;
uint32 vend;
uint32 prod;
};
typedef struct {
uint32 state;
uint32 bytes;
} rdl_state_t;
typedef struct {
uint32 chip;
uint32 chiprev;
uint32 ramsize;
uint32 remapbase;
uint32 boardtype;
uint32 boardrev;
} bootrom_id_t;
typedef struct {
uint32 cmd;
uint32 addr;
uint32 len;
uint32 data;
} hwacc_t;
typedef struct {
uint32 cmd;
uint32 addr;
uint32 len;
uint8 data[1];
} hwacc_blk_t;
#define QUERY_STRING_MAX 32
typedef struct {
uint32 cmd;
char var[QUERY_STRING_MAX];
} nvparam_t;
typedef void (*exec_fn_t)(void *sih);
#define USB_CTRL_IN (USB_TYPE_VENDOR | 0x80 | USB_RECIP_INTERFACE)
#define USB_CTRL_OUT (USB_TYPE_VENDOR | 0 | USB_RECIP_INTERFACE)
#define USB_CTRL_EP_TIMEOUT 500
#define RDL_CHUNK 1500
#define TRX_OFFSETS_DLFWLEN_IDX 0
#define TRX_OFFSETS_JUMPTO_IDX 1
#define TRX_OFFSETS_NVM_LEN_IDX 2
#ifdef BCMTRXV2
#define TRX_OFFSETS_DSG_LEN_IDX 3
#define TRX_OFFSETS_CFG_LEN_IDX 4
#endif
#define TRX_OFFSETS_DLBASE_IDX 0
#endif