From: Balakrishna Godavarthi Date: Tue, 22 Jan 2019 14:11:18 +0000 (+0530) Subject: qca: Add firmware files for BT chip wcn3990. X-Git-Tag: 20190312~10^2 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Flinux-firmware.git;a=commitdiff_plain;h=f859d9fda9379205c9bcf2eab11fae68891085ee qca: Add firmware files for BT chip wcn3990. This commit will add required firmware files for wcn3990. crbtfw21.tlv : RAM FW dump crnv21.bin : NVM dump. Updated the Qualcomm Atheros licence file. Signed-off-by: Balakrishna Godavarthi --- diff --git a/WHENCE b/WHENCE index 620295cb..bceb5d1b 100644 --- a/WHENCE +++ b/WHENCE @@ -3639,6 +3639,8 @@ File: qca/rampatch_usb_00000300.bin File: qca/rampatch_usb_00000302.bin File: qca/rampatch_00130300.bin File: qca/rampatch_00130302.bin +File: qca/crbtfw21.tlv +File: qca/crnv21.bin Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details diff --git a/qca/NOTICE.txt b/qca/NOTICE.txt index 3e176458..93130207 100644 --- a/qca/NOTICE.txt +++ b/qca/NOTICE.txt @@ -1,22 +1,21 @@ 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. +to provide you. Except where prohibited by the open source license, the content +of this notices file is only provided to satisfy Qualcomm Atheros's attribution +and notice requirement; 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 agreement 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 patents, trademarks, copyrights, or other intellectual property +of Qualcomm Incorporated or any of its subsidiaries. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States +and other countries. All Qualcomm Incorporated trademarks are used with permission. +Other products and brand names may be trademarks or registered trademarks of their +respective owners. NOTICES: @@ -250,128 +249,6 @@ when who what, where, why Dr B. R. Gladman 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 @@ -431,76 +308,119 @@ File: aes_tab.h # 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. # +=============================================================================== +File: Conftest.py + +=============================================================================== +7. +=============================================================================== +/ *** + * + * Fowler/Noll/Vo- hash + * + * The basis of this hash algorithm was taken from an idea sent + * as reviewer comments to the IEEE POSIX P1003.2 committee by: + * + * Phong Vo (http://www.research.att.com/info/kpv/) + * Glenn Fowler (http://www.research.att.com/~gsf/) + * + * In a subsequent ballot round: + * + * Landon Curt Noll (http://www.isthe.com/chongo/) + * + * improved on their algorithm. Some people tried this hash + * and found that it worked rather well. In an EMail message + * to Landon, they named it the ``Fowler/Noll/Vo'' or FNV hash. + * + * FNV hashes are designed to be fast while maintaining a low + * collision rate. The FNV speed allows one to quickly hash lots + * of data while maintaining a reasonable collision rate. See: + * + * http://www.isthe.com/chongo/tech/comp/fnv/index.html + * + * for more details as well as other forms of the FNV hash. + * + * + * Please do not copyright this code. This code is in the public domain. + * + * LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + * EVENT SHALL LANDON CURT NOLL BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * By: + * chongo /\oo/\ + * http://www.isthe.com/chongo/ + * + * Share and Enjoy! :-) + */ +File: fm_fnv_hash.h, fm_fnv_hash.c -# -# 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 -# =============================================================================== +8. +=============================================================================== + +/* + * $Header: //source/qcom/qct/core/api/kernel/main/latest/libstd/stringl/stringl.h#13 $ + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * 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 University 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 REGENTS 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 REGENTS 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. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ +File: stringl.h + +=============================================================================== +9. +=============================================================================== +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +File: wcslcpy.c, wcslcat.c, wstrlcpy.c, strlcat.c, strlcpy.c, wstrlcat.c diff --git a/qca/crbtfw21.tlv b/qca/crbtfw21.tlv new file mode 100644 index 00000000..2d5ef8df Binary files /dev/null and b/qca/crbtfw21.tlv differ diff --git a/qca/crnv21.bin b/qca/crnv21.bin new file mode 100644 index 00000000..7f48ef10 Binary files /dev/null and b/qca/crnv21.bin differ