;/*++
;
;Module Name:
;
;    SPORTIDENT.INF
;
;    Copyright 2026, SPORTident GmbH
;
;Abstract:
;    Installation INF for SPORTident CP210x device
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
DriverVer=06/09/2026,11.2.0.167
CatalogFile=sportident.cat
PnpLockDown=1


; ================= Device section =====================

[Manufacturer]
; TargetOSVersion decoration .10.0...16299 restricts installation to
; Windows 10 version 1709 (build 16299) or later, because the DDInstall
; sections below use DIRID 13 (run-from-driver-store), which requires
; that OS version or newer.
%ManufacturerName%=SiLabsModelsSection, NTamd64.10.0...16299, NTarm64.10.0...16299

;Models sections (one per CPU Architecture)
;Models section for installation of x64 driver on Windows 10 1709 and above
[SiLabsModelsSection.NTamd64.10.0...16299]
%USB\VID_10C4&PID_800A.DeviceDesc%      =SiLabsDDInstallSection.amd64, USB\VID_10C4&PID_800A
%USB\VID_10C4&PID_800B.DeviceDesc%      =SiLabsDDInstallSection.amd64, USB\VID_10C4&PID_800B

;Models section for installation of ARM (64-bit) driver on Windows 10 1709 and above
[SiLabsModelsSection.NTarm64.10.0...16299]
%USB\VID_10C4&PID_800A.DeviceDesc%      =SiLabsDDInstallSection.arm64, USB\VID_10C4&PID_800A
%USB\VID_10C4&PID_800B.DeviceDesc%      =SiLabsDDInstallSection.arm64, USB\VID_10C4&PID_800B

;DDInstall sections (per architecture)
[SiLabsDDInstallSection.amd64]
AddReg=silabser.AddReg
CopyFiles=Silabser_CopyFiles_amd64
FeatureScore=0x40

[SiLabsDDInstallSection.amd64.Services]
AddService = silabser,0x00000002,silabser.AddService.amd64

[SiLabsDDInstallSection.amd64.HW]
AddReg=SiLabsDDInstallSection.HW.AddReg

[SiLabsDDInstallSection.arm64]
AddReg=silabser.AddReg
CopyFiles=Silabser_CopyFiles_arm64
FeatureScore=0x40

[SiLabsDDInstallSection.arm64.Services]
AddService = silabser,0x00000002,silabser.AddService.arm64

[SiLabsDDInstallSection.arm64.HW]
AddReg=SiLabsDDInstallSection.HW.AddReg

[silabser.AddService.amd64]
DisplayName    = %silabser.SvcDesc%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %13%\x64\silabser.sys

[silabser.AddService.arm64]
DisplayName    = %silabser.SvcDesc%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %13%\arm64\silabser.sys


; common registry entries
[silabser.AddReg]
HKR,,NTMPDriver,,silabser.sys
HKR,,RateLimitPurgeMS, 0x10001, 0x64, 0x00, 0x00, 0x00
HKR,,OverrideDefaultPortSettings, 0x10001, 01,00,00,00
HKR,,InitialBaudRate, 0x10001, 00,C2,01,00		;115200 initial baud rate
HKR,,InitialLineControl,, "8N1"				;8-bits, No parity, 1 stop bit
HKR,,PortSubClass,1,01
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[SiLabsDDInstallSection.HW.AddReg]
HKR,,"SelectiveSuspendTimeout",0x00010001,10000


[Silabser_CopyFiles_amd64]
silabser.sys

[Silabser_CopyFiles_arm64]
silabser.sys

[SourceDisksNames]
1=%Disk_Description%,"sportident.cat"

[SourceDisksFiles.amd64]
silabser.sys = 1,x64
[SourceDisksFiles.arm64]
silabser.sys = 1,arm64

[DestinationDirs]
Silabser_CopyFiles_amd64 = 13,x64
Silabser_CopyFiles_arm64 = 13,arm64



;---------------------------------------------------------------;

[Strings]
Provider="SPORTident GmbH"
ManufacturerName="SPORTident"
Disk_Description=                      "SPORTident USB Installation Disk"
USB\VID_10C4&PID_800A.DeviceDesc=      "SPORTident USB Device"
USB\VID_10C4&PID_800B.DeviceDesc=      "AES USB Device"
silabser.SvcDesc="SPORTident USB Driver"
