diff options
| author | Wolfgang Denk <wd@denx.de> | 2007-11-26 19:15:04 +0100 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2007-11-26 19:15:04 +0100 | 
| commit | fe08fb658008cd4be54758faa5d382a2b3b1f86a (patch) | |
| tree | a932a892ff4702d91d51ea13cf81be4e4f6c9d27 /drivers/net/bcm570x_lm.h | |
| parent | cfa4c9d8996d5949f615553c220a06c9fe6395cc (diff) | |
| parent | 87ddedd6ad804427ce125ceaa076d7a4f74e9d5d (diff) | |
| download | olio-uboot-2014.01-fe08fb658008cd4be54758faa5d382a2b3b1f86a.tar.xz olio-uboot-2014.01-fe08fb658008cd4be54758faa5d382a2b3b1f86a.zip | |
Merge commit '87ddedd'
Diffstat (limited to 'drivers/net/bcm570x_lm.h')
| -rw-r--r-- | drivers/net/bcm570x_lm.h | 434 | 
1 files changed, 434 insertions, 0 deletions
| diff --git a/drivers/net/bcm570x_lm.h b/drivers/net/bcm570x_lm.h new file mode 100644 index 000000000..2ea6ca8fa --- /dev/null +++ b/drivers/net/bcm570x_lm.h @@ -0,0 +1,434 @@ + +/******************************************************************************/ +/*                                                                            */ +/* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 Broadcom         */ +/* Corporation.                                                               */ +/* All rights reserved.                                                       */ +/*                                                                            */ +/* This program is free software; you can redistribute it and/or modify       */ +/* it under the terms of the GNU General Public License as published by       */ +/* the Free Software Foundation, located in the file LICENSE.                 */ +/*                                                                            */ +/* History:                                                                   */ +/*    02/25/00 Hav Khauv        Initial version.                              */ +/******************************************************************************/ + +#ifndef LM_H +#define LM_H + +#include "bcm570x_queue.h" +#include "bcm570x_bits.h" + +/******************************************************************************/ +/* Basic types. */ +/******************************************************************************/ + +typedef char LM_CHAR, *PLM_CHAR; +typedef unsigned int LM_UINT, *PLM_UINT; +typedef unsigned char LM_UINT8, *PLM_UINT8; +typedef unsigned short LM_UINT16, *PLM_UINT16; +typedef unsigned int LM_UINT32, *PLM_UINT32; +typedef unsigned int LM_COUNTER, *PLM_COUNTER; +typedef void LM_VOID, *PLM_VOID; +typedef char LM_BOOL, *PLM_BOOL; + +/* 64bit value. */ +typedef struct { +#ifdef BIG_ENDIAN_HOST +	LM_UINT32 High; +	LM_UINT32 Low; +#else				/* BIG_ENDIAN_HOST */ +	LM_UINT32 Low; +	LM_UINT32 High; +#endif				/* !BIG_ENDIAN_HOST */ +} LM_UINT64, *PLM_UINT64; + +typedef LM_UINT64 LM_PHYSICAL_ADDRESS, *PLM_PHYSICAL_ADDRESS; + +/* void LM_INC_PHYSICAL_ADDRESS(PLM_PHYSICAL_ADDRESS pAddr,LM_UINT32 IncSize) */ +#define LM_INC_PHYSICAL_ADDRESS(pAddr, IncSize)             \ +    {                                                       \ +	LM_UINT32 OrgLow;                                   \ +							    \ +	OrgLow = (pAddr)->Low;                              \ +	(pAddr)->Low += IncSize;                            \ +	if((pAddr)->Low < OrgLow) {                         \ +	    (pAddr)->High++; /* Wrap around. */             \ +	}                                                   \ +    } + +#ifndef NULL +#define NULL                ((void *) 0) +#endif				/* NULL */ + +#ifndef OFFSETOF +#define OFFSETOF(_s, _m)    (MM_UINT_PTR(&(((_s *) 0)->_m))) +#endif				/* OFFSETOF */ + +/******************************************************************************/ +/* Simple macros. */ +/******************************************************************************/ + +#define IS_ETH_BROADCAST(_pEthAddr)                                         \ +    (((unsigned char *) (_pEthAddr))[0] == ((unsigned char) 0xff)) + +#define IS_ETH_MULTICAST(_pEthAddr)                                         \ +    (((unsigned char *) (_pEthAddr))[0] & ((unsigned char) 0x01)) + +#define IS_ETH_ADDRESS_EQUAL(_pEtherAddr1, _pEtherAddr2)                    \ +    ((((unsigned char *) (_pEtherAddr1))[0] ==                              \ +    ((unsigned char *) (_pEtherAddr2))[0]) &&                               \ +    (((unsigned char *) (_pEtherAddr1))[1] ==                               \ +    ((unsigned char *) (_pEtherAddr2))[1]) &&                               \ +    (((unsigned char *) (_pEtherAddr1))[2] ==                               \ +    ((unsigned char *) (_pEtherAddr2))[2]) &&                               \ +    (((unsigned char *) (_pEtherAddr1))[3] ==                               \ +    ((unsigned char *) (_pEtherAddr2))[3]) &&                               \ +    (((unsigned char *) (_pEtherAddr1))[4] ==                               \ +    ((unsigned char *) (_pEtherAddr2))[4]) &&                               \ +    (((unsigned char *) (_pEtherAddr1))[5] ==                               \ +    ((unsigned char *) (_pEtherAddr2))[5])) + +#define COPY_ETH_ADDRESS(_Src, _Dst)                                        \ +    ((unsigned char *) (_Dst))[0] = ((unsigned char *) (_Src))[0];          \ +    ((unsigned char *) (_Dst))[1] = ((unsigned char *) (_Src))[1];          \ +    ((unsigned char *) (_Dst))[2] = ((unsigned char *) (_Src))[2];          \ +    ((unsigned char *) (_Dst))[3] = ((unsigned char *) (_Src))[3];          \ +    ((unsigned char *) (_Dst))[4] = ((unsigned char *) (_Src))[4];          \ +    ((unsigned char *) (_Dst))[5] = ((unsigned char *) (_Src))[5]; + +/******************************************************************************/ +/* Constants. */ +/******************************************************************************/ + +#define ETHERNET_ADDRESS_SIZE           6 +#define ETHERNET_PACKET_HEADER_SIZE     14 +#define MIN_ETHERNET_PACKET_SIZE        64	/* with 4 byte crc. */ +#define MAX_ETHERNET_PACKET_SIZE        1518	/* with 4 byte crc. */ +#define MIN_ETHERNET_PACKET_SIZE_NO_CRC 60 +#define MAX_ETHERNET_PACKET_SIZE_NO_CRC 1514 +#define MAX_ETHERNET_PACKET_BUFFER_SIZE 1536	/* A nice even number. */ + +#ifndef LM_MAX_MC_TABLE_SIZE +#define LM_MAX_MC_TABLE_SIZE            32 +#endif				/* LM_MAX_MC_TABLE_SIZE */ +#define LM_MC_ENTRY_SIZE                (ETHERNET_ADDRESS_SIZE+1) +#define LM_MC_INSTANCE_COUNT_INDEX      (LM_MC_ENTRY_SIZE-1) + +/* Receive filter masks. */ +#define LM_ACCEPT_UNICAST               0x0001 +#define LM_ACCEPT_MULTICAST             0x0002 +#define LM_ACCEPT_ALL_MULTICAST         0x0004 +#define LM_ACCEPT_BROADCAST             0x0008 +#define LM_ACCEPT_ERROR_PACKET          0x0010 + +#define LM_PROMISCUOUS_MODE             0x10000 + +/******************************************************************************/ +/* PCI registers. */ +/******************************************************************************/ + +#define PCI_VENDOR_ID_REG               0x00 +#define PCI_DEVICE_ID_REG               0x02 + +#define PCI_COMMAND_REG                 0x04 +#define PCI_IO_SPACE_ENABLE             0x0001 +#define PCI_MEM_SPACE_ENABLE            0x0002 +#define PCI_BUSMASTER_ENABLE            0x0004 +#define PCI_MEMORY_WRITE_INVALIDATE     0x0010 +#define PCI_PARITY_ERROR_ENABLE         0x0040 +#define PCI_SYSTEM_ERROR_ENABLE         0x0100 +#define PCI_FAST_BACK_TO_BACK_ENABLE    0x0200 + +#define PCI_STATUS_REG                  0x06 +#define PCI_REV_ID_REG                  0x08 + +#define PCI_CACHE_LINE_SIZE_REG         0x0c + +#define PCI_IO_BASE_ADDR_REG            0x10 +#define PCI_IO_BASE_ADDR_MASK           0xfffffff0 + +#define PCI_MEM_BASE_ADDR_LOW           0x10 +#define PCI_MEM_BASE_ADDR_HIGH          0x14 + +#define PCI_SUBSYSTEM_VENDOR_ID_REG     0x2c +#define PCI_SUBSYSTEM_ID_REG            0x2e +#define PCI_INT_LINE_REG                0x3c + +#define PCIX_CAP_REG                    0x40 +#define PCIX_ENABLE_RELAXED_ORDERING    BIT_17 + +/******************************************************************************/ +/* Fragment structure. */ +/******************************************************************************/ + +typedef struct { +	LM_UINT32 FragSize; +	LM_PHYSICAL_ADDRESS FragBuf; +} LM_FRAG, *PLM_FRAG; + +typedef struct { +	/* FragCount is initialized for the caller to the maximum array size, on */ +	/* return FragCount is the number of the actual fragments in the array. */ +	LM_UINT32 FragCount; + +	/* Total buffer size. */ +	LM_UINT32 TotalSize; + +	/* Fragment array buffer. */ +	LM_FRAG Fragments[1]; +} LM_FRAG_LIST, *PLM_FRAG_LIST; + +#define DECLARE_FRAG_LIST_BUFFER_TYPE(_FRAG_LIST_TYPE_NAME, _MAX_FRAG_COUNT) \ +    typedef struct {                                                         \ +	LM_FRAG_LIST FragList;                                               \ +	LM_FRAG FragListBuffer[_MAX_FRAG_COUNT-1];                           \ +    } _FRAG_LIST_TYPE_NAME, *P##_FRAG_LIST_TYPE_NAME + +/******************************************************************************/ +/* Status codes. */ +/******************************************************************************/ + +#define LM_STATUS_SUCCESS                                       0 +#define LM_STATUS_FAILURE                                       1 + +#define LM_STATUS_INTERRUPT_ACTIVE                              2 +#define LM_STATUS_INTERRUPT_NOT_ACTIVE                          3 + +#define LM_STATUS_LINK_ACTIVE                                   4 +#define LM_STATUS_LINK_DOWN                                     5 +#define LM_STATUS_LINK_SETTING_MISMATCH                         6 + +#define LM_STATUS_TOO_MANY_FRAGMENTS                            7 +#define LM_STATUS_TRANSMIT_ABORTED                              8 +#define LM_STATUS_TRANSMIT_ERROR                                9 +#define LM_STATUS_RECEIVE_ABORTED                               10 +#define LM_STATUS_RECEIVE_ERROR                                 11 +#define LM_STATUS_INVALID_PACKET_SIZE                           12 +#define LM_STATUS_OUT_OF_MAP_REGISTERS                          13 +#define LM_STATUS_UNKNOWN_ADAPTER                               14 + +typedef LM_UINT LM_STATUS, *PLM_STATUS; + +/******************************************************************************/ +/* Requested media type. */ +/******************************************************************************/ + +#define LM_REQUESTED_MEDIA_TYPE_AUTO                            0 +#define LM_REQUESTED_MEDIA_TYPE_BNC                             1 +#define LM_REQUESTED_MEDIA_TYPE_UTP_AUTO                        2 +#define LM_REQUESTED_MEDIA_TYPE_UTP_10MBPS                      3 +#define LM_REQUESTED_MEDIA_TYPE_UTP_10MBPS_FULL_DUPLEX          4 +#define LM_REQUESTED_MEDIA_TYPE_UTP_100MBPS                     5 +#define LM_REQUESTED_MEDIA_TYPE_UTP_100MBPS_FULL_DUPLEX         6 +#define LM_REQUESTED_MEDIA_TYPE_UTP_1000MBPS                    7 +#define LM_REQUESTED_MEDIA_TYPE_UTP_1000MBPS_FULL_DUPLEX        8 +#define LM_REQUESTED_MEDIA_TYPE_FIBER_100MBPS                   9 +#define LM_REQUESTED_MEDIA_TYPE_FIBER_100MBPS_FULL_DUPLEX       10 +#define LM_REQUESTED_MEDIA_TYPE_FIBER_1000MBPS                  11 +#define LM_REQUESTED_MEDIA_TYPE_FIBER_1000MBPS_FULL_DUPLEX      12 +#define LM_REQUESTED_MEDIA_TYPE_MAC_LOOPBACK                    0xfffe +#define LM_REQUESTED_MEDIA_TYPE_PHY_LOOPBACK                    0xffff + +typedef LM_UINT32 LM_REQUESTED_MEDIA_TYPE, *PLM_REQUESTED_MEDIA_TYPE; + +/******************************************************************************/ +/* Media type. */ +/******************************************************************************/ + +#define LM_MEDIA_TYPE_UNKNOWN                                   -1 +#define LM_MEDIA_TYPE_AUTO                                      0 +#define LM_MEDIA_TYPE_UTP                                       1 +#define LM_MEDIA_TYPE_BNC                                       2 +#define LM_MEDIA_TYPE_AUI                                       3 +#define LM_MEDIA_TYPE_FIBER                                     4 + +typedef LM_UINT32 LM_MEDIA_TYPE, *PLM_MEDIA_TYPE; + +/******************************************************************************/ +/* Line speed. */ +/******************************************************************************/ + +#define LM_LINE_SPEED_UNKNOWN                                   0 +#define LM_LINE_SPEED_10MBPS                                    1 +#define LM_LINE_SPEED_100MBPS                                   2 +#define LM_LINE_SPEED_1000MBPS                                  3 + +typedef LM_UINT32 LM_LINE_SPEED, *PLM_LINE_SPEED; + +/******************************************************************************/ +/* Duplex mode. */ +/******************************************************************************/ + +#define LM_DUPLEX_MODE_UNKNOWN                                  0 +#define LM_DUPLEX_MODE_HALF                                     1 +#define LM_DUPLEX_MODE_FULL                                     2 + +typedef LM_UINT32 LM_DUPLEX_MODE, *PLM_DUPLEX_MODE; + +/******************************************************************************/ +/* Power state. */ +/******************************************************************************/ + +#define LM_POWER_STATE_D0       0 +#define LM_POWER_STATE_D1       1 +#define LM_POWER_STATE_D2       2 +#define LM_POWER_STATE_D3       3 + +typedef LM_UINT32 LM_POWER_STATE, *PLM_POWER_STATE; + +/******************************************************************************/ +/* Task offloading. */ +/******************************************************************************/ + +#define LM_TASK_OFFLOAD_NONE                    0x0000 +#define LM_TASK_OFFLOAD_TX_IP_CHECKSUM          0x0001 +#define LM_TASK_OFFLOAD_RX_IP_CHECKSUM          0x0002 +#define LM_TASK_OFFLOAD_TX_TCP_CHECKSUM         0x0004 +#define LM_TASK_OFFLOAD_RX_TCP_CHECKSUM         0x0008 +#define LM_TASK_OFFLOAD_TX_UDP_CHECKSUM         0x0010 +#define LM_TASK_OFFLOAD_RX_UDP_CHECKSUM         0x0020 +#define LM_TASK_OFFLOAD_TCP_SEGMENTATION        0x0040 + +typedef LM_UINT32 LM_TASK_OFFLOAD, *PLM_TASK_OFFLOAD; + +/******************************************************************************/ +/* Flow control. */ +/******************************************************************************/ + +#define LM_FLOW_CONTROL_NONE                    0x00 +#define LM_FLOW_CONTROL_RECEIVE_PAUSE           0x01 +#define LM_FLOW_CONTROL_TRANSMIT_PAUSE          0x02 +#define LM_FLOW_CONTROL_RX_TX_PAUSE (LM_FLOW_CONTROL_RECEIVE_PAUSE | \ +    LM_FLOW_CONTROL_TRANSMIT_PAUSE) + +/* This value can be or-ed with RECEIVE_PAUSE and TRANSMIT_PAUSE.  If the */ +/* auto-negotiation is disabled and the RECEIVE_PAUSE and TRANSMIT_PAUSE */ +/* bits are set, then flow control is enabled regardless of link partner's */ +/* flow control capability. */ +#define LM_FLOW_CONTROL_AUTO_PAUSE              0x80000000 + +typedef LM_UINT32 LM_FLOW_CONTROL, *PLM_FLOW_CONTROL; + +/******************************************************************************/ +/* Wake up mode. */ +/******************************************************************************/ + +#define LM_WAKE_UP_MODE_NONE                    0 +#define LM_WAKE_UP_MODE_MAGIC_PACKET            1 +#define LM_WAKE_UP_MODE_NWUF                    2 +#define LM_WAKE_UP_MODE_LINK_CHANGE             4 + +typedef LM_UINT32 LM_WAKE_UP_MODE, *PLM_WAKE_UP_MODE; + +/******************************************************************************/ +/* Counters. */ +/******************************************************************************/ + +#define LM_COUNTER_FRAMES_XMITTED_OK                            0 +#define LM_COUNTER_FRAMES_RECEIVED_OK                           1 +#define LM_COUNTER_ERRORED_TRANSMIT_COUNT                       2 +#define LM_COUNTER_ERRORED_RECEIVE_COUNT                        3 +#define LM_COUNTER_RCV_CRC_ERROR                                4 +#define LM_COUNTER_ALIGNMENT_ERROR                              5 +#define LM_COUNTER_SINGLE_COLLISION_FRAMES                      6 +#define LM_COUNTER_MULTIPLE_COLLISION_FRAMES                    7 +#define LM_COUNTER_FRAMES_DEFERRED                              8 +#define LM_COUNTER_MAX_COLLISIONS                               9 +#define LM_COUNTER_RCV_OVERRUN                                  10 +#define LM_COUNTER_XMIT_UNDERRUN                                11 +#define LM_COUNTER_UNICAST_FRAMES_XMIT                          12 +#define LM_COUNTER_MULTICAST_FRAMES_XMIT                        13 +#define LM_COUNTER_BROADCAST_FRAMES_XMIT                        14 +#define LM_COUNTER_UNICAST_FRAMES_RCV                           15 +#define LM_COUNTER_MULTICAST_FRAMES_RCV                         16 +#define LM_COUNTER_BROADCAST_FRAMES_RCV                         17 + +typedef LM_UINT32 LM_COUNTER_TYPE, *PLM_COUNTER_TYPE; + +/******************************************************************************/ +/* Forward definition. */ +/******************************************************************************/ + +typedef struct _LM_DEVICE_BLOCK *PLM_DEVICE_BLOCK; +typedef struct _LM_PACKET *PLM_PACKET; + +/******************************************************************************/ +/* Function prototypes. */ +/******************************************************************************/ + +LM_STATUS LM_GetAdapterInfo (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_InitializeAdapter (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_ResetAdapter (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_DisableInterrupt (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_EnableInterrupt (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_SendPacket (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket); +LM_STATUS LM_ServiceInterrupts (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_QueueRxPackets (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_SetReceiveMask (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Mask); +LM_STATUS LM_Halt (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_Abort (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_MulticastAdd (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress); +LM_STATUS LM_MulticastDel (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress); +LM_STATUS LM_MulticastClear (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMacAddress); +LM_STATUS LM_LoopbackAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pAddress); + +LM_UINT32 LM_GetCrcCounter (PLM_DEVICE_BLOCK pDevice); + +LM_WAKE_UP_MODE LM_PMCapabilities (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_NwufAdd (PLM_DEVICE_BLOCK pDevice, LM_UINT32 ByteMaskSize, +		      LM_UINT8 * pByteMask, LM_UINT8 * pPattern); +LM_STATUS LM_NwufRemove (PLM_DEVICE_BLOCK pDevice, LM_UINT32 ByteMaskSize, +			 LM_UINT8 * pByteMask, LM_UINT8 * pPattern); +LM_STATUS LM_SetPowerState (PLM_DEVICE_BLOCK pDevice, +			    LM_POWER_STATE PowerLevel); + +LM_VOID LM_ReadPhy (PLM_DEVICE_BLOCK pDevice, LM_UINT32 PhyReg, +		    PLM_UINT32 pData32); +LM_VOID LM_WritePhy (PLM_DEVICE_BLOCK pDevice, LM_UINT32 PhyReg, +		     LM_UINT32 Data32); + +LM_STATUS LM_ControlLoopBack (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Control); +LM_STATUS LM_SetupPhy (PLM_DEVICE_BLOCK pDevice); +int LM_BlinkLED (PLM_DEVICE_BLOCK pDevice, LM_UINT32 BlinkDuration); + +/******************************************************************************/ +/* These are the OS specific functions called by LMAC. */ +/******************************************************************************/ + +LM_STATUS MM_ReadConfig16 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, +			   LM_UINT16 * pValue16); +LM_STATUS MM_WriteConfig16 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, +			    LM_UINT16 Value16); +LM_STATUS MM_ReadConfig32 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, +			   LM_UINT32 * pValue32); +LM_STATUS MM_WriteConfig32 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, +			    LM_UINT32 Value32); +LM_STATUS MM_MapMemBase (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_MapIoBase (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_IndicateRxPackets (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_IndicateTxPackets (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_StartTxDma (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket); +LM_STATUS MM_CompleteTxDma (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket); +LM_STATUS MM_AllocateMemory (PLM_DEVICE_BLOCK pDevice, LM_UINT32 BlockSize, +			     PLM_VOID * pMemoryBlockVirt); +LM_STATUS MM_AllocateSharedMemory (PLM_DEVICE_BLOCK pDevice, +				   LM_UINT32 BlockSize, +				   PLM_VOID * pMemoryBlockVirt, +				   PLM_PHYSICAL_ADDRESS pMemoryBlockPhy, +				   LM_BOOL Cached); +LM_STATUS MM_GetConfig (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_IndicateStatus (PLM_DEVICE_BLOCK pDevice, LM_STATUS Status); +LM_STATUS MM_InitializeUmPackets (PLM_DEVICE_BLOCK pDevice); +LM_STATUS MM_FreeRxBuffer (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket); +LM_STATUS MM_CoalesceTxBuffer (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket); +LM_STATUS LM_MbufWorkAround (PLM_DEVICE_BLOCK pDevice); +LM_STATUS LM_SetLinkSpeed (PLM_DEVICE_BLOCK pDevice, +			   LM_REQUESTED_MEDIA_TYPE RequestedMediaType); + +#if INCLUDE_5703_A0_FIX +LM_STATUS LM_Load5703DmaWFirmware (PLM_DEVICE_BLOCK pDevice); +#endif + +#endif				/* LM_H */ |