;*******************************************************************************
; Copyright 2001 Broadcom Corporation.
;
; INF for 32-bit Windows XP.
;
; History:
;    04/16/01 Hav Khauv        Inception.
;*******************************************************************************


[Version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
CatalogFile = b57xp32.cat
Compatible  = 1
Provider    = %BRCM%
DriverVer   = 03/29/2004,7.43.0.0

[Manufacturer]
%BRCM% = Broadcom, NTx86.5.1

[ControlFlags]
ExcludeFromSelect = *

[Broadcom.NTx86.5.1]
%OEM2_DEV1% = BCM5705M.XpInst,  PCI\VEN_14e4&DEV_165d&SUBSYS_005A0E11
%OEM2_DEV1% = BCM5705M.XpInst,  PCI\VEN_14e4&DEV_165d&SUBSYS_00580E11
%OEM3_DEV1% = BCM5705MA2.XpInst,  PCI\VEN_14e4&DEV_165e&SUBSYS_0890103c
%OEM3_DEV2% = BCM5705MA2.XpInst,  PCI\VEN_14e4&DEV_165e&SUBSYS_0894103c
%OEM3_DEV3% = BCM5705MA2.XpInst,  PCI\VEN_14e4&DEV_165e&SUBSYS_088c103c

;*******************************************************************************
; 32-bit Windows XP Install sections.
;*******************************************************************************

[BCM5705M.XpInst.NTx86]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
DelReg          = DelReg.Jumbo
AddReg          = Xp32AddReg, BCM5705M.Params, ParamsNt, ParamsNT8021p, ParamsNtW9x, ParamsC, ParamsWOL, ParamsWireSpeed, ParamsLgSnd
CopyFiles       = CopyFile.XpSys32
BusType         = 5

[BCM5705M.XpInst.NTx86.Services]
AddService = b57w2k, 2, BCM5705M.Xp32AddService, Xp32EventLog

[BCM5705M.Xp32AddService]
DisplayName    = %BCM5705M%
ServiceType    = 1 
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %12%\b57xp32.sys
LoadOrderGroup = NDIS

[BCM5705MA2.XpInst.NTx86]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
DelReg          = DelReg.Jumbo, DelReg.WireSpeed
AddReg          = Xp32AddReg, BCM5705MA2.Params, ParamsNt, ParamsNT8021p, ParamsNtW9x, ParamsC, ParamsWOL, ParamsLgSnd
CopyFiles       = CopyFile.XpSys32
BusType         = 5

[BCM5705MA2.XpInst.NTx86.Services]
AddService = b57w2k, 2, BCM5705MA2.Xp32AddService, Xp32EventLog

[BCM5705MA2.Xp32AddService]
DisplayName    = %BCM5705M%
ServiceType    = 1 
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %12%\b57xp32.sys
LoadOrderGroup = NDIS

;*******************************************************************************
; 32-bit Windows Xp common sections.
;*******************************************************************************

[Xp32AddReg]
HKR, Ndi,            Service,    0, "b57w2k"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

[Xp32EventLog]
AddReg = Xp32AddEventLogReg

[Xp32AddEventLogReg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll;%%SystemRoot%%\System32\drivers\b57xp32.sys"
HKR, , TypesSupported  , 0x00010001, 7



;*******************************************************************************
; Registry parameters.
;*******************************************************************************

[BCM5705M.Params]
HKR, , TxPacketDescCnt,          0, "200"
HKR, , RxStdDescCnt,             0, "200"
HKR, , RxCoalescingTicks,        0, "10"
HKR, , TxCoalescingTicks,        0, "30"
HKR, , RxMaxCoalescedFrames,     0, "5"
HKR, , TxMaxCoalescedFrames,     0, "200"

[BCM5705MA2.Params]
HKR, , TxPacketDescCnt,          0, "200"
HKR, , RxStdDescCnt,             0, "200"
HKR, , RxCoalescingTicks,        0, "10"
HKR, , TxCoalescingTicks,        0, "30"
HKR, , RxMaxCoalescedFrames,     0, "5"
HKR, , TxMaxCoalescedFrames,     0, "200"

[ParamsNt]
HKR, Ndi\Params\TaskOffloadCap,      ParamDesc, , %TaskOffload%
HKR, Ndi\Params\TaskOffloadCap,      default,   , "63"
HKR, Ndi\Params\TaskOffloadCap,      type,      , "enum"
HKR, Ndi\Params\TaskOffloadCap\enum, 0,         , %TaskOffload_None%
HKR, Ndi\Params\TaskOffloadCap\enum, 42,        , %TaskOffload_Rx_Chksum%
HKR, Ndi\Params\TaskOffloadCap\enum, 21,        , %TaskOffload_Tx_Chksum%
HKR, Ndi\Params\TaskOffloadCap\enum, 63,        , %TaskOffload_Rx_Tx_Chksum%

[ParamsNT8021p]
HKR, Ndi\Params\Enable8021p,      ParamDesc, , %QOS_8021p%
HKR, Ndi\Params\Enable8021p,      default,   , "0"
HKR, Ndi\Params\Enable8021p,      type,      , "enum"
HKR, Ndi\Params\Enable8021p\enum, 0,         , %QOS_8021p_Disable%
HKR, Ndi\Params\Enable8021p\enum, 1,         , %QOS_8021p_Enable%

[ParamsNtW9x]
HKR, Ndi\Params\FlowControlCap,      ParamDesc,  , %FlowControl%
HKR, Ndi\Params\FlowControlCap,      default,    , "2147483648"
HKR, Ndi\Params\FlowControlCap,      type,       , "enum"
HKR, Ndi\Params\FlowControlCap\enum, 0,          , %FlowControl_Disable%
HKR, Ndi\Params\FlowControlCap\enum, 1,          , %FlowControl_Rx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 2,          , %FlowControl_Tx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 3,          , %FlowControl_Rx_Tx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 2147483648, , %FlowControl_Auto%

HKR, Ndi\params\NetworkAddress,        ParamDesc,  0, %NetworkAddress%
HKR, Ndi\params\NetworkAddress,        Default,    0, ""
HKR, Ndi\params\NetworkAddress,        type,       0, "edit"
HKR, NDI\params\NetworkAddress,        LimitText,  0, "12"
HKR, NDI\params\NetworkAddress,        UpperCase,  0, "1"
HKR, NDI\params\NetworkAddress,        optional,   0, "1"

[ParamsJumbo]
HKR, Ndi\Params\RxMtu, ParamDesc, , %JumboMtu%
HKR, Ndi\Params\RxMtu, default,   , "1500"
HKR, Ndi\Params\RxMtu, type,      , "dword"
HKR, Ndi\Params\RxMtu, min,       , "1500"
HKR, Ndi\Params\RxMtu, max,       , "9000"
HKR, Ndi\Params\RxMtu, step,      , "500"
HKR, Ndi\Params\RxMtu, base,      , "10"

[ParamsWireSpeed]
HKR, Ndi\Params\WireSpeed,        ParamDesc, , %WireSpeed%
HKR, Ndi\Params\WireSpeed,        default,   , "1"
HKR, Ndi\Params\WireSpeed,        type,      , "enum"
HKR, Ndi\Params\WireSpeed\enum,   0,         , %WireSpeed_Disable%
HKR, Ndi\Params\WireSpeed\enum,   1,         , %WireSpeed_Enable%


[ParamsC]
HKR, Ndi\Params\RequestedMediaType,      ParamDesc, , %Speed_Duplex%
HKR, Ndi\Params\RequestedMediaType,      default,   , "0"
HKR, Ndi\Params\RequestedMediaType,      type,      , "enum"
HKR, Ndi\Params\RequestedMediaType\enum, 0,         , %Speed_Duplex_Auto%
HKR, Ndi\Params\RequestedMediaType\enum, 3,         , %Speed_Duplex_10Mb_Hd%
HKR, Ndi\Params\RequestedMediaType\enum, 4,         , %Speed_Duplex_10Mb_Fd%
HKR, Ndi\Params\RequestedMediaType\enum, 5,         , %Speed_Duplex_100Mb_Hd%
HKR, Ndi\Params\RequestedMediaType\enum, 6,         , %Speed_Duplex_100Mb_Fd%

[ParamsC100]
HKR, Ndi\Params\RequestedMediaType,      ParamDesc, , %Speed_Duplex%
HKR, Ndi\Params\RequestedMediaType,      default,   , "0"
HKR, Ndi\Params\RequestedMediaType,      type,      , "enum"
HKR, Ndi\Params\RequestedMediaType\enum, 0,         , %Speed_Duplex_Auto%
HKR, Ndi\Params\RequestedMediaType\enum, 3,         , %Speed_Duplex_10Mb_Hd%
HKR, Ndi\Params\RequestedMediaType\enum, 4,         , %Speed_Duplex_10Mb_Fd%
HKR, Ndi\Params\RequestedMediaType\enum, 5,         , %Speed_Duplex_100Mb_Hd%
HKR, Ndi\Params\RequestedMediaType\enum, 6,         , %Speed_Duplex_100Mb_Fd%


[ParamsWOL]
HKR, Ndi\Params\WakeUpModeCap,       ParamDesc, , %WakeUpMode%
HKR, Ndi\Params\WakeUpModeCap,       default,   , "3"
HKR, Ndi\Params\WakeUpModeCap,       type,      , "enum"
HKR, Ndi\Params\WakeUpModeCap\enum,  0,         , %WakeUpMode_None%
HKR, Ndi\Params\WakeUpModeCap\enum,  1,         , %WakeUpMode_Magic%
HKR, Ndi\Params\WakeUpModeCap\enum,  2,         , %WakeUpMode_Pattern%
HKR, Ndi\Params\WakeUpModeCap\enum,  3,         , %WakeUpMode_Both%

HKR, Ndi\Params\WolSpeed,       ParamDesc, , %WolSpeed%
HKR, Ndi\Params\WolSpeed,       default,   , "0"
HKR, Ndi\Params\WolSpeed,       type,      , "enum"
HKR, Ndi\Params\WolSpeed\enum,  0,         , %WolSpeed_Auto%
HKR, Ndi\Params\WolSpeed\enum,  1,         , %WolSpeed_10mb%
HKR, Ndi\Params\WolSpeed\enum,  2,         , %WolSpeed_100mb%

[ParamsWOLTbi]
HKR, Ndi\Params\WakeUpModeCap,       ParamDesc, , %WakeUpMode%
HKR, Ndi\Params\WakeUpModeCap,       default,   , "1"
HKR, Ndi\Params\WakeUpModeCap,       type,      , "enum"
HKR, Ndi\Params\WakeUpModeCap\enum,  0,         , %WakeUpMode_None%
HKR, Ndi\Params\WakeUpModeCap\enum,  1,         , %WakeUpMode_Magic%
HKR, , TbiWol,                   0, "1"

[ParamsLgSnd]
HKR, Ndi\Params\LargeSendOffload,    ParamDesc, , %TaskOffload_LargeSend%
HKR, Ndi\Params\LargeSendOffload,    default,   , "1"
HKR, Ndi\Params\LargeSendOffload,      type,     , "enum"
HKR, Ndi\Params\LargeSendOffload\enum, 0,        , %TaskOffload_LargeSend_Disable%
HKR, Ndi\Params\LargeSendOffload\enum, 1,        , %TaskOffload_LargeSend_Enable%

[ParamsWOLNS]
HKR, Ndi\Params\WakeUpModeCap,       ParamDesc, , %WakeUpMode%
HKR, Ndi\Params\WakeUpModeCap,       default,   , "3"
HKR, Ndi\Params\WakeUpModeCap,       type,      , "enum"
HKR, Ndi\Params\WakeUpModeCap\enum,  0,         , %WakeUpMode_None%
HKR, Ndi\Params\WakeUpModeCap\enum,  1,         , %WakeUpMode_Magic%
HKR, Ndi\Params\WakeUpModeCap\enum,  2,         , %WakeUpMode_Pattern%
HKR, Ndi\Params\WakeUpModeCap\enum,  3,         , %WakeUpMode_Both%

[ParamsFlow]
HKR, Ndi\Params\FlowControlCap,      ParamDesc,  , %FlowControl%
HKR, Ndi\Params\FlowControlCap,      default,    , "2147483648"
HKR, Ndi\Params\FlowControlCap,      type,       , "enum"
HKR, Ndi\Params\FlowControlCap\enum, 0,          , %FlowControl_Disable%
HKR, Ndi\Params\FlowControlCap\enum, 1,          , %FlowControl_Rx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 2,          , %FlowControl_Tx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 3,          , %FlowControl_Rx_Tx_Pause%
HKR, Ndi\Params\FlowControlCap\enum, 2147483648, , %FlowControl_Auto%

;*******************************************************************************
; DriverInfo section.
;*******************************************************************************

[DriverInfo]
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,Description,,%DriverDescription%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,CurrentVer,,%DriverOEMVersion%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,Ver_%DriverOEMVersion%,,%DriverVersionID%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,BaseDriverFileName,,%BaseDriverFileName%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,BaseDriverFileVersion,,%BaseDriverFileVersion%



;*******************************************************************************
; Keys to remove.
;*******************************************************************************

[DelReg.RequestedMediaType]
HKR, Ndi\Params\RequestedMediaType

[DelReg.Wol]
HKR, Ndi\Params\WolSpeed
HKR, Ndi\Params\WakeUpModeCap

[DelReg.WolS]
HKR, Ndi\Params\WolSpeed

[DelReg.Jumbo]
HKR, Ndi\Params\RxMtu

[DelReg.LgSnd]
HKR, Ndi\Params\LargeSendOffload

[DelReg.WireSpeed]
HKR, Ndi\Params\WireSpeed

;*******************************************************************************
; Destination directories
;*******************************************************************************

[DestinationDirs]
DefaultDestDir   = 11
CopyFile.XpSys32 = 12

[SourceDisksNames]
1 = %DISK_DESC%,,,

[SourceDisksFiles]
b57xp32.sys = 1

[CopyFile.XpSys32]
b57xp32.sys,,,1



;*******************************************************************************
; Localizable strings
;*******************************************************************************

[Strings]
BRCM                = "Broadcom"
DISK_DESC           = "Broadcom NetXtreme Installation Media"

OEM2_DEV1           = "Broadcom NetXtreme Gigabit Ethernet"
OEM3_DEV1           = "Broadcom NetXtreme Gigabit Ethernet"
OEM3_DEV2           = "Broadcom NetXtreme Gigabit Ethernet"
OEM3_DEV3           = "Broadcom NetXtreme Gigabit Ethernet"

; These items will be set by IHV...
DriverMfgr            = "Broadcom"                  ; IHV name
DriverVersionID       = "5.00"                      ; The IHV driver version
BaseDriverFileVersion = "7.43"
BaseDriverFileName    = "b57xp32.sys"               ; Key file for version

; These items will be set by IHV and updated by OEM
DriverOEM         = "Dell"      ; name of the OEM
DriverFamily      = "NIC"       ; device family (NIC, Storage, Video...)
DriverProduct     = "BCM5700"   ; Specific Name of device (chipset, for example)
DriverDescription = "Broadcom NetXtreme Gigabit Ethernet"  ; Description of device (product name, OS or system supported)
DriverOEMVersion  = "A00"       ; OEM-specified version


JumboMtu = "Jumbo Mtu"

FlowControl             = "Flow Control"
FlowControl_Disable     = "Disable"
FlowControl_Rx_Pause    = "Rx PAUSE"
FlowControl_Tx_Pause    = "Tx PAUSE"
FlowControl_Rx_Tx_Pause = "Rx/Tx PAUSE"
FlowControl_Auto        = "Auto"

Speed_Duplex          = "Speed & Duplex"
Speed_Duplex_Auto     = "Auto"
Speed_Duplex_10Mb_Hd  = "10 Mb Half"
Speed_Duplex_10Mb_Fd  = "10 Mb Full"
Speed_Duplex_100Mb_Hd = "100 Mb Half"
Speed_Duplex_100Mb_Fd = "100 Mb Full"
Speed_Duplex_1000Mb_Fd = "1000 Mb Full"

QOS_8021p         = "802.1p QOS"
QOS_8021p_Disable = "Disable"
QOS_8021p_Enable  = "Enable"

WireSpeed         = "Ethernet@WireSpeed"
WireSpeed_Disable = "Disable"
WireSpeed_Enable  = "Enable"

TaskOffload              = "Checksum Offload"
TaskOffload_None         = "None"
TaskOffload_Rx_Chksum    = "Rx TCP/IP Checksum"
TaskOffload_Tx_Chksum    = "Tx TCP/IP Checksum"
TaskOffload_Rx_Tx_Chksum = "Tx/Rx TCP/IP Checksum"

TaskOffload_LargeSend           = "Large Send Offload"
TaskOffload_LargeSend_Disable   = "Disable"
TaskOffload_LargeSend_Enable    = "Enable"

WakeUpMode         = "Wake Up Capabilities"
WakeUpMode_None    = "None"
WakeUpMode_Magic   = "Magic Packet"
WakeUpMode_Pattern = "Wake Up Frame"
WakeUpMode_Both    = "Both"

WolSpeed       = "WOL Speed"
WolSpeed_Auto  = "Auto"
WolSpeed_10mb  = "10 Mb"
WolSpeed_100mb = "100 Mb"

NetworkAddress           = "Locally Administered Address"
