             **********
             * 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: ambassador -- Madge Ambassador (Collage PCI 155 Server) ATM NIC.

File: atmsar11.fw

Licence: Allegedly GPLv2+, but no source visible. Marked:

  Madge Ambassador ATM Adapter microcode.
  Copyright (C) 1995-1999  Madge Networks Ltd.

  This microcode data is placed under the terms of the GNU General
  Public License. The GPL is contained in /usr/doc/copyright/GPL on a
  Debian system and in the file COPYING in the Linux kernel source.

  We would prefer you not to distribute modified versions without
  consultation and not to ask for assembly/other microcode source.

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

Driver: snd-korg1212 -- Korg 1212 IO audio device

File: korg/k1212.dsp

Licence: Unknown

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

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

Driver: snd-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: snd-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: advansys - AdvanSys SCSI

File: advansys/mcode.bin
File: advansys/3550.bin
File: advansys/38C0800.bin
File: advansys/38C1600.bin

Licence: BSD, no source available.

Found in hex form in kernel source.

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

Driver: qla1280 - Qlogic QLA 1240/1x80/1x160 SCSI support

File: qlogic/1040.bin
File: qlogic/1280.bin
File: qlogic/12160.bin

Licence: Allegedly GPLv2+, but no source visible. Marked:

                   QLOGIC LINUX SOFTWARE
  QLogic ISP1280/ device driver for Linux 2.2.x and 2.4.x
  Copyright (C) 2001 Qlogic Corporation (www.qlogic.com)

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

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

File: tr_smctr.bin
Version: 6.3C1
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: dvb-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."

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

Driver: keyspan_pda -- USB Keyspan PDA single-port serial device

File: keyspan_pda/keyspan_pda.fw
Source: keyspan_pda/keyspan_pda.S

File: keyspan_pda/xircom_pgs.fw
Source: keyspan_pda/xircom_pgs.S

Source: keyspan_pda/Makefile

Licence: GPLv2+

Compiled from original 8051 source into Intel HEX, used in our binary ihex form.

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

Driver: emi26 -- EMI 2|6 USB Audio interface

File: emi26/bitstream.fw
Version: 1.1.1.131
Info: DATE=2001dec06

File: emi26/firmware.fw
Version: 1.0.2.916
Info: DATE=12.02.2002

File: emi26/loader.fw

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

Original licence information:
/*
 * This firmware is for the Emagic EMI 2|6 Audio Interface
 *
 * The firmware contained herein is Copyright (c) 1999-2002 Emagic
 * as an unpublished work. This notice does not imply unrestricted
 * or public access to this firmware which is a trade secret of Emagic,
 * and which may not be reproduced, used, sold or transferred to
 * any third party without Emagic's 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 the
 * Emagic EMI 2|6 Audio Interface. Distribution and/or Modification of
 * any driver which includes this firmware, in whole or in part,
 * requires the inclusion of this statement.
 */

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

Driver: emi62 -- EMI 6|2m USB Audio interface

File: emi62/bitstream.fw
Version: 1.0.0.191
Info: DATE= 2002oct28

File: emi62/loader.fw
Source: EMILOAD.HEX
Version: 1.0.2.002
Info: DATE=10.01.2002

File: emi62/midi.fw
Source: EMI62MFW.HEX
Version: 1.04.062
Info: DATE=16.10.2002

File: emi62/spdif.fw
Source: EMI62SFW.HEX
Version: 1.04.062
Info: DATE=16.10.2002

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

Original licence information: None

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

Driver: ti_usb_3410_5052 -- USB TI 3410/5052 serial device

File: ti_3410.fw
Info: firmware 9/10/04 FW3410_Special_StartWdogOnStartPort

File: ti_5052.fw
Info: firmware 9/18/04

Licence: Allegedly GPLv2+, but no source visible. Marked:
	 Copyright (C) 2004 Texas Instruments

Found in hex form in kernel source.

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

Driver: ti_usb_3410_5052 -- Multi-Tech USB cell modems

File: mts_cdma.fw
File: mts_gsm.fw
File: mts_edge.fw

Licence: "all firmware components are redistributable in binary form"
         per support@multitech.com
	 Copyright (C) 2005 Multi-Tech Systems, Inc.

Found in hex form in ftp://ftp.multitech.com/wireless/wireless_linux.zip

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

Driver: ti_usb_3410_5052 -- Multi-Tech USB fax modems

File: mts_mt9234mu.fw
File: mts_mt9234zba.fw

Licence: Unknown

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

Driver: whiteheat -- USB ConnectTech WhiteHEAT serial device

File: whiteheat.fw
Version: 4.06

File: whiteheat_loader.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.

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

Driver: ip2 -- Computone IntelliPort Plus serial device

File: intelliport2.bin

Licence: Unknown

Found in hex form in kernel source.

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

Driver: cpia2 -- cameras based on Vision's CPiA2

File: cpia2/stv0672_vp4.bin

Licence: Allegedly GPLv2+, but no source visible. Marked:
	Copyright (C) 2001 STMicroelectronics, Inc.
	Contact:  steve.miller@st.com
	Description: This file contains patch data for the CPiA2 (stv0672) VP4.

Found in hex form in kernel source.

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

Driver: dabusb -- Digital Audio Broadcasting (DAB) Receiver for USB and Linux

File: dabusb/firmware.fw
File: dabusb/bitstream.bin

Licence: Distributable

 * Copyright (C) 1999 BayCom GmbH
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that redistributions of source
 * code retain the above copyright notice and this comment without
 * modification.

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

Driver: vicam -- USB 3com HomeConnect (aka vicam)

File: vicam/firmware.fw

Licence: Unknown

Found in hex form in kernel source.

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

Driver: io_edgeport - USB Inside Out Edgeport Serial Driver

File: edgeport/boot.fw
File: edgeport/boot2.fw
File: edgeport/down.fw
File: edgeport/down2.fw

Licence: Allegedly GPLv2+, but no source visible. Marked:
//**************************************************************
//* Edgeport/4 Binary Image
//* Generated by HEX2C v1.06
//* Copyright (C) 1998 Inside Out Networks, All rights reserved.
//**************************************************************

Found in hex form in kernel source.

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

Driver: io_ti - USB Inside Out Edgeport Serial Driver
(TI Devices)

File: edgeport/down3.bin

Licence:
//**************************************************************
//* Edgeport Binary Image (for TI based products)
//* Generated by TIBin2C v2.00 (watchport)
//* Copyright (C) 2001 Inside Out Networks, All rights reserved.
//**************************************************************

Found in hex form in kernel source.

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

Driver: dsp56k - Atari DSP56k support

File: dsp56k/bootstrap.bin
Source: dsp56k/bootstrap.asm
Source: dsp56k/Makefile
Source: dsp56k/concat-bootstrap.pl

Licence: GPLv2 or later

DSP56001 assembler, buildable with a56 from
http://www.zdomain.com/a56.html

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

Driver: snd-sb16-csp - Sound Blaster 16/AWE CSP support

File: sb16/mulaw_main.csp
File: sb16/alaw_main.csp
File: sb16/ima_adpcm_init.csp
File: sb16/ima_adpcm_playback.csp
File: sb16/ima_adpcm_capture.csp

Licence: Allegedly GPLv2+, but no source visible. Marked:
/*
 *  Copyright (c) 1994 Creative Technology Ltd.
 *  Microcode files for SB16 Advanced Signal Processor
 */

Found in hex form in kernel source.

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

Driver: qla2xxx - QLogic QLA2XXX Fibre Channel

File: ql2100_fw.bin
Version: 1.19.38 TP
File: ql2200_fw.bin
Version: 2.02.08 TP
File: ql2300_fw.bin
Version: 3.03.28 IPX
File: ql2322_fw.bin
Version: 3.03.28 IPX
File: ql2400_fw.bin
Version: 7.01.00 MID
File: ql2500_fw.bin
Version: 7.01.00 MIDQ

Licence: Redistributable. See LICENCE.qla2xxx for details

Available from http://ldriver.qlogic.com/firmware/ 

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

Driver: orinoco - Agere/Prism/Symbol Orinoco support

File: agere_sta_fw.bin
Version: 9.48 Hermes I
File: agere_ap_fw.bin
Version: 9.48 Hermes I

Licence: Redistributable. See LICENCE.agere for details

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

Driver: ar9170 - Atheros 802.11n "otus" USB

File: ar9170-1.fw
File: ar9170-2.fw

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: ath9k_htc - Atheros HTC devices (USB)

File: ar9271.fw
File: ar7010.fw
File: ar7010_1_1.fw
File: htc_9271.fw
Version: 1.3
File: htc_7010.fw
Version: 1.3

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: cassini - Sun Cassini

File: sun/cassini.bin

Licence: Unknown

Found in hex form in kernel source.

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

Driver: slicoss - Alacritech IS-NIC products

File: slicoss/gbdownload.sys
File: slicoss/gbrcvucode.sys
File: slicoss/oasisdbgdownload.sys
File: slicoss/oasisdownload.sys
File: slicoss/oasisrcvucode.sys

Licence:
		Copyright (C) 1999-2009 Alacritech, Inc.

	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
	Alacritech'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.

Found in hex form in kernel source.

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

Driver: sxg - Alacritech IS-NIC products

File: sxg/saharadownloadB.sys
File: sxg/saharadbgdownloadB.sys

Licence:
		Copyright (C) 1999-2009 Alacritech, Inc.

	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
	Alacritech'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.

Found in hex form in kernel source.

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

Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter

File: cxgb3/t3b_psram-1.1.0.bin
File: cxgb3/t3c_psram-1.1.0.bin
File: cxgb3/t3fw-7.0.0.bin
File: cxgb3/t3fw-7.1.0.bin
File: cxgb3/t3fw-7.4.0.bin
File: cxgb3/t3fw-7.10.0.bin
File: cxgb3/t3fw-7.12.0.bin

Licence: GPLv2 or OpenIB.org BSD license, no source visible

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

Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter

File: cxgb3/ael2005_opt_edc.bin
File: cxgb3/ael2005_twx_edc.bin
File: cxgb3/ael2020_twx_edc.bin

Licence:
 *	Copyright (c) 2007-2009 NetLogic Microsystems, Inc.
 *
 *	Permission is hereby granted for the distribution of this firmware
 *	data in hexadecimal or equivalent format, provided this copyright
 *	notice is accompanying it.

Found in hex form in kernel source.

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

Driver: cxgb4 - Chelsio Terminator 4/5 1G/10/40G Ethernet adapter

File: cxgb4/t4fw-1.9.23.0.bin
Link: cxgb4/t4fw.bin -> t4fw-1.9.23.0.bin
File: cxgb4/t5fw-1.9.23.0.bin
Link: cxgb4/t5fw.bin -> t5fw-1.9.23.0.bin

Licence: Redistributable. See LICENCE.chelsio_firmware for details

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

Driver: e100 -- Intel PRO/100 Ethernet NIC

File: e100/d101m_ucode.bin
File: e100/d101s_ucode.bin
File: e100/d102e_ucode.bin

Licence: Unknown

Found in hex form in kernel source.

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

Driver: acenic -- Alteon AceNIC Gigabit Ethernet card

File: acenic/tg1.bin
File: acenic/tg2.bin

Licence: Unknown

Found in hex form in kernel source, but source allegedly available at
http://alteon.shareable.org/

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

Driver: tg3 -- Broadcom Tigon3 based gigabit Ethernet cards

File: tigon/tg3.bin
File: tigon/tg3_tso.bin
File: tigon/tg3_tso5.bin
File: tigon/tg357766.bin

Licence:
 * Firmware is:
 *	Derived from proprietary unpublished source code,
 *	Copyright (C) 2000-2013 Broadcom Corporation.
 *
 *	Permission is hereby granted for the distribution of this firmware
 *	data in hexadecimal or equivalent format, provided this copyright
 *	notice is accompanying it.

Found in hex form in kernel source.

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

Driver: starfire - Adaptec Starfire/DuraLAN support

File: adaptec/starfire_rx.bin
File: adaptec/starfire_tx.bin

Licence: Allegedly GPLv2, but no source visible.

Found in hex form in kernel source, with the following notice:

 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND
 THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE
 IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE
 (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR
 OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR
 DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
 ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM.

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

Driver: i2400m-usb - Intel 2400 Wireless WiMAX Connection over USB

File: i2400m-fw-usb-1.4.sbcf
File: i2400m-fw-usb-1.5.sbcf
File: i6050-fw-usb-1.5.sbcf

Licence: Redistributable. See LICENCE.i2400m for details

Also available from http://linuxwimax.org/Download

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

Driver: libertas - Marvell Libertas fullmac-type 802.11b/g cards

File: libertas/cf8381.bin
File: libertas/cf8381_helper.bin
File: libertas/cf8385.bin
File: libertas/cf8385_helper.bin
File: libertas/gspi8682.bin
File: libertas/gspi8682_helper.bin
File: libertas/gspi8686_v9.bin
File: libertas/gspi8686_v9_helper.bin
File: libertas/gspi8688.bin
File: libertas/gspi8688_helper.bin
File: libertas/sd8385.bin
File: libertas/sd8385_helper.bin
File: libertas/sd8682.bin
File: libertas/sd8682_helper.bin
File: libertas/sd8686_v8.bin
File: libertas/sd8686_v8_helper.bin
File: libertas/sd8686_v9.bin
File: libertas/sd8686_v9_helper.bin
File: libertas/usb8388_v5.bin
File: libertas/usb8388_v9.bin
File: libertas/usb8682.bin
File: mrvl/sd8688.bin
Link: libertas/sd8688.bin -> ../mrvl/sd8688.bin
File: mrvl/sd8688_helper.bin
Link: libertas/sd8688_helper.bin -> ../mrvl/sd8688_helper.bin

Licence: Redistributable. See LICENCE.Marvell for details.  Extracted from
Linux driver tarballs downloaded from Marvell's "Extranet" with permission.

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

Driver: libertas - Marvell Libertas 802.11b/g cards, OLPC firmware

File: libertas/lbtf_sdio.bin
Version: 9.0.7.p4

File: lbtf_usb.bin
Version: 5.132.3.p1

File: libertas/usb8388_olpc.bin
Version: 5.110.22.p23

Licence: Redistributable. See LICENCE.OLPC for details.

Available from http://dev.laptop.org/pub/firmware/libertas/

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

Driver: mwl8k - Marvell Libertas softmac-type 802.11b/g/n cards

File: mwl8k/fmimage_8687.fw
File: mwl8k/helper_8687.fw
File: mwl8k/fmimage_8366.fw
File: mwl8k/fmimage_8366_ap-1.fw
File: mwl8k/fmimage_8366_ap-2.fw
File: mwl8k/fmimage_8366_ap-3.fw
Version: 5.2.8.16
File: mwl8k/helper_8366.fw

File: mwl8k/fmimage_8764_ap-1.fw
Version: 7.4.0.9

Licence: Redistributable. See LICENCE.Marvell for details.  8687 images
downloaded from Marvell's "Extranet" with permission.  8366 images contributed
directly by Marvell.

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

Driver: mwifiex - Marvell Wi-Fi fullmac-type 802.11n/ac cards

File: mrvl/sd8787_uapsta.bin
Version: 14.66.9.p96

File: mrvl/sd8797_uapsta.bin
Version: 14.66.11.p151

File: mrvl/sd8897_uapsta.bin
Version: 15.69.2.p11

File: mrvl/usb8797_uapsta.bin
Version: 14.69.11.p179

File: mrvl/pcie8897_uapsta.bin
Version: 15.69.2.p11

Licence: Redistributable. See LICENCE.Marvell for details.  Originates from
http://git.marvell.com/?p=mwifiex-firmware.git

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


Driver: iwlwifi - Intel Wireless Wifi

File: iwlwifi-3945-2.ucode
Version: 15.32.2.9

File: iwlwifi-4965-2.ucode
Version: 228.61.2.24

File: iwlwifi-5000-1.ucode
Version: 5.4.A.11 (aka 5.4.1.16)

File: iwlwifi-5000-2.ucode
Version: 8.24.2.12

File: iwlwifi-5000-5.ucode
Version: 8.83.5.1

File: iwlwifi-5150-2.ucode
Version: 8.24.2.2

File: iwlwifi-1000-3.ucode
Version: 128.50.3.1

File: iwlwifi-1000-5.ucode
Version: 39.31.5.1

File: iwlwifi-6000-4.ucode
Version: 9.221.4.1

File: iwlwifi-6050-4.ucode
Version: 9.201.4.1

File: iwlwifi-6050-5.ucode
Version: 41.28.5.1

File: iwlwifi-6000g2a-5.ucode
Version: 17.168.5.3

File: iwlwifi-6000g2a-6.ucode
Version: 18.168.6.1

File: iwlwifi-6000g2b-5.ucode
Version: 17.168.5.1

File: iwlwifi-6000g2b-6.ucode
Version: 18.168.6.1

File: iwlwifi-135-6.ucode
Version: 18.168.6.1

File: iwlwifi-100-5.ucode
Version: 39.31.5.1

File: iwlwifi-105-6.ucode
Version: 18.168.6.1

File: iwlwifi-2030-6.ucode
Version: 18.168.6.1

File: iwlwifi-2000-6.ucode
Version: 18.168.6.1

File: iwlwifi-7260-7.ucode
Version: 22.1.7.0

File: iwlwifi-7260-8.ucode
Version: 22.15.8.0

File: iwlwifi-3160-7.ucode
Version: 22.1.7.0

File: iwlwifi-3160-8.ucode
Version: 22.15.8.0

Licence: Redistributable. See LICENCE.iwlwifi_firmware for details

Also available from http://intellinuxwireless.org/?n=Downloads

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

Driver: cx231xx - Conexant Cx23100/101/102 USB broadcast A/V decoder

File: v4l-cx231xx-avcore-01.fw

Licence:
  Conexant grants permission to use and redistribute these firmware
  files for use with Conexant devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: tehuti - Tehuti Networks 10G Ethernet

File: tehuti/bdx.bin

Licence:

 Copyright (C) 2007 Tehuti Networks Ltd.

 Permission is hereby granted for the distribution of this firmware data
 in hexadecimal or equivalent format, provided this copyright notice is
 accompanying it.

Found in hex form in kernel source.

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

Driver: typhoon - 3cr990 series Typhoon

File: 3com/typhoon.bin

Licence:
/*
 * Copyright 1999-2004 3Com Corporation.  All Rights Reserved.
 *
 * Redistribution and use in source and binary forms of the 3c990img.h
 * microcode software are permitted provided that the following conditions
 * are met:
 * 1. Redistribution of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistribution in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of 3Com may not be used to endorse or promote products
 *    derived from this software without specific prior written permission
 *
 * THIS SOFTWARE IS PROVIDED BY 3COM ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * USER ACKNOWLEDGES AND AGREES THAT PURCHASE OR USE OF THE 3c990img.h
 * MICROCODE SOFTWARE WILL NOT CREATE OR GIVE GROUNDS FOR A LICENSE BY
 * IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS
 * (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT)
 * EMBODIED IN ANY OTHER 3COM HARDWARE OR SOFTWARE EITHER SOLELY OR IN
 * COMBINATION WITH THE 3c990img.h MICROCODE SOFTWARE
 */

Found in hex form in kernel source.

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

Driver: yam - YAM driver for AX.25

File: yam/1200.bin
File: yam/9600.bin

Licence:
 * (C) F6FBB 1998

Found in hex form in kernel source.

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

Driver: 3c359 - 3Com 3C359 Token Link Velocity XL adapter

File: 3com/3C359.bin

Licence:
/*
 * The firmware this driver downloads into the tokenring card is a
 * separate program and is not GPL'd source code, even though the Linux
 * side driver and the routine that loads this data into the card are.
 *
 * This firmware is licensed to you strictly for use in conjunction
 * with the use of 3Com 3C359 TokenRing adapters. There is no
 * waranty expressed or implied about its fitness for any purpose.
 */
/* 3c359_microcode.mac: 3Com 3C359 Tokenring microcode.
 *
 * Notes:
 *  - Loaded from xl_init upon adapter initialization.
 *
 * Available from 3Com as part of their standard 3C359 driver.
 */

Found in hex form in kernel source.

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

Driver: pcnet_cs - NE2000 compatible PCMCIA adapter

File: cis/LA-PCM.cis
File: cis/PCMLM28.cis
File: cis/DP83903.cis
File: cis/NE2K.cis
File: cis/tamarack.cis
File: cis/PE-200.cis
File: cis/PE520.cis
Source: cis/src/LA-PCM.cis
Source: cis/src/PCMLM28.cis
Source: cis/src/DP83903.cis
Source: cis/src/NE2K.cis
Source: cis/src/tamarack.cis
Source: cis/src/PE-200.cis
Source: cis/src/PE520.cis

Licence: Dual GPLv2/MPL

Originally developed by the pcmcia-cs project
Copyright (C) 1998, 1999, 2000 David A. Hinds

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

Driver: 3c589_cs - 3Com PCMCIA adapter

File: cis/3CXEM556.cis
Source: cis/src/3CXEM556.cis

Licence: Dual GPLv2/MPL

Originally developed by the pcmcia-cs project
Copyright (C) 1998, 1999, 2000 David A. Hinds

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

Driver: 3c574_cs - 3Com PCMCIA adapter

File: cis/3CCFEM556.cis
Source: cis/src/3CCFEM556.cis

Licence: Dual GPLv2/MPL

Originally developed by the pcmcia-cs project
Copyright (C) 1998, 1999, 2000 David A. Hinds

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

Driver: serial_cs - Serial PCMCIA adapter

File: cis/MT5634ZLX.cis
File: cis/RS-COM-2P.cis
File: cis/COMpad2.cis
File: cis/COMpad4.cis
Source: cis/src/MT5634ZLX.cis
Source: cis/src/RS-COM-2P.cis
Source: cis/src/COMpad2.cis
Source: cis/src/COMpad4.cis

Licence: Dual GPLv2/MPL

Originally developed by the pcmcia-cs project
Copyright (C) 1998, 1999, 2000 David A. Hinds

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

Driver: serial_cs - Serial PCMCIA adapter

File: cis/SW_555_SER.cis
File: cis/SW_7xx_SER.cis
File: cis/SW_8xx_SER.cis

Licence: GPLv3

Copyright Sierra Wireless

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

Driver: smc91c92_cs - SMC 91Cxx PCMCIA

File: ositech/Xilinx7OD.bin

Licence: Allegedly GPL, but no source visible. Marked:
    This file contains the firmware of Seven of Diamonds from OSITECH.
    (Special thanks to Kevin MacPherson of OSITECH)

Found in hex form in kernel source.

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

Driver: cx23418 - Conexant PCI Broadcast A/V with MPEG encoder

File: v4l-cx23418-apu.fw
File: v4l-cx23418-cpu.fw
File: v4l-cx23418-dig.fw

Licence:
  Conexant grants permission to use and redistribute these firmware
  files for use with Conexant devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: cx23885 - Conexant PCI Express Broadcast A/V decoder

File: v4l-cx23885-avcore-01.fw
File: v4l-cx23885-enc.fw

Licence:
  Conexant grants permission to use and redistribute these firmware
  files for use with Conexant devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: cx23840 - Conexant sideport Broadcast A/V decoder

File: v4l-cx25840.fw

Licence:
  Conexant grants permission to use and redistribute these firmware
  files for use with Conexant devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: qlogicpti - PTI Qlogic, ISP Driver

File: qlogic/isp1000.bin

Licence: Unknown

Found in hex form in kernel source.

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

Driver: myri_sbus - MyriCOM Gigabit Ethernet

File: myricom/lanai.bin

Licence: Unknown

Found in hex form in kernel source.

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

Driver: bnx2x: Broadcom Everest

File: bnx2x-e1-4.8.53.0.fw
File: bnx2x-e1h-4.8.53.0.fw
File: bnx2x-e1-5.2.7.0.fw
File: bnx2x-e1h-5.2.7.0.fw
File: bnx2x-e1-5.2.13.0.fw
File: bnx2x-e1h-5.2.13.0.fw
File: bnx2x/bnx2x-e1-6.0.34.0.fw
File: bnx2x/bnx2x-e1h-6.0.34.0.fw
File: bnx2x/bnx2x-e2-6.0.34.0.fw
File: bnx2x/bnx2x-e1-6.2.5.0.fw
File: bnx2x/bnx2x-e1h-6.2.5.0.fw
File: bnx2x/bnx2x-e2-6.2.5.0.fw
File: bnx2x/bnx2x-e1-6.2.9.0.fw
File: bnx2x/bnx2x-e1h-6.2.9.0.fw
File: bnx2x/bnx2x-e2-6.2.9.0.fw
File: bnx2x/bnx2x-e2-7.0.20.0.fw
File: bnx2x/bnx2x-e1-7.0.20.0.fw
File: bnx2x/bnx2x-e1h-7.0.20.0.fw
File: bnx2x/bnx2x-e2-7.0.23.0.fw
File: bnx2x/bnx2x-e1-7.0.23.0.fw
File: bnx2x/bnx2x-e1h-7.0.23.0.fw
File: bnx2x/bnx2x-e2-7.0.29.0.fw
File: bnx2x/bnx2x-e1-7.0.29.0.fw
File: bnx2x/bnx2x-e1h-7.0.29.0.fw
File: bnx2x/bnx2x-e2-7.2.16.0.fw
File: bnx2x/bnx2x-e1-7.2.16.0.fw
File: bnx2x/bnx2x-e1h-7.2.16.0.fw
File: bnx2x/bnx2x-e2-7.2.51.0.fw
File: bnx2x/bnx2x-e1-7.2.51.0.fw
File: bnx2x/bnx2x-e1h-7.2.51.0.fw
File: bnx2x/bnx2x-e1-7.8.2.0.fw
File: bnx2x/bnx2x-e1h-7.8.2.0.fw
File: bnx2x/bnx2x-e2-7.8.2.0.fw
File: bnx2x/bnx2x-e1-7.8.17.0.fw
File: bnx2x/bnx2x-e1h-7.8.17.0.fw
File: bnx2x/bnx2x-e2-7.8.17.0.fw
File: bnx2x/bnx2x-e1-7.8.19.0.fw
File: bnx2x/bnx2x-e1h-7.8.19.0.fw
File: bnx2x/bnx2x-e2-7.8.19.0.fw

License:
  Copyright (c) 2007-2011 Broadcom Corporation

  This file contains firmware data derived from proprietary unpublished
  source code, Copyright (c) 2007-2011 Broadcom Corporation.

  Permission is hereby granted for the distribution of this firmware data
  in hexadecimal or equivalent format, provided this copyright notice is
  accompanying it.


Found in hex form in kernel source.

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

Driver: bnx2 - Broadcom NetXtremeII

File: bnx2/bnx2-mips-06-4.6.16.fw
File: bnx2/bnx2-mips-06-5.0.0.j3.fw
File: bnx2/bnx2-mips-06-5.0.0.j6.fw
File: bnx2/bnx2-mips-06-6.0.15.fw
File: bnx2/bnx2-mips-06-6.2.1.fw
File: bnx2/bnx2-mips-06-6.2.3.fw
File: bnx2/bnx2-mips-09-4.6.17.fw
File: bnx2/bnx2-mips-09-5.0.0.j3.fw
File: bnx2/bnx2-mips-09-5.0.0.j9.fw
File: bnx2/bnx2-mips-09-5.0.0.j15.fw
File: bnx2/bnx2-mips-09-6.0.17.fw
File: bnx2/bnx2-mips-09-6.2.1.fw
File: bnx2/bnx2-mips-09-6.2.1a.fw
File: bnx2/bnx2-mips-09-6.2.1b.fw
File: bnx2/bnx2-rv2p-06-4.6.16.fw
File: bnx2/bnx2-rv2p-06-5.0.0.j3.fw
File: bnx2/bnx2-rv2p-06-6.0.15.fw
File: bnx2/bnx2-rv2p-09-4.6.15.fw
File: bnx2/bnx2-rv2p-09-5.0.0.j3.fw
File: bnx2/bnx2-rv2p-09-5.0.0.j10.fw
File: bnx2/bnx2-rv2p-09-6.0.17.fw
File: bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw
File: bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw
File: bnx2/bnx2-rv2p-09ax-6.0.17.fw

Licence:

 This file contains firmware data derived from proprietary unpublished
 source code, Copyright (c) 2004 - 2010 Broadcom Corporation.

 Permission is hereby granted for the distribution of this firmware data
 in hexadecimal or equivalent format, provided this copyright notice is
 accompanying it.

Found in hex form in kernel source.

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

Driver: netxen_nic - NetXen Multi port (1/10) Gigabit Ethernet NIC

File: phanfw.bin
Version: 4.0.590

Licence: Redistributable. See LICENCE.phanfw for details.

Available from http://ldriver.qlogic.com/firmware/netxen_nic/new/

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

Driver: dvb-ttpci -- AV7110 cards

File: av7110/bootcode.bin
Source: av7110/Boot.S
Source: av7110/Makefile

Licence: GPLv2 or later

ARM assembly source code from http://www.linuxtv.org/downloads/firmware/Boot.S

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

Driver: snd-wavefront - ISA WaveFront sound card

File: yamaha/yss225_registers.bin

Licence: Allegedly GPLv2+, but no source visible.

Found in hex form in kernel source, with the following comment:
   Copyright (c) 1998-2002 by Paul Davis <pbd@op.net>

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

Driver: rt61pci - Ralink RT2561, RT2561S, RT2661 wireless MACs

File: rt2561.bin
File: rt2561s.bin
File: rt2661.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

Downloaded from http://www.ralinktech.com/ralink/Home/Support/Linux.html

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

Driver: rt73usb - Ralink RT2571W, RT2671 wireless MACs

File: rt73.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

Downloaded from http://www.ralinktech.com/ralink/Home/Support/Linux.html

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

Driver: rt2800pci - Ralink RT2860, RT2890, RT3090, RT3290, RT5390 wireless MACs

File: rt2860.bin
File: rt3290.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

Binary file supplied by Shiang Tu <shiang_tu@ralinktech.com>. Firmware Version 34
rt3290.bin is a specific firmware support the RT3290 chip. Firmware Version 37

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

Driver: rt2860sta - Ralink RT3090 wireless MACs

Link: rt3090.bin -> rt2860.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

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

Driver: rt2800usb - Ralink RT2870, RT3070, RT3071, RT3072, RT5370 wireless MACs

File: rt2870.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

Binary file supplied by Shiang Tu <shiang_tu@ralinktech.com>. Firmware Version 29

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

Driver: rt2870sta - Ralink RT2870, RT3070, RT3071 wireless MACs

Link: rt3070.bin -> rt2870.bin
File: rt3071.bin

Licence: Redistributable. See LICENCE.ralink-firmware.txt for details

rt3071.bin is a copy of bytes 4096-8191 of rt2870.bin for compatibility.

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

Driver: usbdux/usbduxfast/usbduxsigma - usbdux data acquisition cards

File: usbdux_firmware.bin
File: usbduxfast_firmware.bin
File: usbduxsigma_firmware.bin
Source: usbdux/fx2-include.asm
Source: usbdux/usbduxfast_firmware.asm
Source: usbdux/usbdux_firmware.asm
Source: usbdux/usbduxsigma_firmware.asm

Licence: GPLv2. See source code in usbdux/ subdirectory.

Provided from the author, Bernd Porr <BerndPorr@f2s.com>

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

Driver: xc5000 - Xceive 5000 Tuner driver

File: dvb-fe-xc5000-1.6.114.fw
Version: 1.6.114

Licence: Redistributable. See LICENCE.xc5000 for details

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

Driver: dib0700 - DiBcom dib0700 USB DVB bridge driver

File: dvb-usb-dib0700-1.20.fw
Version: 1.20

Licence: Redistributable. See LICENCE.dib0700 for details

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

Driver: ath3k - DFU Driver for Atheros bluetooth chipset AR3011

File: ath3k-1.fw
Version: 1.0

Fix EEPROM radio table issue and change PID to 3005

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: mga - Matrox G200/G400/G550

File: matrox/g200_warp.fw
File: matrox/g400_warp.fw

Licence:

Copyright 1999 Matrox Graphics Inc.
All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
MATROX GRAPHICS INC., OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Found in hex form in kernel source.

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

Driver: r128 - ATI Rage 128

File: r128/r128_cce.bin

Licence:

Copyright 2000 Advanced Micro Devices, Inc.

 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.

Found in decimal form in kernel source.

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

Driver: radeon - ATI Radeon

File: radeon/R100_cp.bin
File: radeon/R200_cp.bin
File: radeon/R300_cp.bin
File: radeon/R420_cp.bin
File: radeon/RS600_cp.bin
File: radeon/RS690_cp.bin
File: radeon/R520_cp.bin
File: radeon/R600_pfp.bin
File: radeon/R600_me.bin
File: radeon/RV610_pfp.bin
File: radeon/RV610_me.bin
File: radeon/RV630_pfp.bin
File: radeon/RV630_me.bin
File: radeon/RV620_pfp.bin
File: radeon/RV620_me.bin
File: radeon/RV635_pfp.bin
File: radeon/RV635_me.bin
File: radeon/RV670_pfp.bin
File: radeon/RV670_me.bin
File: radeon/RS780_pfp.bin
File: radeon/RS780_me.bin
File: radeon/RV770_pfp.bin
File: radeon/RV770_me.bin
File: radeon/RV730_pfp.bin
File: radeon/RV730_me.bin
File: radeon/RV710_pfp.bin
File: radeon/RV710_me.bin

Licence:

 * Copyright 2007-2009 Advanced Micro Devices, Inc.
 * All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Found in hex form in kernel source.

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

Driver: radeon - ATI Radeon

File: radeon/R600_rlc.bin
File: radeon/R700_rlc.bin
File: radeon/RV710_uvd.bin
File: radeon/RV710_smc.bin
File: radeon/RV730_smc.bin
File: radeon/RV740_smc.bin
File: radeon/RV770_smc.bin
File: radeon/CEDAR_me.bin
File: radeon/CEDAR_pfp.bin
File: radeon/CEDAR_rlc.bin
File: radeon/CEDAR_smc.bin
File: radeon/CYPRESS_me.bin
File: radeon/CYPRESS_pfp.bin
File: radeon/CYPRESS_rlc.bin
File: radeon/CYPRESS_uvd.bin
File: radeon/CYPRESS_smc.bin
File: radeon/JUNIPER_me.bin
File: radeon/JUNIPER_pfp.bin
File: radeon/JUNIPER_rlc.bin
File: radeon/JUNIPER_smc.bin
File: radeon/REDWOOD_me.bin
File: radeon/REDWOOD_pfp.bin
File: radeon/REDWOOD_rlc.bin
File: radeon/REDWOOD_smc.bin
File: radeon/PALM_me.bin
File: radeon/PALM_pfp.bin
File: radeon/SUMO_rlc.bin
File: radeon/SUMO_uvd.bin
File: radeon/BARTS_mc.bin
File: radeon/BARTS_me.bin
File: radeon/BARTS_pfp.bin
File: radeon/BARTS_smc.bin
File: radeon/BTC_rlc.bin
File: radeon/CAICOS_mc.bin
File: radeon/CAICOS_me.bin
File: radeon/CAICOS_pfp.bin
File: radeon/CAICOS_smc.bin
File: radeon/TURKS_mc.bin
File: radeon/TURKS_me.bin
File: radeon/TURKS_pfp.bin
File: radeon/TURKS_smc.bin
File: radeon/CAYMAN_mc.bin
File: radeon/CAYMAN_me.bin
File: radeon/CAYMAN_pfp.bin
File: radeon/CAYMAN_rlc.bin
File: radeon/CAYMAN_smc.bin
File: radeon/SUMO_pfp.bin
File: radeon/SUMO_me.bin
File: radeon/SUMO2_pfp.bin
File: radeon/SUMO2_me.bin
File: radeon/ARUBA_me.bin
File: radeon/ARUBA_pfp.bin
File: radeon/ARUBA_rlc.bin
File: radeon/PITCAIRN_ce.bin
File: radeon/PITCAIRN_mc.bin
File: radeon/PITCAIRN_me.bin
File: radeon/PITCAIRN_pfp.bin
File: radeon/PITCAIRN_rlc.bin
File: radeon/PITCAIRN_smc.bin
File: radeon/TAHITI_ce.bin
File: radeon/TAHITI_mc.bin
File: radeon/TAHITI_me.bin
File: radeon/TAHITI_pfp.bin
File: radeon/TAHITI_rlc.bin
File: radeon/TAHITI_uvd.bin
File: radeon/TAHITI_smc.bin
File: radeon/VERDE_ce.bin
File: radeon/VERDE_mc.bin
File: radeon/VERDE_me.bin
File: radeon/VERDE_pfp.bin
File: radeon/VERDE_rlc.bin
File: radeon/VERDE_smc.bin
File: radeon/OLAND_ce.bin
File: radeon/OLAND_mc.bin
File: radeon/OLAND_me.bin
File: radeon/OLAND_pfp.bin
File: radeon/OLAND_rlc.bin
File: radeon/OLAND_smc.bin
File: radeon/HAINAN_ce.bin
File: radeon/HAINAN_mc.bin
File: radeon/HAINAN_me.bin
File: radeon/HAINAN_pfp.bin
File: radeon/HAINAN_rlc.bin
File: radeon/HAINAN_smc.bin
File: radeon/BONAIRE_ce.bin
File: radeon/BONAIRE_mc.bin
File: radeon/BONAIRE_me.bin
File: radeon/BONAIRE_mec.bin
File: radeon/BONAIRE_pfp.bin
File: radeon/BONAIRE_rlc.bin
File: radeon/BONAIRE_sdma.bin
File: radeon/BONAIRE_uvd.bin
File: radeon/BONAIRE_smc.bin
File: radeon/KABINI_ce.bin
File: radeon/KABINI_me.bin
File: radeon/KABINI_mec.bin
File: radeon/KABINI_pfp.bin
File: radeon/KABINI_rlc.bin
File: radeon/KABINI_sdma.bin
File: radeon/KAVERI_ce.bin
File: radeon/KAVERI_me.bin
File: radeon/KAVERI_mec.bin
File: radeon/KAVERI_pfp.bin
File: radeon/KAVERI_rlc.bin
File: radeon/KAVERI_sdma.bin
File: radeon/HAWAII_ce.bin
File: radeon/HAWAII_mc.bin
File: radeon/HAWAII_me.bin
File: radeon/HAWAII_mec.bin
File: radeon/HAWAII_pfp.bin
File: radeon/HAWAII_rlc.bin
File: radeon/HAWAII_sdma.bin
File: radeon/HAWAII_smc.bin

Licence: Redistributable. See LICENSE.radeon for details.

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

Driver: s2255drv

File: f2255usb.bin

Licence:
  Sensoray grants permission to use and redistribute these firmware
  files for use with Sensoray devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: rtl8192e - Realtek 8192 PCI wireless driver

File: RTL8192E/*
Licence: Redistributable, provided by Realtek in their driver
         source download.

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

Driver: lgs8gxx - Legend Silicon GB20600 demodulator driver

File: lgs8g75.fw

Licence: Unknown

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

Driver: ib_qib - QLogic Infiniband

File: qlogic/sd7220.fw

Licence:

 * Copyright (c) 2007, 2008 QLogic Corporation. All rights reserved.
 *
 * This software is available to you under a choice of one of two
 * licenses.  You may choose to be licensed under the terms of the GNU
 * General Public License (GPL) Version 2, available from the file
 * COPYING in the main directory of this source tree, or the
 * OpenIB.org BSD license below:
 *
 *     Redistribution and use in source and binary forms, with or
 *     without modification, are permitted provided that the following
 *     conditions are met:
 *
 *      - Redistributions of source code must retain the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer.
 *
 *      - Redistributions in binary form must reproduce the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer in the documentation and/or other materials
 *        provided with the distribution.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.

Found in hex form in kernel source.

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

Driver: ueagle-atm - Driver for USB ADSL Modems based on Eagle IV Chipset

File: ueagle-atm/CMV4p.bin.v2
File: ueagle-atm/DSP4p.bin
File: ueagle-atm/eagleIV.fw
Version: 1.0

Licence: Redistributable. See LICENCE.ueagle-atm4-firmware for details

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

Driver: ueagle-atm - Driver for USB ADSL Modems based on Eagle I,II,III

File: ueagle-atm/930-fpga.bin
File: ueagle-atm/CMVeiWO.bin    
File: ueagle-atm/CMVepFR10.bin  
File: ueagle-atm/DSP9p.bin	
File: ueagle-atm/eagleIII.fw
File: ueagle-atm/adi930.fw     
File: ueagle-atm/CMVep.bin      
File: ueagle-atm/CMVepFR.bin    
File: ueagle-atm/DSPei.bin
File: ueagle-atm/CMV9i.bin     
File: ueagle-atm/CMVepES03.bin  
File: ueagle-atm/CMVepIT.bin    
File: ueagle-atm/DSPep.bin
File: ueagle-atm/CMV9p.bin     
File: ueagle-atm/CMVepES.bin    
File: ueagle-atm/CMVepWO.bin    
File: ueagle-atm/eagleI.fw
File: ueagle-atm/CMVei.bin     
File: ueagle-atm/CMVepFR04.bin  
File: ueagle-atm/DSP9i.bin	    
File: ueagle-atm/eagleII.fw
Version: 1.1

Licence: Redistributable. Based on 
         https://mail.gna.org/public/eagleusb-dev/2004-11/msg00172.html

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

Driver: vxge - Exar X3100 Series 10GbE PCIe I/O Virtualized Server Adapter

File: vxge/X3fw.ncf
File: vxge/X3fw-pxe.ncf
Version: 1.8.1

Licence:

 This file contains firmware data derived from proprietary unpublished
 source code, Copyright (c) 2010 Exar Corporation.

 Permission is hereby granted for the distribution of this firmware data
 in hexadecimal or equivalent format, provided this copyright notice is
 accompanying it.

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

Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver.

File: brcm/bcm43xx-0.fw
File: brcm/bcm43xx_hdr-0.fw
Version: 610.812

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

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

Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver.

File: brcm/bcm4329-fullmac-4.bin
File: brcm/brcmfmac43236b.bin
File: brcm/brcmfmac4329-sdio.bin
File: brcm/brcmfmac4330-sdio.bin
File: brcm/brcmfmac4334-sdio.bin
File: brcm/brcmfmac4335-sdio.bin
File: brcm/brcmfmac43241b0-sdio.bin
File: brcm/brcmfmac43241b4-sdio.bin

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

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

Driver: tda7706 - FM radio Highly integrated tuner for AM/FM car-radio

File: TDA7706_OM_v2.5.1_boot.txt
File: TDA7706_OM_v3.0.2_boot.txt

Licence: Redistributable. See LICENCE.tda7706-firmware.txt for details.
        Copyright © 2010 STMicroelectronics

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

Driver: wl1251 - Texas Instruments 802.11 WLAN driver for WiLink4 chips

File: ti-connectivity/wl1251-fw.bin
Version: 4.0.4.3.7

File: ti-connectivity/wl1251-nvs.bin

Licence: See LICENCE.wl1251 for details.

The published NVS files are for testing only.  Every device needs to
have a unique NVS which is properly calibrated for best results.

The driver expects to find the firmwares under a ti-connectivity subdirectory.
So if your system looks for firmwares in /lib/firmware, the firmwares for
wl12xx chips must be located in /lib/firmware/ti-connectivity/.

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

Driver: wl12xx - Texas Instruments 802.11 WLAN driver for WiLink6/7 chips

File: ti-connectivity/wl1271-fw.bin
Version: 6.1.0.50.350 (STA-only)
File: ti-connectivity/wl1271-fw-2.bin
Version: 6.1.5.50.74 (STA-only)
File: ti-connectivity/wl1271-fw-ap.bin
Version: 6.2.1.0.54 (AP-only)
File: ti-connectivity/wl127x-fw-3.bin
Version: 6.3.0.0.77
File: ti-connectivity/wl127x-fw-plt-3.bin
Version: 6.3.0.0.77 (PLT-only)
File: ti-connectivity/wl127x-fw-4-sr.bin
Version: 6.3.5.0.98 (Single-role)
File: ti-connectivity/wl127x-fw-4-mr.bin
Version: 6.5.2.0.15 (Multi-role)
File: ti-connectivity/wl127x-fw-4-plt.bin
Version: 6.3.5.0.98 (PLT-only)
File: ti-connectivity/wl127x-fw-5-sr.bin
Version: 6.3.10.0.133 (Single-role)
File: ti-connectivity/wl127x-fw-5-mr.bin
Version: 6.5.7.0.42 (Multi-role)
File: ti-connectivity/wl127x-fw-5-plt.bin
Version: 6.3.10.0.133 (PLT-only)

File: ti-connectivity/wl128x-fw.bin
Version: 7.1.5.50.74 (STA-only)
File: ti-connectivity/wl128x-fw-ap.bin
Version: 7.2.1.0.54 (AP-only)
File: ti-connectivity/wl128x-fw-3.bin
Version: 7.3.0.0.77
File: ti-connectivity/wl128x-fw-plt-3.bin
Version: 7.3.0.0.77
File: ti-connectivity/wl128x-fw-4-sr.bin
Version: 7.3.5.0.98 (Single-role)
File: ti-connectivity/wl128x-fw-4-mr.bin
Version: 7.5.2.0.15 (Multi-role)
File: ti-connectivity/wl128x-fw-4-plt.bin
Version: 7.3.5.0.98 (PLT)
File: ti-connectivity/wl128x-fw-5-sr.bin
Version: 7.3.10.0.133 (Single-role)
File: ti-connectivity/wl128x-fw-5-mr.bin
Version: 7.5.7.0.42 (Multi-role)
File: ti-connectivity/wl128x-fw-5-plt.bin
Version: 7.3.10.2.133 (PLT-only)

File: ti-connectivity/wl127x-nvs.bin
File: ti-connectivity/wl128x-nvs.bin
Link: ti-connectivity/wl12xx-nvs.bin -> wl127x-nvs.bin
Link: ti-connectivity/wl1271-nvs.bin -> wl127x-nvs.bin

Licence: See LICENCE.ti-connectivity for details.

The NVS file includes two parts:
	 - radio calibration
	 - HW configuration parameters (aka. INI values)

The published NVS files are for testing only.  Every device needs to
hava a unique NVS which is properly calibrated for best results.  You
can find more information about NVS generation for your device here:

http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator

If you're using a wl127x based device, use a symbolic link called
wl1271-nvs.bin that links to the wl127x-nvs.bin file.  If you are
using wl128x, link to wl128x-nvs.bin instead.

The driver expects to find the firmwares under a ti-connectivity
subdirectory.  So if your system looks for firmwares in /lib/firmware,
the firmwares for wl12xx chips must be located in
/lib/firmware/ti-connectivity/.

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

Driver: wl18xx - Texas Instruments 802.11 WLAN driver for WiLink8 chips

File: ti-connectivity/wl18xx-fw.bin
Version: 8.2.0.0.100
File: ti-connectivity/wl18xx-fw-2.bin
Version: 8.5.0.0.55
File: ti-connectivity/wl18xx-fw-3.bin
Version: 8.8.0.0.13
File: ti-connectivity/wl18xx-conf.bin
Version: 6/5

Licence: See LICENCE.ti-connectivity for details.

The driver expects to find the firmwares under a ti-connectivity
subdirectory.  So if your system looks for firmwares in /lib/firmware,
the firmwares for wl18xx chips must be located in
/lib/firmware/ti-connectivity/.

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

Driver: TI_ST - Texas Instruments bluetooth driver

File: ti-connectivity/TIInit_7.2.31.bts

Licence: See LICENCE.ti-connectivity for details.

	TIInit_7.2.31.bts version 7.2.31

	In order to use that file copy it to /lib/firmware/ti-connectivity.

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

Driver: tlg2300 - Telgent 2300 V4L/DVB driver.

File: tlg2300_firmware.bin

Licence:
  Telegent System grants permission to use and redistribute these
  firmware files for use with devices containing the chip tlg2300, but
  not as a part of the Linux kernel or in any other form which would
  require these files themselves to be covered by the terms of the GNU
  General Public License. These firmware files are distributed in the
  hope that they will be useful, but WITHOUT ANY WARRANTY; without even
  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  PURPOSE.

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

Driver: r8712u - Realtek 802.11n WLAN driver for RTL8712U

File: rtlwifi/rtl8712u.bin
Info: From Vendor's rtl8712_8188_8191_8192SU_usb_linux_v7_0.20100831
      Reverted rtl8188C_8192C_8192D_usb_linux_v3.4.2_3727.20120404

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8192ce - Realtek 802.11n WLAN driver for RTL8192CE

File: rtlwifi/rtl8192cfw.bin
File: rtlwifi/rtl8192cfwU.bin
File: rtlwifi/rtl8192cfwU_B.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8192cu - Realtek 802.11n WLAN driver for RTL8192CU

File: rtlwifi/rtl8192cufw.bin
FILE: rtlwifi/rtl8192cufw_A.bin
FILE: rtlwifi/rtl8192cufw_B.bin
FILE: rtlwifi/rtl8192cufw_TMSC.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8192se - Realtek 802.11n WLAN driver for RTL8192SE

Info: updated from rtl_92ce_92se_92de_linux_mac80211_0004.0816.2011 driver version
File: rtlwifi/rtl8192sefw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8192de - Realtek 802.11n WLAN driver for RTL8192DE

Info: updated from Realtek version rtl_92ce_92se_92de_linux_mac80211_0004.0816.2011
File: rtlwifi/rtl8192defw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8723e - Realtek 802.11n WLAN driver for RTL8723E

Info: Taken from Realtek version rtl_92ce_92se_92de_8723ae_linux_mac80211_0007.0809.2012
File: rtlwifi/rtl8723fw.bin
File: rtlwifi/rtl8723fw_B.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: r8723au - Realtek 802.11n WLAN driver for RTL8723AU

Info: Taken from Realtek driver rtl8723A_WiFi_linux_v4.1.3_6044.20121224
      Firmware is embedded in the driver as data statements. This info
      has been extracted into a binary file.
File: rtlwifi/rtl8723aufw_A.bin
File: rtlwifi/rtl8723aufw_B.bin
File: rtlwifi/rtl8723aufw_B_NoBT.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8188ee - Realtek 802.11n WLAN driver for RTL8188EE

Info: Taken from Realtek version rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0010.0109.2013
File: rtlwifi/rtl8188efw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8188eu - Realtek 802.11n WLAN driver for RTL8188EU

Info: Taken from Realtek version RTL8188EUS_linux_v4.1.4_6773.20130222
File: rtlwifi/rtl8188eufw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8821ae - Realtek 802.11n WLAN driver for RTL8821AE

Info: Taken from Realtek version wifi_driver_8821ae_0018.1129.2013.tar.gz
File: rtlwifi/rtl8821aefw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: rtl8192ee - Realtek 802.11n WLAN driver for RTL8192EE

Info: Taken from Realtek version rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1224.2013
File: rtlwifi/rtl8192eefw.bin

Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details.

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

Driver: r8169 - RealTek 8169/8168/8101 ethernet driver.

File: rtl_nic/rtl8168d-1.fw
File: rtl_nic/rtl8168d-2.fw
File: rtl_nic/rtl8105e-1.fw
File: rtl_nic/rtl8168e-1.fw
File: rtl_nic/rtl8168e-2.fw

File: rtl_nic/rtl8168e-3.fw
Version: 0.0.4

File: rtl_nic/rtl8168f-1.fw
Version: 0.0.5

File: rtl_nic/rtl8168f-2.fw
Version: 0.0.4

File: rtl_nic/rtl8411-1.fw
Version: 0.0.3

File: rtl_nic/rtl8411-2.fw
Version: 0.0.1

File: rtl_nic/rtl8402-1.fw
Version: 0.0.1

File: rtl_nic/rtl8106e-1.fw
Version: 0.0.1

File: rtl_nic/rtl8106e-2.fw
Version: 0.0.1

File: rtl_nic/rtl8168g-1.fw
Version: 0.0.3

File: rtl_nic/rtl8168g-2.fw
Version: 0.0.1

File: rtl_nic/rtl8168g-3.fw
Version: 0.0.1

Licence:
 * Copyright © 2011-2013, Realtek Semiconductor Corporation
 *
 * Permission is hereby granted for the distribution of this firmware
 * data in hexadecimal or equivalent format, provided this copyright
 * notice is accompanying it.

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

Driver: vt6656 - VIA VT6656 USB wireless driver

File: vntwusb.fw

Licence: Redistributable. See LICENCE.via_vt6656 for details.

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

Driver: DFU Driver for Atheros bluetooth chipset AR3012

File: ar3k/AthrBT_0x01020001.dfu
File: ar3k/ramps_0x01020001_26.dfu
File: ar3k/AthrBT_0x01020200.dfu
File: ar3k/ramps_0x01020200_26.dfu
File: ar3k/ramps_0x01020200_40.dfu
File: ar3k/AthrBT_0x31010000.dfu
File: ar3k/ramps_0x31010000_40.dfu
File: ar3k/AthrBT_0x11020000.dfu
File: ar3k/ramps_0x11020000_40.dfu
File: ar3k/AthrBT_0x01020201.dfu
File: ar3k/ramps_0x01020201_26.dfu
File: ar3k/ramps_0x01020201_40.dfu
File: ar3k/AthrBT_0x41020000.dfu
File: ar3k/ramps_0x41020000_40.dfu

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver:Atheros AR300x UART HCI Bluetooth Chip driver

File: ar3k/1020201/PS_ASIC.pst
File: ar3k/1020201/RamPatch.txt
File: ar3k/1020200/ar3kbdaddr.pst
File: ar3k/1020200/PS_ASIC.pst
File: ar3k/1020200/RamPatch.txt
File: ar3k/30101/ar3kbdaddr.pst
File: ar3k/30101/PS_ASIC.pst
File: ar3k/30101/RamPatch.txt
File: ar3k/30000/ar3kbdaddr.pst
File: ar3k/30000/PS_ASIC.pst
File: ar3k/30000/RamPatch.txt

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: ath6kl - Atheros support for AR6003

File: ath6k/AR6004/hw1.3/fw-3.bin
File: ath6k/AR6004/hw1.3/bdata.bin
File: ath6k/AR6004/hw1.2/fw-2.bin
File: ath6k/AR6004/hw1.2/bdata.bin
File: ath6k/AR6003/hw1.0/otp.bin.z77
File: ath6k/AR6003/hw1.0/bdata.SD31.bin
File: ath6k/AR6003/hw1.0/bdata.SD32.bin
File: ath6k/AR6003/hw1.0/data.patch.bin
File: ath6k/AR6003/hw1.0/bdata.WB31.bin
File: ath6k/AR6003/hw1.0/athwlan.bin.z77
File: ath6k/AR6003/hw2.1.1/fw-2.bin
File: ath6k/AR6003/hw2.1.1/fw-3.bin
File: ath6k/AR6003/hw2.1.1/otp.bin
File: ath6k/AR6003/hw2.1.1/athwlan.bin
File: ath6k/AR6003/hw2.1.1/endpointping.bin
File: ath6k/AR6003/hw2.1.1/bdata.SD31.bin
File: ath6k/AR6003/hw2.1.1/bdata.SD32.bin
File: ath6k/AR6003/hw2.1.1/data.patch.bin
File: ath6k/AR6003/hw2.1.1/bdata.WB31.bin
File: ath6k/AR6003/hw2.0/otp.bin.z77
File: ath6k/AR6003/hw2.0/bdata.SD31.bin
File: ath6k/AR6003/hw2.0/bdata.SD32.bin
File: ath6k/AR6003/hw2.0/data.patch.bin
File: ath6k/AR6003/hw2.0/bdata.WB31.bin
File: ath6k/AR6003/hw2.0/athwlan.bin.z77
File: ath6k/AR6002/eeprom.data
File: ath6k/AR6002/eeprom.bin
File: ath6k/AR6002/athwlan.bin.z77
File: ath6k/AR6002/data.patch.hw2_0.bin

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: myri10ge - Myri10GE 10GbE NIC driver

File: myri10ge_eth_z8e.dat
File: myri10ge_ethp_z8e.dat
File: myri10ge_rss_eth_z8e.dat
File: myri10ge_rss_ethp_z8e.dat
File: myri10ge_eth_big_z8e.dat
File: myri10ge_ethp_big_z8e.dat
File: myri10ge_rss_eth_big_z8e.dat
File: myri10ge_rss_ethp_big_z8e.dat
Version: 1.4.57

License: Redistributable.  See LICENCE.myri10ge_firmware for details.

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

Driver: ath6kl - Atheros support for AR6003 WiFi-Bluetooth combo module

File: ath6k/AR6003.1/hw2.1.1/athwlan.bin
File: ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin
File: ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin
File: ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin
File: ath6k/AR6003.1/hw2.1.1/data.patch.bin
File: ath6k/AR6003.1/hw2.1.1/endpointping.bin
File: ath6k/AR6003.1/hw2.1.1/otp.bin

License: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: ath6kl - Atheros support for AR3001 WiFi-Bluetooth combo module

File: ar3k/30101coex/ar3kbdaddr.pst
File: ar3k/30101coex/PS_ASIC_aclLowPri.pst
File: ar3k/30101coex/PS_ASIC_aclHighPri.pst
File: ar3k/30101coex/PS_ASIC.pst
File: ar3k/30101coex/RamPatch.txt

License: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: drxk - Micronas DRX-K demodulator driver

File: dvb-usb-terratec-h5-drxk.fw

Licence:
TERRATEC grants permission to use and redistribute these firmware
files for use with TERRATEC devices, but not as part of the Linux
kernel or in any other form which would require these files themselves
to be covered by the terms of the GNU General Public License.

These firmware files are distributed in the hope that they will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: ene-ub6250 -- ENE UB6250 SD card reader driver

File: ene-ub6250/sd_init1.bin
File: ene-ub6250/sd_init2.bin
File: ene-ub6250/sd_rdwr.bin
File: ene-ub6250/ms_init.bin
File: ene-ub6250/msp_rdwr.bin
File: ene-ub6250/ms_rdwr.bin

Licence: Redistributable. See LICENCE.ene_firmware for details.

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

Driver: isci -- Intel C600 SAS controller driver

File: isci/isci_firmware.bin
Source: isci/create_fw.c
Source: isci/create_fw.h
Source: isci/probe_roms.h
Source: isci/Makefile

Licence: GPLv2

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

Driver: ar5523 -- Atheros AR5523 based USB Wifi dongles

File: ar5523.bin

Licence: Redistributable. See LICENCE.atheros_firmware for details

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

Driver: s5p-mfc - Samsung MFC video encoder/decoder driver

File: s5p-mfc/s5p-mfc.fw
File: s5p-mfc/s5p-mfc-v6.fw

Licence:
Samsung grants permission to use and redistribute these firmware
files for use with Exynos series devices, but not as part of the Linux
kernel or in any other form which would require these files themselves
to be covered by the terms of the GNU General Public License.

These firmware files are distributed in the hope that they will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: carl9170 -- Atheros AR9170 802.11 draft-n USB driver

File: carl9170-1.fw
Version: 1.9.6
Source: carl9170fw/

Downloaded from http://linuxwireless.org/en/users/Drivers/carl9170

Licence: GPLv2. Some build scripts use the New BSD (3-clause) licence.

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

Driver: snd-hda-codec-ca0132 - Creative Sound Core3D codec

File: ctefx.bin
File: ctspeq.bin

Licence: Redistributable. See LICENCE.ca0132 for details

Found also in alsa-firmware package.

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

Driver: btusb - Bluetooth USB driver

File: intel/ibt-hw-37.7.bseq
Version: 1316.02.00
File: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
Version: 1344.01.33
File: intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq
Version: 1344.01.33

Licence: Redistributable. See LICENCE.ibt_firmware for details

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

Driver: btmtk_usb - Bluetooth USB driver

File: mt7650.bin

Licence: Redistributable. See LICENCE.ralink_a_mediatek_company_firmware for details

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

Driver: rp2 -- Comtrol RocketPort 2 serial driver

File: rp2.fw

Licence:
Copyright (C) 2013 Comtrol Corporation

Comtrol grants permission to use and redistribute these firmware
files for use with Comtrol devices, but not as part of the Linux
kernel or in any other form which would require these files themselves
to be covered by the terms of the GNU General Public License.

These firmware files are distributed in the hope that they will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

Driver: go7007

File: go7007/s2250-1.fw
File: go7007/s2250-2.fw
Link: s2250.fw -> go7007/s2250-2.fw
Link: s2250_loader.fw -> go7007/s2250-1.fw

Licence:
  Sensoray grants permission to use and redistribute these firmware
  files for use with Sensoray devices, but not as a part of the Linux
  kernel or in any other form which would require these files themselves
  to be covered by the terms of the GNU General Public License.
  These firmware files are distributed in the hope that they will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

File: go7007/go7007fw.bin
File: go7007/go7007tv.bin
File: go7007/lr192.fw
File: go7007/px-m402u.fw
File: go7007/px-tv402u.fw
File: go7007/wis-startrek.fw

Licence: Redistributable. See LICENCE.go7007_firmware for details

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

Driver: microcode_amd - AMD CPU Microcode Update Driver for Linux

File: amd-ucode/microcode_amd.bin
Version: 2013-07-10
File: amd-ucode/microcode_amd_fam15h.bin
Version: 2013-07-10

License: Redistributable. See LICENSE.amd-ucode for details

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

Driver: mxuport - MOXA UPort USB Serial hub driver

File: moxa/moxa-1250.fw
File: moxa/moxa-1251.fw
File: moxa/moxa-1410.fw
File: moxa/moxa-1450.fw
File: moxa/moxa-1451.fw
File: moxa/moxa-1613.fw
File: moxa/moxa-1618.fw
File: moxa/moxa-1653.fw
File: moxa/moxa-1658.fw

License:
The software accompanying this license statement (the “Software”)
is the property of Moxa Inc. (the “Moxa”), and is protected by
United States and International Copyright Laws and International
treaty provisions. No ownership rights are granted by this
Agreement or possession of the Software. Therefore, you must treat
the Licensed Software like any other copyrighted material. Your
rights and obligations in its use are described as follows:

1. You may freely redistribute this software under this license.
2. You may freely download and use this software on Moxa's device.
3. You may not modify or attempt to reverse engineer the software, or
   make any attempt to change or even examine the source code of the
   software.
4. You may not re-license or sub-license the software to any person or
   business, using any other license.
5. Moxa(r) is worldwide registered trademark.

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

Driver: cw1200 - ST-E CW1100/CW1200 WLAN driver

File: wsm_22.bin
Version: WSM395
Licence: Redistributable. See LICENSE.cw1200 for details.

File: sdd_sagrad_1091_1098.bin

License:
  Copyright (c) 2011-2013 Sagrad, Inc.

  This SDD ("Static Dynamic Data") file is licensed strictly for use with
  the Sagrad WiFi modules (such as the SG901-1091/1098) that utilize the
  cw1200 driver. There is no warranty expressed or implied about its 
  fitness for any purpose.

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

  (Please note that the actual device firmware is separately licensed)

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

Driver: BFA/BNA - Brocade Adapter FC/FCOE drivers

File: cbfw-3.2.1.1.bin
FIle: ctfw-3.2.1.1.bin
FIle: ct2fw-3.2.1.1.bin
File: cbfw-3.2.3.0.bin
FIle: ctfw-3.2.3.0.bin
FIle: ct2fw-3.2.3.0.bin

Licence:

This file contains firmware data derived from proprietary unpublished
source code, Copyright (c) 2013 Brocade Communications Systems, Inc.

Permission is hereby granted for the distribution of this firmware data
in hexadecimal or equivalent format, provided this copyright notice is
accompanying it.

Found in hex form in kernel source.

Brocade grants permission to use and redistribute these firmware files
for use with Brocade devices, but not as a part of the Linux
kernel or in any other form which would require these files themselves
to be covered by the terms of the GNU General Public License.
These firmware files are distributed in the hope that they will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

