From 0189189aca98f09ceb460e914d5d4a51ceac08de Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Sat, 31 May 2008 01:35:29 +0300 Subject: [PATCH] whiteheat: use request_firmware() Signed-off-by: David Woodhouse --- WHENCE | 21 +++++++++++++++++++++ whiteheat.fw | Bin 0 -> 23554 bytes whiteheat_loader.fw | Bin 0 -> 5626 bytes 3 files changed, 21 insertions(+) create mode 100644 whiteheat.fw create mode 100644 whiteheat_loader.fw diff --git a/WHENCE b/WHENCE index 205be9f..47ab241 100644 --- a/WHENCE +++ b/WHENCE @@ -205,3 +205,24 @@ Licence: Allegedly GPLv2+, but no source visible. Marked: Found in hex form in kernel source. -------------------------------------------------------------------------- + +Driver: whiteheat -- USB ConnectTech WhiteHEAT serial device + +File: whiteheat.fw +Version: 4.06 + +File: whiteheat_loader.fw +File: whiteheat_loader_debug.fw + +Licence: Allegedly GPLv2, but no source visible. Marked: + Copyright (C) 2000-2002 ConnectTech Inc + +Debug loader claims the following behaviour: + Port 1 LED flashes when the vend_ax program is running + Port 2 LED flashes when any SETUP command arrives + Port 3 LED flashes when any valid VENDOR request occurs + Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + +Converted from Intel HEX files, used in our binary representation of ihex. + +-------------------------------------------------------------------------- diff --git a/whiteheat.fw b/whiteheat.fw new file mode 100644 index 0000000000000000000000000000000000000000..49e7f3b12c212f7bbb971d8c6d068c0bfd306f2c GIT binary patch literal 23554 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 A?*IS* literal 0 HcmV?d00001