             **********
             * WHENCE *
             **********

This file attempts to document the origin and licensing information,
if known, for each piece of firmware distributed for use with the Linux
kernel.

--------------------------------------------------------------------------

Driver: korg1212 -- Korg 1212 IO audio device

File: korg/k1212.dsp

Licence: Unknown

Found in alsa-firmware package in hex form; no licensing information.

--------------------------------------------------------------------------

Driver: maestro3 -- ESS Allegro Maestro3 audio device

File: ess/maestro3_assp_kernel.fw
File: ess/maestro3_assp_minisrc.fw

Licence: Unknown

Found in alsa-firmware package in hex form with a comment claiming to
be GPLv2+, but without source -- and with another comment saying "ESS
drops binary dsp code images on our heads, but we don't get to see
specs on the dsp."

--------------------------------------------------------------------------

Driver: ymfpci -- Yamaha YMF724/740/744/754 audio devices

File: yamaha/ds1_ctrl.fw
File: yamaha/ds1_dsp.fw
File: yamaha/ds1e_ctrl.fw

Licence: Unknown

Found alsa-firmware package in hex form, with the following comment:
   Copyright (c) 1997-1999 Yamaha Corporation. All Rights Reserved.

--------------------------------------------------------------------------

Driver: smctr -- SMC ISA/MCA Token Ring adapter

File: tr_smctr.bin
Info: MCT.BIN v6.3C1 03/01/95

Original licence info:

 * This firmware is licensed to you strictly for use in conjunction
 * with the use of SMC TokenRing adapters. There is no waranty
 * expressed or implied about its fitness for any purpose.

--------------------------------------------------------------------------

Driver: kaweth -- USB KLSI KL5USB101-based Ethernet device

File: kaweth/new_code.bin
File: kaweth/new_code_fix.bin
File: kaweth/trigger_code.bin
File: kaweth/trigger_code_fix.bin

Licence: Unknown

Found in hex form in the kernel source.

--------------------------------------------------------------------------

Driver: ttusb-budget -- Technotrend/Hauppauge Nova-USB devices

File: ttusb-budget/dspbootcode.bin

Licence: Unknown

Found in hex form in the kernel source.

--------------------------------------------------------------------------

Driver: keyspan -- USB Keyspan USA-xxx serial device

File: keyspan/mpr.fw
File: keyspan/usa18x.fw
File: keyspan/usa19.fw
File: keyspan/usa19qi.fw
File: keyspan/usa19qw.fw
File: keyspan/usa19w.fw
File: keyspan/usa28.fw
File: keyspan/usa28xa.fw
File: keyspan/usa28xb.fw
File: keyspan/usa28x.fw
File: keyspan/usa49w.fw
File: keyspan/usa49wlc.fw

Converted from Intel HEX files, used in our binary representation of ihex.

Original licence information:

		Copyright (C) 1999-2001
		Keyspan, A division of InnoSys Incorporated ("Keyspan")

	as an unpublished work. This notice does not imply unrestricted or
	public access to the source code from which this firmware image is
	derived.  Except as noted below this firmware image may not be
	reproduced, used, sold or transferred to any third party without
	Keyspan's prior written consent.  All Rights Reserved.

	Permission is hereby granted for the distribution of this firmware
	image as part of a Linux or other Open Source operating system kernel
	in text or binary form as required.

	This firmware may not be modified and may only be used with
	Keyspan hardware.  Distribution and/or Modification of the
	keyspan.c driver which includes this firmware, in whole or in
	part, requires the inclusion of this statement."

--------------------------------------------------------------------------
