UPSTREAM: linux-firmware: qca: add BT firmware for QCA6174 3.2 chips

Latest firmware files supporting QCA6174 3.2 (ROME) chipset

BUG=chrome-os-partner:50854
TEST=passed AVL(BT sanity and qualification tests)

Change-Id: I04d40bf496104ab07af292935b36d4627204c788
Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com>
Reviewed-on: https://chromium-review.googlesource.com/340974
Commit-Ready: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@gmail.com>
Reviewed-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@gmail.com>
Reviewed-by: Kirtika Ruchandani <kirtika@chromium.org>
diff --git a/WHENCE b/WHENCE
index 5e4b4e6..6fa8b5f 100644
--- a/WHENCE
+++ b/WHENCE
@@ -2533,3 +2533,14 @@
 Version: 3.1
 
 Licence: Redistributable. See LICENCE.rockchip for details.
+
+--------------------------------------------------------------------------
+
+Driver: qca - Qualcomm Atheros Bluetooth support for QCA61x4 chips
+
+File: qca/nvm_usb_00000302.bin
+File: qca/rampatch_usb_00000302.bin
+
+Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details
+
+-------------------------------------------------------------------------
diff --git a/qca/NOTICE.txt b/qca/NOTICE.txt
new file mode 100644
index 0000000..3e17645
--- /dev/null
+++ b/qca/NOTICE.txt
@@ -0,0 +1,506 @@
+
+This Notice.txt file contains certain notices of software components included
+with the software that Qualcomm Atheros, Inc. ("Qualcomm Atheros") is required
+to provide you. Notwithstanding anything in the notices in this file, your use
+of these software components together with the Qualcomm Atheros software
+(Qualcomm Atheros software hereinafter referred to as "Software") is subject to
+the terms of your license from Qualcomm Atheros. Compliance with all copyright
+laws and software license agreements included in the notice section of this
+file are the responsibility of the user. Except as may be granted by separate
+express written agreement, this file provides no license to any Qualcomm
+Atheros patents, trademarks, copyrights, or other intellectual property.
+
+Copyright (c) 2014 Qualcomm Atheros, Inc.  All rights reserved.
+
+Qualcomm is a trademark of Qualcomm Incorporated, registered in the United
+States and other countries.  All Qualcomm Incorporated trademarks are used with
+permission. Atheros is a trademark of Qualcomm Atheros, Inc., registered in the
+United States and other countries.  Other products and brand names may be
+trademarks or registered trademarks of their respective owners.
+
+NOTICES:
+
+===============================================================================
+
+ 1.
+
+/*
+ * FILE:    sha2.c
+ * AUTHOR:    Aaron D. Gifford <me@aarongifford.com>
+ *
+ * Copyright (c) 2000-2001, Aaron D. Gifford
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ * 3. Neither the name of the copyright holder nor the names of contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``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 OR CONTRIBUTOR(S) 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.
+ *
+ * $Id: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $
+ */
+File: LLM_sp_sha2.c
+
+
+/*
+ * FILE:    sha2.h
+ * AUTHOR:    Aaron D. Gifford <me@aarongifford.com>
+ *
+ * Copyright (c) 2000-2001, Aaron D. Gifford
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ * 3. Neither the name of the copyright holder nor the names of contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``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 OR CONTRIBUTOR(S) 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.
+ *
+ * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $
+ */
+File: LLM_sp_sha2.h
+
+===============================================================================
+
+ 2.
+
+/* utility to create the register check tables
+* this includes inlined list.h safe for userspace.
+*
+* Copyright 2009 Jerome Glisse
+* Copyright 2009 Red Hat Inc.
+*
+* Authors:
+*    Jerome Glisse
+*    Dave Airlie
+*/
+/*All rights reserved.
+Redistribution and use in source and binary forms, with or without modification
+are permitted provided that the following conditions are met:
+  1. Redistributions of source code must retain the above copyright notice,
+     this list of conditions and the following disclaimer.
+  2. 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.
+  3. Neither the name of the <ORGANIZATION> nor the names of its contributors
+     may be used to endorse or promote products derived from this software
+     without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.
+*/
+File: comm_lib.h
+
+===============================================================================
+
+ 3.
+
+/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. 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.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED 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 OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS 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.
+ * ====================================================================
+ *
+ */
+File Name list: aes.h, aes_locl.h
+
+===============================================================================
+
+ 4.
+
+/* crypto/aes/aes_core.c -*- mode:C; c-file-style: "eay" -*- */
+/**
+ * rijndael-alg-fst.c
+ *
+ * @version 3.0 (December 2000)
+ *
+ * Optimised ANSI C code for the Rijndael cipher (now AES)
+ *
+ * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
+ * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
+ * @author Paulo Barreto <paulo.barreto@terra.com.br>
+ *
+ * This code is hereby placed in the public domain.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''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 AUTHORS OR CONTRIBUTORS 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.
+ */
+File: aes_core.c
+
+===============================================================================
+
+ 5.
+
+/*===========================================================================
+
+                      EDIT HISTORY FOR FILE
+
+  $Header: //depot/asic/msmshared/sec/sec/MSM_SEC.03.03.08.xx/aes.h#1 $
+  $DateTime: 2006/12/11 00:43:21 $ $Author: davidf $
+
+when       who     what, where, why
+--------   ---     ----------------------------------------------------------
+11/12/04   rv      changes to correct LINT errors
+02/02/04   rwh     Small mods to open source.
+
+===========================================================================*/
+
+ /*
+   I retain copyright in this code but I encourage its free use provided
+   that I don't carry any responsibility for the results. I am especially
+   happy to see it used in free and open source software. If you do use
+   it I would appreciate an acknowledgement of its origin in the code or
+   the product that results and I would also appreciate knowing a liitle
+   about the use to which it is being put.
+
+   Dr B. R. Gladman <brg@gladman.uk.net> 1st June 2001.
+
+   This is an implementation of the AES encryption algorithm (Rijndael)
+   designed by Joan Daemen and Vincent Rijmen. This version is designed
+   to provide both fixed and dynamic block and key lengths and can also
+   run with either big or little endian internal byte order.
+
+   NOTE: Input block and key lengths are given in terms of the lengths of
+   the byte arrays involved, the legal values being 16, 24 and 32.
+
+   A. THE CIPHER INTERFACE
+
+   byte                    (an unsigned 8-bit type)
+   word                    (an unsigned 32-bit type)
+   aes_ret:                (a signed 16 bit type for function return values)
+        aes_good            (value != 0, a good return)
+        aes_bad             (value == 0, an error return)
+   enum aes_key:           (encryption direction)
+        enc                 (set key for encryption)
+        dec                 (set key for decryption)
+        both                (set key for both)
+   class or struct aes     (structure for context)
+
+   C subroutine calls:
+
+   aes_ret set_blk(const word block_length, aes *cx)  (variable block size)
+   aes_ret set_key(const byte key[], const word key_length,
+                   const enum aes_key direction, aes *cx)
+   aes_ret encrypt(const byte input_blk[], byte output_blk[], const aes *cx)
+   aes_ret decrypt(const byte input_blk[], byte output_blk[], const aes *cx)
+
+   IMPORTANT NOTE: If you are using this C interface and your compiler does
+   not set the memory used for objects to zero before use, you will need to
+   ensure that cx.mode is set to zero before using the C subroutine calls.
+
+   C++ aes class subroutines:
+
+   aes_ret set_blk(const word block_length)  (variable block size)
+   aes_ret set_key(const byte key[], const word key_length,
+                   const aes_key direction)
+   aes_ret encrypt(const byte input_blk[], byte output_blk[]) const
+   aes_ret decrypt(const byte input_blk[], byte output_blk[]) const
+
+   The block length inputs to set_block and set_key are in numbers of
+   BYTES, not bits.  The calls to subroutines must be made in the above
+   order but multiple calls can be made without repeating earlier calls
+   if their parameters have not changed. If the cipher block length is
+   variable but set_blk has not been called before cipher operations a
+   value of 16 is assumed (that is, the AES block size). In contrast to
+   earlier versions the block and key length parameters are now checked
+   for correctness and the encryption and decryption routines check to
+   ensure that an appropriate key has been set before they are called.
+
+   B. BYTE ORDER WITHIN 32 BIT WORDS
+
+   The fundamental data processing units in Rijndael are 8-bit bytes. The
+   input, the output and the key input are all enumerated arrays of bytes
+   in which bytes are numbered starting at zero and increasing to one less
+   than the number of bytes in the array in question.  When these inputs
+   and outputs are considered as bit sequences, the n'th byte contains
+   bits 8n to 8n+7 of the sequence with the lower numbered bit mapped to
+   the most significant bit within the  byte (i.e. that having a numeric
+   value of 128).  However, Rijndael can be implemented more efficiently
+   using 32-bit words to process 4 bytes at a time provided that the order
+   of bytes within words is known.  This order is called big-endian if the
+   lowest numbered bytes in words have the highest numeric significance
+   and little-endian if the opposite applies. This code can work in either
+   order irrespective of the native order of the machine on which it runs.
+   The byte order used internally is set by defining INTERNAL_BYTE_ORDER
+   whereas the order for all inputs and outputs is specified by defining
+   EXTERNAL_BYTE_ORDER, the only purpose of the latter being to determine
+   if a byte order change is needed immediately after input and immediately
+   before output to account for the use of a different internal byte order.
+   In almost all situations both of these defines will be set to the native
+   order of the processor on which the code is to run but other settings
+   may somtimes be useful in special circumstances.
+
+#define INTERNAL_BYTE_ORDER LITTLE_ENDIAN
+#define EXTERNAL_BYTE_ORDER LITTLE_ENDIAN
+
+   C. COMPILATION
+
+   To compile AES (Rijndael) for use in C code
+    a. Exclude the AES_DLL define in aes.h
+    b. Exclude the AES_IN_CPP define in aes.h
+
+   To compile AES (Rijndael) for use in in C++ code
+    a. Exclude the AES_DLL define in aes.h
+    b. Include the AES_IN_CPP define in aes.h
+
+   To compile AES (Rijndael) in C as a Dynamic Link Library
+    a. Include the AES_DLL define in aes.h
+    b. Compile the DLL.  If using the test files, exclude aes.c from
+       the test build project and compile it with the same defines
+       as used for the DLL (ensure that the DLL path is correct)
+
+   D. CONFIGURATION OPTIONS (see also aes.c)
+
+   1. define BLOCK_SIZE to set the cipher block size (16, 24 or 32) or
+      leave this undefined for dynamically variable block size (this will
+      result in much slower code).
+   2. set AES_IN_CPP to use the code from C++ rather than C
+   3. set AES_DLL if AES (Rijndael) is to be compiled to a DLL
+   4. set INTERNAL_BYTE_ORDER to one of the above constants to set the
+      internal byte order (the order used within the algorithm code)
+   5. set EXTERNAL_BYTE_ORDER to one of the above constants to set the byte
+      order used at the external interfaces for the input, output and key
+      byte arrays.
+
+   IMPORTANT NOTE: BLOCK_SIZE is in BYTES: 16, 24, 32 or undefined for aes.c
+   and 16, 20, 24, 28, 32 or undefined for aes++.c.  If left undefined a
+   slower version providing variable block length is compiled
+
+#define BLOCK_SIZE  16
+
+   Define AES_IN_CPP if you intend to use the AES C++ class rather than the
+   C code directly.
+
+#define AES_IN_CPP
+
+   Define AES_DLL if you wish to compile the code to produce a Windows DLL
+
+#define AES_DLL
+
+*/
+File: aes.h
+
+/*===========================================================================
+
+                      EDIT HISTORY FOR FILE
+
+  $Header: //depot/asic/msmshared/sec/sec/MSM_SEC.03.03.08.xx/aes_tab.h#1 $
+  $DateTime: 2006/12/11 00:43:21 $ $Author: davidf $
+
+when       who     what, where, why
+--------   ---     ----------------------------------------------------------
+11/12/04   rv      changes to correct LINT errors
+02/02/04   rwh     Small mods to open source.
+
+===========================================================================*/
+/*lint -e146 -e303 */
+/* 146: Assuming a binary constant */
+/* 303: String too long (try +macros) */
+
+
+ /*
+   I retain copyright in this code but I encourage its free use provided
+   that I don't carry any responsibility for the results. I am especially
+   happy to see it used in free and open source software. If you do use
+   it I would appreciate an acknowledgement of its origin in the code or
+   the product that results and I would also appreciate knowing a liitle
+   about the use to which it is being put.
+
+   Dr B. R. Gladman <brg@gladman.uk.net> 1st June 2001.
+ */
+File: aes_tab.h
+
+===============================================================================
+6.
+===============================================================================
+#FILE:Conftest.py
+# Copyright (c) 2003 Stichting NLnet Labs
+# Copyright (c) 2001, 2002, 2003 Steven Knight
+#
+# 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 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.
+#
+
+#
+# The purpose of this module is to define how a check is to be performed.
+# Use one of the Check...() functions below.
+#
+
+#
+# A context class is used that defines functions for carrying out the tests,
+# logging and messages.  The following methods and members must be present:
+#
+# context.Display(msg)  Function called to print messages that are normally
+#                       displayed for the user.  Newlines are explicitly used.
+#                       The text should also be written to the logfile!
+#
+# context.Log(msg)      Function called to write to a log file.
+#
+# context.BuildProg(text, ext)
+#                       Function called to build a program, using "ext" for the
+#                       file extention.  Must return an empty string for
+#                       success, an error message for failure.
+#                       For reliable test results building should be done just
+#                       like an actual program would be build, using the same
+#                       command and arguments (including configure results so
+#                       far).
+#
+# context.CompileProg(text, ext)
+#                       Function called to compile a program, using "ext" for
+#                       the file extention.  Must return an empty string for
+#                       success, an error message for failure.
+#                       For reliable test results compiling should be done just
+#                       like an actual source file would be compiled, using the
+#                       same command and arguments (including configure results
+#                       so far).
+#
+# context.AppendLIBS(lib_name_list)
+#                       Append "lib_name_list" to the value of LIBS.
+#                       "lib_namelist" is a list of strings.
+#                       Return the value of LIBS before changing it (any type
+#                       can be used, it is passed to SetLIBS() later.)
+#
+# context.PrependLIBS(lib_name_list)
+#                       Prepend "lib_name_list" to the value of LIBS.
+#                       "lib_namelist" is a list of strings.
+#                       Return the value of LIBS before changing it (any type
+#                       can be used, it is passed to SetLIBS() later.)
+#
+# context.SetLIBS(value)
+#                       Set LIBS to "value".  The type of "value" is what
+#                       AppendLIBS() returned.
+#                       Return the value of LIBS before changing it (any type
+#                       can be used, it is passed to SetLIBS() later.)
+#
+# context.headerfilename
+#                       Name of file to append configure results to, usually
+#                       "confdefs.h".
+#                       The file must not exist or be empty when starting.
+#                       Empty or None to skip this (some tests will not work!).
+#
+# context.config_h      (may be missing). If present, must be a string, which
+#                       will be filled with the contents of a config_h file.
+#
+# context.vardict       Dictionary holding variables used for the tests and
+#                       stores results from the tests, used for the build
+#                       commands.
+#                       Normally contains "CC", "LIBS", "CPPFLAGS", etc.
+#
+# context.havedict      Dictionary holding results from the tests that are to
+#                       be used inside a program.
+#                       Names often start with "HAVE_".  These are zero
+#                       (feature not present) or one (feature present).  Other
+#                       variables may have any value, e.g., "PERLVERSION" can
+#
+===============================================================================
diff --git a/qca/nvm_usb_00000302.bin b/qca/nvm_usb_00000302.bin
new file mode 100644
index 0000000..3d86f2a
--- /dev/null
+++ b/qca/nvm_usb_00000302.bin
Binary files differ
diff --git a/qca/rampatch_usb_00000302.bin b/qca/rampatch_usb_00000302.bin
new file mode 100644
index 0000000..b289a52
--- /dev/null
+++ b/qca/rampatch_usb_00000302.bin
Binary files differ