Initial Commit
Add db845c and RB5 firmware binaries. These files are copied/downloaded
from multiple sources and are covered under different different
redistributable licences. Here is a short summary:
vendor/
└── linaro_devices/
├── common/
│ └── linux-firmware/
│ All but one (ath10k/WCN3390/hw1.0/board-2.bin) binaries are covered
│ under upstream licenses mentioned in WHENCE file.
│ https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git (f5d519563ac9)
│
│ ath10k/WCN3390/hw1.0/board-2.bin binary for db845c is picked from
│ linux-firmware.git fork:
│ https://github.com/andersson/linux-firmware/commit/e165604ca024
└── qcom/
├── db845c/
│ ├── dragonboard-845c-bootloader-ufs-aosp-88/
│ │ Db845c bootloader/rescue package is covered under LICENSE file.
│ │ The package can be downloaded from
│ │ http://snapshots.linaro.org/96boards/dragonboard845c/linaro/rescue/88/dragonboard-845c-bootloader-ufs-aosp-88.zip
│ │
│ ├── qdl/
│ │ QDL board recovery tool (covered under LICENSE) is built from
│ │ https://git.linaro.org/landing-teams/working/qualcomm/qdl.git (760b3dffb03d)
│ │
│ └── RB3_firmware_20190529180356-v4/
│ These binaries are covered under LICENSE.qcom.txt
│ The package can be downloaded from
│ http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20190529180356-v4.zip
└── rb5/
├── qdl/
│ QDL board recovery tool (covered under LICENSE) is built from
│ https://git.linaro.org/landing-teams/working/qualcomm/qdl.git (13681fcb359c)
│
├── rb5-bootloader-ufs-aosp-19/
│ RB5 bootloader/rescue package is covered under LICENSE file.
│ The package can be downloaded from
│ http://snapshots.linaro.org/96boards/qrb5165-rb5/linaro/rescue/19/rb5-bootloader-ufs-aosp-19.zip
│
└── RB5_firmware_20210331-v4/
These binaries are covered under LICENSE.qcom.txt
The package can be downloaded from
http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_20210331-v4.zip
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
diff --git a/linaro_devices/Android.mk b/linaro_devices/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/README.license b/linaro_devices/README.license
new file mode 100644
index 0000000..162829b
--- /dev/null
+++ b/linaro_devices/README.license
@@ -0,0 +1,52 @@
+TL;DR: Look at "Third-party licenses" tab under "Settings" application
+for per file licensing info:
+
+"Settings"
+└── "About phone"
+ └── "Legal information"
+ └── "Third-party licenses"
+
+
+The firmware binaries in this package are covered under different different
+redistributable licences. Here is a short breakup of licenses involved:
+
+vendor/
+└── linaro_devices/
+ ├── common/
+ │ └── linux-firmware/
+ │ All but one (ath10k/WCN3390/hw1.0/board-2.bin) binaries are covered
+ │ under upstream licenses mentioned in WHENCE file.
+ │ https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git (f5d519563ac9)
+ │
+ │ ath10k/WCN3390/hw1.0/board-2.bin binary for db845c is picked from
+ │ linux-firmware.git fork:
+ │ https://github.com/andersson/linux-firmware/commit/e165604ca024
+ └── qcom/
+ ├── db845c/
+ │ ├── dragonboard-845c-bootloader-ufs-aosp-88/
+ │ │ Db845c bootloader/rescue package is covered under LICENSE file.
+ │ │ The package can be downloaded from
+ │ │ http://snapshots.linaro.org/96boards/dragonboard845c/linaro/rescue/88/dragonboard-845c-bootloader-ufs-aosp-88.zip
+ │ │
+ │ ├── qdl/
+ │ │ QDL board recovery tool (covered under LICENSE) is built from
+ │ │ https://git.linaro.org/landing-teams/working/qualcomm/qdl.git (760b3dffb03d)
+ │ │
+ │ └── RB3_firmware_20190529180356-v4/
+ │ These binaries are covered under LICENSE.qcom.txt
+ │ The package can be downloaded from
+ │ http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20190529180356-v4.zip
+ └── rb5/
+ ├── qdl/
+ │ QDL board recovery tool (covered under LICENSE) is built from
+ │ https://git.linaro.org/landing-teams/working/qualcomm/qdl.git (13681fcb359c)
+ │
+ ├── rb5-bootloader-ufs-aosp-19/
+ │ RB5 bootloader/rescue package is covered under LICENSE file.
+ │ The package can be downloaded from
+ │ http://snapshots.linaro.org/96boards/qrb5165-rb5/linaro/rescue/19/rb5-bootloader-ufs-aosp-19.zip
+ │
+ └── RB5_firmware_20210331-v4/
+ These binaries are covered under LICENSE.qcom.txt
+ The package can be downloaded from
+ http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_20210331-v4.zip
diff --git a/linaro_devices/android-info.txt b/linaro_devices/android-info.txt
new file mode 100644
index 0000000..26077d6
--- /dev/null
+++ b/linaro_devices/android-info.txt
@@ -0,0 +1 @@
+require board=db845c|rb5
diff --git a/linaro_devices/common/Android.mk b/linaro_devices/common/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/common/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/common/CommonBuildMacros.mk b/linaro_devices/common/CommonBuildMacros.mk
new file mode 100644
index 0000000..c51297f
--- /dev/null
+++ b/linaro_devices/common/CommonBuildMacros.mk
@@ -0,0 +1,22 @@
+# Put common makefile/build helper Macros here
+
+# $(1): The source file name in LOCAL_PATH.
+# It also serves as the module name and the dest file name.
+# $(2): Module src file.
+# $(3): Module install path.
+# $(4): Module license.
+# As visible under "Settings" ->
+# "About phone" ->
+# "Legal information" ->
+# "Third-party licenses" tab.
+define add-qcom-firmware
+$(eval include $(CLEAR_VARS))\
+$(eval LOCAL_MODULE := $(1))\
+$(eval LOCAL_SRC_FILES := $(2))\
+$(eval LOCAL_MODULE_STEM := $(1))\
+$(eval LOCAL_MODULE_CLASS := DATA)\
+$(eval LOCAL_MODULE_TAGS := optional)\
+$(eval LOCAL_MODULE_PATH := $(3))\
+$(eval LOCAL_NOTICE_FILE := $(4))\
+$(eval include $(BUILD_PREBUILT))
+endef
diff --git a/linaro_devices/common/linux-firmware/Android.mk b/linaro_devices/common/linux-firmware/Android.mk
new file mode 100644
index 0000000..76a7998
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/Android.mk
@@ -0,0 +1,77 @@
+LOCAL_PATH := $(call my-dir)
+
+# WLAN
+ath10k_firmware_files := \
+ board-2.bin \
+ firmware-5.bin
+
+ath11k_firmware_files := \
+ amss.bin \
+ m3.bin
+
+# Bluetooth firmware files
+qca_firmware_files := \
+ crbtfw21.tlv \
+ crnv21.bin \
+ htbtfw20.tlv \
+ htnv20.bin
+
+# Adreno firmware files
+qcom_firmware_files := \
+ a630_gmu.bin \
+ a630_sqe.fw \
+ a650_gmu.bin \
+ a650_sqe.fw
+
+# Firmware files to be copied to qcom/sdm845/ path
+#
+# SM8250 DSP binaries are being PRODUCT_COPY_FILES
+# because of conflicting build target names
+qcom_sdm845_firmware_files := \
+ a630_zap.mbn \
+ adsp.mbn \
+ adspr.jsn \
+ adspua.jsn \
+ cdsp.mbn \
+ cdspr.jsn \
+ mba.mbn \
+ modem.mbn \
+ modemuw.jsn
+
+# Venus Codec
+# SM8250 Venus binaries are being PRODUCT_COPY_FILES
+# because of conflicting build target names
+venus_sdm845_firmware_files := \
+ venus.b00 \
+ venus.b01 \
+ venus.b02 \
+ venus.b03 \
+ venus.b04 \
+ venus.mbn \
+ venus.mdt
+
+# Include macro for Android.mk BUILD_PREBUILT build target
+# Usage:
+# add-qcom-firmware(LOCAL_MODULE, LOCAL_MODULE_SRC_FILES, LOCAL_MODULE_PATH, LOCAL_NOTICE_FILE)
+
+include vendor/linaro_devices/common/CommonBuildMacros.mk
+
+FIRMWARE_PATH := $(TARGET_OUT_VENDOR)/firmware/
+
+$(call add-qcom-firmware, lt9611uxc_fw.bin, lt9611uxc_fw.bin, $(FIRMWARE_PATH), $(LOCAL_PATH)/LICENSE.Lontium)
+$(call add-qcom-firmware, a650_zap.mbn, qcom/sm8250/a650_zap.mbn, $(FIRMWARE_PATH)/qcom/sm8250/, $(LOCAL_PATH)/LICENSE.qcom)
+$(call add-qcom-firmware, wlanmdsp.mbn, ath10k/WCN3990/hw1.0/wlanmdsp.mbn, $(FIRMWARE_PATH)/qcom/sdm845/, $(LOCAL_PATH)/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp)
+
+$(foreach f, $(ath10k_firmware_files), $(call add-qcom-firmware, $(f), ath10k/WCN3990/hw1.0/$(f), $(FIRMWARE_PATH)/ath10k/WCN3990/hw1.0/, $(LOCAL_PATH)/LICENSE.QualcommAtheros_ath10k))
+$(foreach f, $(ath11k_firmware_files), $(call add-qcom-firmware, $(f), ath11k/QCA6390/hw2.0/$(f), $(FIRMWARE_PATH)/ath11k/QCA6390/hw2.0/, $(LOCAL_PATH)/LICENSE.QualcommAtheros_ath10k))
+$(foreach f, $(qca_firmware_files), $(call add-qcom-firmware, $(f), qca/$(f), $(FIRMWARE_PATH)/qca/, $(LOCAL_PATH)/LICENSE.QualcommAtheros_ath10k))
+$(foreach f, $(qcom_firmware_files), $(call add-qcom-firmware, $(f), qcom/$(f), $(FIRMWARE_PATH)/qcom/, $(LOCAL_PATH)/LICENSE.qcom))
+$(foreach f, $(qcom_sdm845_firmware_files), $(call add-qcom-firmware, $(f), qcom/sdm845/$(f), $(FIRMWARE_PATH)/qcom/sdm845/, $(LOCAL_PATH)/LICENSE.qcom))
+$(foreach f, $(venus_sdm845_firmware_files), $(call add-qcom-firmware, $(f), qcom/venus-5.2/$(f), $(FIRMWARE_PATH)/qcom/venus-5.2/, $(LOCAL_PATH)/LICENSE.qcom))
+
+# 5.10 kernel need adsp.mdt and cdsp.mdt files
+$(call add-qcom-firmware, adsp.mdt, qcom/sdm845/adsp.mbn, $(FIRMWARE_PATH)/qcom/sdm845/, $(LOCAL_PATH)/LICENSE.qcom)
+$(call add-qcom-firmware, cdsp.mdt, qcom/sdm845/cdsp.mbn, $(FIRMWARE_PATH)/qcom/sdm845/, $(LOCAL_PATH)/LICENSE.qcom)
+
+# 5.4 kernel need a630_zap.mdt file
+$(call add-qcom-firmware, a630_zap.mdt, qcom/sdm845/a630_zap.mbn, $(FIRMWARE_PATH)/qcom/, $(LOCAL_PATH)/LICENSE.qcom)
diff --git a/linaro_devices/common/linux-firmware/LICENSE.Lontium b/linaro_devices/common/linux-firmware/LICENSE.Lontium
new file mode 100644
index 0000000..2989473
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/LICENSE.Lontium
@@ -0,0 +1,2 @@
+Lontium Semiconductor Corp. grants permission to use and redistribute aforementioned firmware file for the use with devices containing Lontium chipsets, but not as part of the Linux kernel or in any other form which would require the file itself to be covered by the terms of the GNU General Public License or the GNU Lesser General Public License.
+The firmware file is distributed in the hope that it will be useful, but is provided WITHOUT ANY WARRANTY, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/linaro_devices/common/linux-firmware/LICENSE.QualcommAtheros_ath10k b/linaro_devices/common/linux-firmware/LICENSE.QualcommAtheros_ath10k
new file mode 100644
index 0000000..c68935c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/LICENSE.QualcommAtheros_ath10k
@@ -0,0 +1,47 @@
+Copyright (c) 2015-2017, Qualcomm Atheros, Inc.
+All rights reserved.
+
+Redistribution. Reproduction and redistribution in binary form, without
+modification, for use solely in conjunction with a Qualcomm Atheros, Inc.
+chipset, is permitted provided that the following conditions are met:
+
+ • Redistributions must reproduce the above copyright notice and the following
+ disclaimer in the documentation and/or other materials provided with the
+ distribution.
+
+ • Neither the name of Qualcomm Atheros, Inc. nor the names of its suppliers
+ may be used to endorse or promote products derived from this Software
+ without specific prior written permission.
+
+ • No reverse engineering, decompilation, or disassembly of this Software is
+ permitted.
+
+Limited patent license. Qualcomm Atheros, Inc. (“Licensor”) grants you
+(“Licensee”) a limited, worldwide, royalty-free, non-exclusive license under
+the Patents to make, have made, use, import, offer to sell and sell the
+Software. No hardware per se is licensed hereunder.
+The term “Patents” as used in this agreement means only those patents or patent
+applications owned solely and exclusively by Licensor as of the date of
+Licensor’s submission of the Software and any patents deriving priority (i.e.,
+having a first effective filing date) therefrom. The term “Software” as used in
+this agreement means the firmware image submitted by Licensor, under the terms
+of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/
+linux-firmware.git.
+Notwithstanding anything to the contrary herein, Licensor does not grant and
+Licensee does not receive, by virtue of this agreement or the Licensor’s
+submission of any Software, any license or other rights under any patent or
+patent application owned by any affiliate of Licensor or any other entity
+(other than Licensor), whether expressly, impliedly, by virtue of estoppel or
+exhaustion, or otherwise.
+
+DISCLAIMER. 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 OWNER 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.
diff --git a/linaro_devices/common/linux-firmware/LICENSE.qcom b/linaro_devices/common/linux-firmware/LICENSE.qcom
new file mode 100644
index 0000000..faacf9c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/LICENSE.qcom
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English.
diff --git a/linaro_devices/common/linux-firmware/WHENCE b/linaro_devices/common/linux-firmware/WHENCE
new file mode 100644
index 0000000..4631e54
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/WHENCE
@@ -0,0 +1,152 @@
+ **********
+ * 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: ath10k - Qualcomm Atheros support for QCA988x family of chips
+
+File: ath10k/WCN3390/hw1.0/board-2.bin
+File: ath10k/WCN3990/hw1.0/firmware-5.bin
+File: ath10k/WCN3990/hw1.0/wlanmdsp.mbn
+Link: qcom/sdm845/wlanmdsp.mbn -> ../../ath10k/WCN3990/hw1.0/wlanmdsp.mbn
+Version: WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1
+Licence: ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp
+
+Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details
+
+--------------------------------------------------------------------------
+
+Driver: ath11k - Qualcomm Technologies 802.11ax chipset support
+
+File: ath11k/QCA6390/hw2.0/amss.bin
+File: ath11k/QCA6390/hw2.0/m3.bin
+Version: WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
+Licence: ath11k/QCA6390/hw2.0/Notice.txt
+
+Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details
+
+--------------------------------------------------------------------------
+
+Driver: btqca - Qualcomm Atheros Bluetooth support for QCA61x4 chips
+
+File: qca/htbtfw20.tlv
+File: qca/htnv20.bin
+
+Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details
+
+--------------------------------------------------------------------------
+
+Driver: qca - Qualcomm Atheros Bluetooth support for WCN399x chips
+
+File: qca/crbtfw21.tlv
+File: qca/crnv21.bin
+
+Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details
+
+--------------------------------------------------------------------------
+
+Driver: venus - Qualcomm Venus video codec accelerator
+
+File: qcom/venus-5.2/venus.mdt
+File: qcom/venus-5.2/venus.b00
+File: qcom/venus-5.2/venus.b01
+File: qcom/venus-5.2/venus.b02
+File: qcom/venus-5.2/venus.b03
+File: qcom/venus-5.2/venus.b04
+File: qcom/venus-5.2/venus.mbn
+
+Version: 5.2-00023
+
+File: qcom/vpu-1.0/venus.mdt
+File: qcom/vpu-1.0/venus.b00
+File: qcom/vpu-1.0/venus.b01
+File: qcom/vpu-1.0/venus.b02
+File: qcom/vpu-1.0/venus.b03
+File: qcom/vpu-1.0/venus.b04
+File: qcom/vpu-1.0/venus.b05
+File: qcom/vpu-1.0/venus.b06
+File: qcom/vpu-1.0/venus.b07
+File: qcom/vpu-1.0/venus.b08
+File: qcom/vpu-1.0/venus.b09
+File: qcom/vpu-1.0/venus.b10
+File: qcom/vpu-1.0/venus.b19
+File: qcom/vpu-1.0/venus.mbn
+
+Version: VIDEO.VPU.1.0-00087-PROD-1
+
+Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details
+
+Binary files supplied originally from
+https://developer.qualcomm.com/hardware/dragonboard-410c/tools
+
+--------------------------------------------------------------------------
+
+Driver: adreno - Qualcomm Adreno GPU firmware
+
+File: qcom/a630_gmu.bin
+File: qcom/a630_sqe.fw
+File: qcom/sdm845/a630_zap.mbn
+File: qcom/a650_gmu.bin
+File: qcom/a650_sqe.fw
+File: qcom/sm8250/a650_zap.mbn
+
+Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details
+
+Binary files supplied originally from
+https://developer.qualcomm.com/hardware/dragonboard-410c/tools
+
+--------------------------------------------------------------------------
+
+Driver: qcom_q6v5_pas - Qualcomm remoteproc firmware
+
+File: qcom/sdm845/adsp.mbn
+File: qcom/sdm845/adspr.jsn
+File: qcom/sdm845/adspua.jsn
+File: qcom/sdm845/cdsp.mbn
+File: qcom/sdm845/cdspr.jsn
+File: qcom/sm8250/adsp.mbn
+File: qcom/sm8250/adspr.jsn
+File: qcom/sm8250/adspua.jsn
+File: qcom/sm8250/cdsp.mbn
+File: qcom/sm8250/cdspr.jsn
+
+Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details
+
+Binary files supplied originally from
+http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20190529180356-v4.zip
+http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_20210331-v4.zip
+
+adsp.mbn has been converted from 20-adsp_split/firmware/adsp.* using
+https://github.com/andersson/pil-squasher
+
+cdsp.mbn has been converted from 21-cdsp_split/firmware/cdsp.* using
+https://github.com/andersson/pil-squasher
+
+--------------------------------------------------------------------------
+
+Driver: qcom_q6v5_mss - Qualcomm modem subsystem firmware
+
+File: qcom/sdm845/mba.mbn
+File: qcom/sdm845/modem.mbn
+File: qcom/sdm845/modemuw.jsn
+
+Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details
+
+Binary files supplied originally from
+http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20190529180356-v4.zip
+
+modem.mbn has been converted from 28-modem/modem.* using
+https://github.com/andersson/pil-squasher
+
+--------------------------------------------------------------------------
+
+Driver: lt9611uxc - Lontium DSI to HDMI bridge
+
+File: lt9611uxc_fw.bin
+
+License: Redistributable. See LICENSE.Lontium for details.
diff --git a/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/board-2.bin b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/board-2.bin
new file mode 100644
index 0000000..ecbb1d6
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/board-2.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/firmware-5.bin b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/firmware-5.bin
new file mode 100644
index 0000000..69b4cae
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/firmware-5.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp
new file mode 100644
index 0000000..b85005c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp
@@ -0,0 +1,571 @@
+=============================================================================
+=============================================================================
+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.
+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.
+Copyright (c) 2015 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:
+
+=============================================================================
+
+==============================================================================================================================
+
+
+/*
+ * Copyright (c) 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ */
+//-
+// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+//
+// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $
+// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $
+// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $
+//
+
+/*
+ * Copyright (c) 1988, 1993
+ * 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. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. 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.
+ *
+ * @(#)if_llc.h 8.1 (Berkeley) 6/10/93
+ * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $
+ */
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+wlan/protocol/src/include/if_llc.h#1
+
+========================================================================================================================================
+/*
+ * Copyright (c) 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ */
+//-
+// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+//
+//
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+wlan/protocol/include/if_ethersubr.h#1
+
+
+========================================================================================================================================
+
+// Copyright (c) 2003-2006 Marcus Geelnard
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would
+// be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not
+// be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source
+// distribution.
+//
+// Marcus Geelnard
+// marcus.geelnard at home.se
+//
+
+
+wlan/protocol/support/lz77/lz.h#1
+wlan/protocol/support/lz77/lz.c#1
+
+
+========================================================================================================================================
+
+
+/*
+ * Copyright (c) 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * $ATH_LICENSE_NULL$
+ */
+
+// Copyright (c) 2003-2006 Marcus Geelnard
+// Copyright (c) 2006-2007 Atheros Communications Inc.
+// $ATH_LICENSE_NULL$
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would
+// be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not
+// be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source
+// distribution.
+//
+// Marcus Geelnard
+// marcus.geelnard at home.se
+//
+
+wlan/mac_core/tests/serflash/flashprog/uncompr.c#1
+
+
+========================================================================================================================================
+
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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 acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. 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.
+//
+// @(#)queue.h 8.5 (Berkeley) 8/20/94
+// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
+//
+
+wlan/include/queue.h#1
+
+========================================================================================================================================
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+wlan/mac_core/include/sha1.h
+wlan/mac_core/romexport/AR900B/hw.1/include/sha1.h
+wlan/mac_core/romexport/AR900B/hw.2/include/sha1.h
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+========================================================================================================================================
+
+/*
+ * FILE: sha2.h
+ * AUTHOR: Aaron D. Gifford - http://www.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: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $
+ */
+
+wlan/mac_core/romexport/AR900B/hw.1/include/sha2.h
+wlan/mac_core/romexport/AR900B/hw.2/include/sha2.h
+
+========================================================================================================================================
+
+/*
+ * AES-based functions
+ *
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+wlan/mac_core/include/aes_wrap.h
+wlan/mac_core/romexport/AR900B/hw.1/include/aes_wrap.h
+wlan/mac_core/romexport/AR900B/hw.2/include/aes_wrap.h
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+========================================================================================================================================
+
+/*
+ * MD5 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+wlan/mac_core/romexport/AR900B/hw.1/include/md5.h
+wlan/mac_core/romexport/AR900B/hw.2/include/md5.h
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+
+========================================================================================================================================
+
+/*
+ * Common helper macros, etc.
+ * Copyright (c) 2002-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ */
+
+wlan/mac_core/romexport/AR900B/hw.1/include/seccommon.h
+wlan/mac_core/romexport/AR900B/hw.2/include/seccommon.h
+
+For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license.
+
+========================================================================================================================================
+
+
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (lennart@augustsson.net) at
+ * Carlstedt Research & Technology.
+ *
+ * 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 acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+
+/* Modified by Synopsys, Inc, 12/12/2007 */
+
+wlan/mac_core/include/usb.h
+wlan/mac_core/romexport/AR900B/hw.1/include/usb.h
+wlan/mac_core/romexport/AR900B/hw.2/include/usb.h
+
+========================================================================================================================================
+
+/* ==========================================================================
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+
+wlan/mac_core/include/cil.h
+wlan/mac_core/romexport/AR900B/hw.1/include/cil.h
+wlan/mac_core/romexport/AR900B/hw.2/include/cil.h
+wlan/mac_core/include/dev.h
+wlan/mac_core/romexport/AR900B/hw.1/include/dev.h
+wlan/mac_core/romexport/AR900B/hw.2/include/dev.h
+wlan/mac_core/include/os_dev.h
+wlan/mac_core/romexport/AR900B/hw.1/include/os_dev.h
+wlan/mac_core/romexport/AR900B/hw.2/include/os_dev.h
+wlan/mac_core/include/usb3_hw.h
+wlan/mac_core/romexport/AR900B/hw.1/include/usb3_hw.h
+wlan/mac_core/romexport/AR900B/hw.2/include/usb3_hw.h
+wlan/mac_core/include/pcd.h
+wlan/mac_core/romexport/AR900B/hw.1/include/pcd.h
+wlan/mac_core/romexport/AR900B/hw.2/include/pcd.h
+
+========================================================================================================================================
+
+/*
+ * $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
+ */
+
+wlan/protocol/support/bin2srec/include/stringl/stringl.h
+
+========================================================================================================================================
+
+/*
+ * $Header: //source/qcom/qct/core/kernel/libstd/main/latest/src/strlcpy.c#1 $
+ * $DateTime: 2011/01/07 17:50:19 $
+ */
+
+/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */
+
+/*
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * 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.
+ */
+
+wlan/protocol/support/bin2srec/strlcpy.c
+
+======================================================================================================================================
diff --git a/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/wlanmdsp.mbn b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/wlanmdsp.mbn
new file mode 100644
index 0000000..e044d8c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath10k/WCN3990/hw1.0/wlanmdsp.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/Notice.txt b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/Notice.txt
new file mode 100644
index 0000000..d762020
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/Notice.txt
@@ -0,0 +1,1971 @@
+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. 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:
+
+=============================================================================
+
+* Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+* 2014 Qualcomm Atheros, Inc.
+* All Rights Reserved.
+* Confidential and Proprietary - Qualcomm Technologies, Inc.
+ *Notifications and licenses are retained for attribution purposes only *
+
+Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+
+*For this file, which was received with alternative licensing options for
+* distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+
+NOTICES:
+
+
+/*
+ * FILE: sha2.c
+ * AUTHOR: Aaron D. Gifford - http://www.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.
+ *
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/sha2.c
+
+/*
+ * FILE: sha2.h
+ * AUTHOR: Aaron D. Gifford - http://www.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.
+ *
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha2.h
+
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (lennart@augustsson.net) at
+ * Carlstedt Research & Technology.
+ *
+ * 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 acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/usb.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant / wrapper functions for crypto libraries
+ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ *
+ * This file defines the cryptographic functions that need to be implemented
+ * for wpa_supplicant and hostapd. When TLS is not used, internal
+ * implementation of MD5, SHA1, and AES is used and no external libraries are
+ * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the
+ * crypto library used by the TLS implementation is expected to be used for
+ * non-TLS needs, too, in order to save space by not implementing these
+ * functions twice.
+ *
+ * Wrapper code for using each crypto library is in its own file (crypto*.c)
+ * and one of these files is build and linked in to provide the functions
+ * defined here.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/crypto.h
+
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/offloads/l2/bpf/bpf_filter.c
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant / Configuration file structures
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/config.h
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant - Common definitions
+ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/suppl_auth_api.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * wpa_supplicant - WPA definitions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa.h
+
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * wpa_supplicant - Internal WPA state machine definitions
+ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa_i.h
+
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA256 hash implementation and interface functions
+ * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.h
+
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant - IEEE 802.11r - Fast BSS Transition
+ * Copyright (c) 2006-2007, Jouni Malinen <j@w1.fi>
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.h
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA-256 hash implementation and interface functions
+ * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.c
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant - WPA state machine and EAPOL-Key processing
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa.c
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA Supplicant - IEEE 802.11r - Fast BSS Transition
+ * Copyright (c) 2006-2007, Jouni Malinen <j@w1.fi>
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.c
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA definitions shared between hostapd and wpa_supplicant
+ * Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * MD5 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/md5_api.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * AES-based functions
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/aes_wrap.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha1.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * wpa_supplicant/hostapd / common helper functions, etc.
+ * Copyright (c) 2002-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/common.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+/*
+ * Common helper macros, etc.
+ * Copyright (c) 2002-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/seccommon.h
+
+/*
+ * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or
+ * code or tables extracted from it, as desired without restriction.
+ *
+ * First, the polynomial itself and its table of feedback terms. The
+ * polynomial is
+ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
+ *
+ * Note that we take it "backwards" and put the highest-order term in
+ * the lowest-order bit. The X^32 term is "implied"; the LSB is the
+ * X^31 term, etc. The X^0 term (usually shown as "+1") results in
+ * the MSB being 1
+ *
+ * Note that the usual hardware shift register implementation, which
+ * is what we're using (we're merely optimizing it by doing eight-bit
+ * chunks at a time) shifts bits into the lowest-order term. In our
+ * implementation, that means shifting towards the right. Why do we
+ * do it this way? Because the calculated CRC must be transmitted in
+ * order from highest-order term to lowest-order term. UARTs transmit
+ * characters in order from LSB to MSB. By storing the CRC this way
+ * we hand it to the UART in the order low-byte to high-byte; the UART
+ * sends each low-bit to hight-bit; and the result is transmission bit
+ * by bit from highest- to lowest-order term without requiring any bit
+ * shuffling on our part. Reception works similarly
+ *
+ * The feedback terms table consists of 256, 32-bit entries. Notes
+ *
+ * The table can be generated at runtime if desired; code to do so
+ * is shown later. It might not be obvious, but the feedback
+ * terms simply represent the results of eight shift/xor opera
+ * tions for all combinations of data and CRC register values
+ *
+ * The values must be right-shifted by eight bits by the "updcrc
+ * logic; the shift must be unsigned (bring in zeroes). On some
+ * hardware you could probably optimize the shift in assembler by
+ * using byte-swap instructions
+ * polynomial $edb88320
+ *
+ *
+ * CRC32 code derived from work by Gary S. Brown.
+*/
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/2.0/src/mgmt_txrx/ieee_crc32.c
+
+
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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 acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. 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.
+//
+// @(#)queue.h 8.5 (Berkeley) 8/20/94
+// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
+// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $
+//
+p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/include/queue.h
+
+
+/*
+ * Copyright (c) 2012-2017 Qualcomm Technologies, Inc.
+ * 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+//-
+// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+//
+// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $
+// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $
+// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $
+//
+
+/*
+ * Copyright (c) 1988, 1993
+ * 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. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. 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.
+ *
+ * @(#)if_llc.h 8.1 (Berkeley) 6/10/93
+ * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $
+ */
+
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h
+
+/*
+ * Copyright (c) 2012-2017 Qualcomm Technologies, Inc.
+ * 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+//-
+// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+//
+
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_ethersubr.h
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/patch/AR6320/v3/sha1_patch.c
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA/RSN - Shared functions for supplicant and authenticator
+ * Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.c
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * WPA definitions shared between hostapd and wpa_supplicant
+ * Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * $ATH_LICENSE_NULL$
+ */
+
+/*
+ * WPA Supplicant - ESE Fast Roaming with CCKM Enhancements
+ * Copyright (c) 2003-2008, Jouni Malinen <j@w1.fi>
+ * Copyright (c) 2010-2011, embWiSe Technologies
+ *
+ * Licensed under a proprietary license.
+ * Notifications and licenses are retained for attribution purposes only.
+
+ * 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(s) of the above-listed copyright holder(s) nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ */
+/*original files: ese_cckm.c and part of wpa_common.c in proprietary patch
+ * of open source supplicant */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_cckm.c
+
+/*
+ * Copyright (c) 2012-2017 Qualcomm Technologies, Inc.
+ * 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+//-
+// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+// All rights reserved.
+// $ATH_LICENSE_NULL$
+//
+// 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,
+// without modification.
+// 2. Redistributions in binary form must reproduce at minimum a disclaimer
+// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+// redistribution must be conditioned upon including a substantially
+// similar Disclaimer requirement for further binary redistribution.
+// 3. Neither the names of the above-listed copyright holders nor the names
+// of any contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// Alternatively, this software may be distributed under the terms of the
+// GNU General Public License ("GPL") version 2 as published by the Free
+// Software Foundation.
+//
+// NO WARRANTY
+// 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 NONINFRINGEMENT, MERCHANTIBILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+//
+// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $
+// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $
+// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $
+//
+
+/*
+ * Copyright (c) 1988, 1993
+ * 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. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. 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.
+ *
+ * @(#)if_llc.h 8.1 (Berkeley) 6/10/93
+ * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * AES (Rijndael) cipher
+ *
+ * Modifications to public domain implementation:
+ * - support only 128-bit keys
+ * - cleanup
+ * - use C pre-processor to make it easier to change S table access
+ * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at
+ * cost of reduced throughput (quite small difference on Pentium 4,
+ * 10-25% when using -O1 or -O2 optimization)
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+/*
+ * 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.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes.c
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * AES-based functions
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes_wrap.c
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/sha1.c
+
+/*
+ * Copyright (c) 2013 Atheros Communications Inc.
+ *
+ * Permission to use, copy, modify, and/or 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.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/wmi/wmi_tlv_platform.c
+
+/*
+ * Copyright (c) 2012, Atheros Communications Inc.
+ *
+ * Permission to use, copy, modify, and/or 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.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/qvit/qvit_init_api.h
+
+/*
+ * Copyright (c) 2013 Atheros Communications Inc.
+ *
+ * Permission to use, copy, modify, and/or 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.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/fw_interface/include/wmi_version_whitelist.c
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * $ATH_LICENSE_TARGET_C$
+ */
+
+//
+// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/misc/crypto/md5.c#3 $
+//
+// This code implements the MD5 message-digest algorithm.
+// The algorithm is due to Ron Rivest. This code was
+// written by Colin Plumb in 1993, no copyright is claimed.
+// This code is in the public domain; do with it what you wish.
+//
+// Equivalent code is available from RSA Data Security, Inc.
+// This code has been tested against that, and is equivalent,
+// except that you don't need to include two pages of legalese
+// with every copy.
+//
+// To compute the message digest of a chunk of bytes, declare an
+// MD5Context structure, pass it to MD5Init, call MD5Update as
+// needed on buffers full of bytes, and then call MD5Final, which
+// will fill a supplied 16-byte array with the digest.
+//
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/md5.c
+
+
+/*===========================================================================
+ @file secrsa_encryption.c
+
+ This file provides RSA PKCS #1 v1.5 encryption/decryption implementation.
+ ===========================================================================
+
+ EDIT HISTORY FOR FILE
+ $Header: //components/dev/wlanfw.cnss/1.0.1/dennis.rome_emu_es2_rel_fw/cnss_proc/wlan/fw/target/src/misc/binsig/rsa.c#2 $
+ $DateTime: 2013/10/21 08:09:59 $
+ $Author: changhon $
+
+ when who what, where, why
+ -------- --- ----------------------------------------------------------
+ 04/11/11 qxu initial version
+
+ Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved.
+ =============================================================================*/
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/binsig/rsa.c
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/cil.h $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/cil.h
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/dev.h $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/dev.h
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/pcd.h $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/pcd.h
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil.c $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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
+ *
+ * The Core Interface Layer provides basic services for accessing and
+ * managing the DWC_usb3 hardware. These services are used by both the
+ * Peripheral Controller Driver and the On The Go Driver.
+ *
+ * The CIL manages the memory map for the core so that the PCD and OTG drivers
+ * don't have to do this separately. The CIL also performs basic services
+ * that are not specific to either the Device or OTG modes of operation.
+ * These services include all functionality that requires specific
+ * knowledge of the CSR layout or the DMA descriptor (TRB) layout. Also
+ * included are services for invoking each of the commands provided by
+ * the DGCMD and DEPCMD registers (see the "Control and Status Registers"
+ * chapter of the USB3 controller databook for details).
+ *
+ * The Core Interface Layer has the following requirements:
+ * - Provides basic controller operations.
+ * - Minimal use of OS services.
+ * - The OS services used will be abstracted by using inline functions
+ * or macros.
+ *
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil.c
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd_intr.c $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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
+ * This file contains the implementation of the PCD Interrupt handlers.
+ *
+ * The PCD handles the device interrupts. Many conditions can cause a
+ * device interrupt. When an interrupt occurs, the device interrupt
+ * service routine determines the cause of the interrupt and
+ * dispatches handling to the appropriate routine. These interrupt
+ * handling routines are described below.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd_intr.c
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/os_dev.h $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/os_dev.h
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil_intr.c $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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
+ *
+ * The Core Interface Layer provides basic services for accessing and
+ * managing the DWC_usb3 hardware. These services are used by both the
+ * Peripheral Controller Driver and the On The Go Driver.
+ *
+ * This file contains the common interrupt handling functions.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil_intr.c
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd.c $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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
+ * This file implements the Peripheral Controller Driver.
+ *
+ * The Peripheral Controller Driver (PCD) is responsible for translating
+ * requests from the Function Driver into the appropriate actions on the
+ * DWC_usb3 controller. It isolates the Function Driver from the specifics
+ * of the controller by providing an API to the Function Driver.
+ *
+ * The Peripheral Controller Driver for Linux will implement the Gadget API,
+ * so that the existing Gadget drivers can be used. (Gadget Driver is the
+ * Linux terminology for a Function Driver.)
+ *
+ * The Linux Gadget API is defined in the header file
+ * <code><linux/usb/gadget.h></code>. The USB EP operations API is defined
+ * in the structure <code>usb_ep_ops</code> and the USB Controller API is
+ * defined in the structure <code>usb_gadget_ops</code>.
+ *
+ * An important function of the PCD is managing interrupts generated by the
+ * DWC_usb3 controller. The implementation of the DWC_usb3 device mode
+ * interrupt service routines is in pcd_intr.c.
+ */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd.c
+
+/* ==========================================================================
+ * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/usb3_hw.h $
+ * $Revision: #3 $
+ * $Date: 2013/08/06 $
+ * $Change: 2161544 $
+ *
+ * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter,
+ * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless
+ * otherwise expressly agreed to in writing between Synopsys and you.
+ *
+ * The Software IS NOT an item of Licensed Software or Licensed Product under
+ * any End User Software License Agreement or Agreement for Licensed Product
+ * with Synopsys or any supplement thereto. You are permitted to use and
+ * redistribute this Software in source and binary forms, with or without
+ * modification, provided that redistributions of source code must retain this
+ * notice. You may not view, use, disclose, copy or distribute this file or
+ * any information contained herein except pursuant to this license grant from
+ * Synopsys. If you do not agree with this notice, including the disclaimer
+ * below, then you are not authorized to use the Software.
+ *
+ * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS 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.
+ * ========================================================================== */
+p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/usb3_hw.h
+
+
+
+
+
+==================================================================================
+
+Open source code.
+Component Name: <COMMON NAME>
+Component Version: <ACTUAL VERSION USED>
+Source: <PACKAGE/URL>
+License:
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+ ====================================================================================
+
+ Open source code.
+ Component Name: <COMMON NAME>
+ Component Version: <ACTUAL VERSION USED>
+ Source: <PACKAGE/URL>
+ License: /*
+ * Copyright (c) 2012-2017 Qualcomm Technologies, Inc.
+ * 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+
+ /*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+ //-
+ // Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ // All rights reserved.
+ // $ATH_LICENSE_NULL$
+ //
+ // 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,
+ // without modification.
+ // 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ // similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ // redistribution must be conditioned upon including a substantially
+ // similar Disclaimer requirement for further binary redistribution.
+ // 3. Neither the names of the above-listed copyright holders nor the names
+ // of any contributors may be used to endorse or promote products derived
+ // from this software without specific prior written permission.
+ //
+ // Alternatively, this software may be distributed under the terms of the
+ // GNU General Public License ("GPL") version 2 as published by the Free
+ // Software Foundation.
+ //
+ // NO WARRANTY
+ // 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 NONINFRINGEMENT, MERCHANTIBILITY
+ // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ // THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ //
+ // $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_ethersubr.h#3 $
+//
+
+===============================================================================================================
+
+/*
+ * Copyright (c) 2014-2017 Qualcomm Technologies, Inc.
+ * 2014 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+ ===========================================================================
+
+ /*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+ /*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+ /*
+ * AES-based functions
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+ ==============================================================================
+
+ /*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+ /*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+ /*
+ * wpa_supplicant/hostapd / common helper functions, etc.
+ * Copyright (c) 2002-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+ ==========================================================================
+
+
+ /*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+ /*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+ /*
+ * WPA Supplicant / wrapper functions for crypto libraries
+ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ *
+ * This file defines the cryptographic functions that need to be implemented
+ * for wpa_supplicant and hostapd. When TLS is not used, internal
+ * implementation of MD5, SHA1, and AES is used and no external libraries are
+ * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the
+ * crypto library used by the TLS implementation is expected to be used for
+ * non-TLS needs, too, in order to save space by not implementing these
+ * functions twice.
+ *
+ * Wrapper code for using each crypto library is in its own file (crypto*.c)
+ * and one of these files is build and linked in to provide the functions
+ * defined here.
+ */
+
+ ===============================================================================
+
+ /*
+ * Copyright (c) 2012-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+
+ /*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+ //-
+ // Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ // All rights reserved.
+ // $ATH_LICENSE_NULL$
+ //
+ // 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,
+ // without modification.
+ // 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ // similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ // redistribution must be conditioned upon including a substantially
+ // similar Disclaimer requirement for further binary redistribution.
+ // 3. Neither the names of the above-listed copyright holders nor the names
+ // of any contributors may be used to endorse or promote products derived
+ // from this software without specific prior written permission.
+ //
+ // Alternatively, this software may be distributed under the terms of the
+ // GNU General Public License ("GPL") version 2 as published by the Free
+ // Software Foundation.
+ //
+ // NO WARRANTY
+ // 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 NONINFRINGEMENT, MERCHANTIBILITY
+ // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ // THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ //
+ // $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_ethersubr.h#3 $
+//
+
+===============================================================================================================
+
+/*
+ * Copyright (c) 2011-2017 Qualcomm Technologies, Inc.
+ * 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ * Notifications and licenses are retained for attribution purposes only.
+ */
+/*
+ * For this file, which was received with alternative licensing options for
+ * distribution, Qualcomm Atheros, Inc. has selected the BSD license.
+ */
+
+/*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+ =============================================================================
+
diff --git a/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/amss.bin b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/amss.bin
new file mode 100644
index 0000000..1d9d34a
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/amss.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/m3.bin b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/m3.bin
new file mode 100644
index 0000000..1ffaab0
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/ath11k/QCA6390/hw2.0/m3.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/lt9611uxc_fw.bin b/linaro_devices/common/linux-firmware/lt9611uxc_fw.bin
new file mode 100644
index 0000000..c6398d2
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/lt9611uxc_fw.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qca/NOTICE.txt b/linaro_devices/common/linux-firmware/qca/NOTICE.txt
new file mode 100644
index 0000000..9313020
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qca/NOTICE.txt
@@ -0,0 +1,426 @@
+
+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. 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:
+
+===============================================================================
+
+ 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.
+
+*/
+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.
+#
+#
+#
+===============================================================================
+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 <Landon Curt Noll> /\oo/\
+ * http://www.isthe.com/chongo/
+ *
+ * Share and Enjoy! :-)
+ */
+File: fm_fnv_hash.h, fm_fnv_hash.c
+
+===============================================================================
+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 <Todd.Miller@courtesan.com>
+ *
+ * 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/linaro_devices/common/linux-firmware/qca/crbtfw21.tlv b/linaro_devices/common/linux-firmware/qca/crbtfw21.tlv
new file mode 100644
index 0000000..2d5ef8d
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qca/crbtfw21.tlv
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qca/crnv21.bin b/linaro_devices/common/linux-firmware/qca/crnv21.bin
new file mode 100644
index 0000000..7f48ef1
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qca/crnv21.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qca/htbtfw20.tlv b/linaro_devices/common/linux-firmware/qca/htbtfw20.tlv
new file mode 100644
index 0000000..f7d8aa9
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qca/htbtfw20.tlv
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qca/htnv20.bin b/linaro_devices/common/linux-firmware/qca/htnv20.bin
new file mode 100644
index 0000000..61732d4
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qca/htnv20.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/NOTICE.txt b/linaro_devices/common/linux-firmware/qcom/NOTICE.txt
new file mode 100644
index 0000000..184f88f
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/NOTICE.txt
@@ -0,0 +1,506 @@
+This NOTICE.txt file contains certain notices Qualcomm Technologies, Inc. ("QTI")
+is required to provide with certain software components. Notwithstanding anything
+in the notices in this file, your use of such software components together with
+the QTI software ("Software") is subject to the terms of your separate license
+from QTI. Compliance with all copyright laws and software licenses included in
+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 QTI or its
+affiliates.
+Software provided with this notice is NOT A CONTRIBUTION to any open source
+project. If alternative licensing is available for any of the components with
+licenses or attributions provided below, a license choice is made for receiving
+such code by QTI.
+
+Copyright (c) 2013-2017 Qualcomm Technologies, 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. Other products and brand names may be trademarks or registered
+trademarks of their respective owners.
+
+
+ LICENSE ISSUES
+ ==============
+
+ The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
+ the OpenSSL License and the original SSLeay license apply to the toolkit.
+ See below for the actual license texts. Actually both licenses are BSD-style
+ Open Source licenses. In case of any license issues related to OpenSSL
+ please contact openssl-core@openssl.org.
+
+ OpenSSL License
+ ---------------
+
+/* ====================================================================
+ * Copyright (c) 1998-2011 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.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+ Original SSLeay License
+ -----------------------
+
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ *
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to. The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ *
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ *
+ * 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 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 acknowledgement:
+ * "This product includes cryptographic software written by
+ * Eric Young (eay@cryptsoft.com)"
+ * The word 'cryptographic' can be left out if the rouines from the library
+ * being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from
+ * the apps directory (application code) you must include an acknowledgement:
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 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.
+ *
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
+
+/* ====================================================================
+ * Copyright (C) 1995-2005 Jean-loup Gailly
+ * Copyright (C) 1995-2009 Mark Adler
+ * Copyright (C) 1995-2003, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+
+ /* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.3, July 18th, 2005
+
+ Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
+ (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+*/
+
+
+------------------------------------------------------------------------------
+
+ //
+// Copyright (c) 2004-2006 Qualphone, Inc. All rights reserved.
+//
+//
+/*
+ * This code implements the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+ * Equivalent code is available from RSA Data Security, Inc.
+ * This code has been tested against that, and is equivalent,
+ * except that you don't need to include two pages of legalese
+ * with every copy.
+ *
+ * To compute the message digest of a chunk of bytes, declare an
+ * MD5Context structure, pass it to MD5Init, call MD5Update as
+ * needed on buffers full of bytes, and then call MD5Final, which
+ * will fill a supplied 16-byte array with the digest.
+ */
+
+
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
+
+
+
+/*
+ * Written by Aaron D. Gifford <me@aarongifford.com>
+ *
+ * Copyright 2000 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(S) 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(S) 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.
+ *
+ */
+
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
+
+/*-
+ * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or
+ * code or tables extracted from it, as desired without restriction.
+ *
+ * First, the polynomial itself and its table of feedback terms. The
+ * polynomial is
+ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
+ *
+ * Note that we take it "backwards" and put the highest-order term in
+ * the lowest-order bit. The X^32 term is "implied"; the LSB is the
+ * X^31 term, etc. The X^0 term (usually shown as "+1") results in
+ * the MSB being 1
+ *
+ * Note that the usual hardware shift register implementation, which
+ * is what we're using (we're merely optimizing it by doing eight-bit
+ * chunks at a time) shifts bits into the lowest-order term. In our
+ * implementation, that means shifting towards the right. Why do we
+ * do it this way? Because the calculated CRC must be transmitted in
+ * order from highest-order term to lowest-order term. UARTs transmit
+ * characters in order from LSB to MSB. By storing the CRC this way
+ * we hand it to the UART in the order low-byte to high-byte; the UART
+ * sends each low-bit to hight-bit; and the result is transmission bit
+ * by bit from highest- to lowest-order term without requiring any bit
+ * shuffling on our part. Reception works similarly
+ *
+ * The feedback terms table consists of 256, 32-bit entries. Notes
+ *
+ * The table can be generated at runtime if desired; code to do so
+ * is shown later. It might not be obvious, but the feedback
+ * terms simply represent the results of eight shift/xor opera
+ * tions for all combinations of data and CRC register values
+ *
+ * The values must be right-shifted by eight bits by the "updcrc
+ * logic; the shift must be unsigned (bring in zeroes). On some
+ * hardware you could probably optimize the shift in assembler by
+ * using byte-swap instructions
+ * polynomial $edb88320
+ *
+
+
+ ------------------------------------------------------------------------------
+
+ /*
+ The AES algorithm Rijndael implemented for block and key sizes of 128,
+ 192 and 256 bits (16, 24 and 32 bytes) by Brian Gladman.
+
+ 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. I am grateful to Frank Yellin
+ for some ideas that are used in this implementation.
+
+ Dr B. R. Gladman <brg@gladman.uk.net> 1st June 2001.
+
+ ------------------------------------------------------------------------------
+
+ /*
+ * hash_32 - 32 bit Fowler/Noll/Vo hash code
+ *
+ * Fowler/Noll/Vo 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.
+ *
+ ------------------------------------------------------------------------------
+ /*
+ * sha1.c
+ *
+ * Originally witten by Steve Reid <steve@edmweb.com>
+ *
+ * Modified by Aaron D. Gifford <agifford@infowest.com>
+ *
+ * NO COPYRIGHT - THIS IS 100% IN THE PUBLIC DOMAIN
+ *
+ * The original unmodified version is available at:
+ * ftp://ftp.funet.fi/pub/crypt/hash/sha/sha1.c
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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 AUTHOR(S) 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.
+ */
+
+------------------------------------------------------------------------------
+
+/*
+ * AES-based functions
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+ ------------------------------------------------------------------------------
+ /*
+ * SHA1 hash implementation and interface functions
+ * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+ ------------------------------------------------------------------------------
+ /*
+ * hmac_sha1.c
+ *
+ * Version 1.0.0
+ *
+ * Written by Aaron D. Gifford <me@aarongifford.com>
+ *
+ * Copyright 1998, 2000 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(S) 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 AUTHOR(S) 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.
+ */
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
+
+/*
+* 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.
+*/
+
+------------------------------------------------------------------------------
+
+/*
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+ * 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. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``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.
+ */
+
+ ------------------------------------------------------------------------------
+
+ /*
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * 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.
+ */
+
+
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
diff --git a/linaro_devices/common/linux-firmware/qcom/a630_gmu.bin b/linaro_devices/common/linux-firmware/qcom/a630_gmu.bin
new file mode 100644
index 0000000..7ab6857
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/a630_gmu.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/a630_sqe.fw b/linaro_devices/common/linux-firmware/qcom/a630_sqe.fw
new file mode 100644
index 0000000..4e2937d
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/a630_sqe.fw
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/a650_gmu.bin b/linaro_devices/common/linux-firmware/qcom/a650_gmu.bin
new file mode 100644
index 0000000..e497a14
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/a650_gmu.bin
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/a650_sqe.fw b/linaro_devices/common/linux-firmware/qcom/a650_sqe.fw
new file mode 100644
index 0000000..6cbef9b
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/a650_sqe.fw
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/a630_zap.mbn b/linaro_devices/common/linux-firmware/qcom/sdm845/a630_zap.mbn
new file mode 100644
index 0000000..9e6f2ad
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/a630_zap.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/adsp.mbn b/linaro_devices/common/linux-firmware/qcom/sdm845/adsp.mbn
new file mode 100644
index 0000000..271da7f
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/adsp.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/adspr.jsn b/linaro_devices/common/linux-firmware/qcom/sdm845/adspr.jsn
new file mode 100644
index 0000000..0964c15
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/adspr.jsn
@@ -0,0 +1,21 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "adsp",
+ "subdomain": "root_pd",
+ "qmi_instance_id": 74
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/adspua.jsn b/linaro_devices/common/linux-firmware/qcom/sdm845/adspua.jsn
new file mode 100644
index 0000000..2d6824e
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/adspua.jsn
@@ -0,0 +1,27 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "adsp",
+ "subdomain": "audio_pd",
+ "qmi_instance_id": 74
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ },
+ {
+ "provider": "avs",
+ "service": "audio",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/cdsp.mbn b/linaro_devices/common/linux-firmware/qcom/sdm845/cdsp.mbn
new file mode 100644
index 0000000..a115cc8
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/cdsp.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/cdspr.jsn b/linaro_devices/common/linux-firmware/qcom/sdm845/cdspr.jsn
new file mode 100644
index 0000000..5d976a6
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/cdspr.jsn
@@ -0,0 +1,21 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "cdsp",
+ "subdomain": "root_pd",
+ "qmi_instance_id": 76
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/mba.mbn b/linaro_devices/common/linux-firmware/qcom/sdm845/mba.mbn
new file mode 100644
index 0000000..18e5883
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/mba.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/modem.mbn b/linaro_devices/common/linux-firmware/qcom/sdm845/modem.mbn
new file mode 100644
index 0000000..e172a46
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/modem.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sdm845/modemuw.jsn b/linaro_devices/common/linux-firmware/qcom/sdm845/modemuw.jsn
new file mode 100644
index 0000000..88a400e
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sdm845/modemuw.jsn
@@ -0,0 +1,33 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "modem",
+ "subdomain": "wlan_pd",
+ "qmi_instance_id": 180
+ },
+ "sr_service": [
+ {
+ "provider": "kernel",
+ "service": "elf_loader",
+ "service_data_valid": 0,
+ "service_data": 0
+ },
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ },
+ {
+ "provider": "wlan",
+ "service": "fw",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/a650_zap.mbn b/linaro_devices/common/linux-firmware/qcom/sm8250/a650_zap.mbn
new file mode 100644
index 0000000..ef5624c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/a650_zap.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/adsp.mbn b/linaro_devices/common/linux-firmware/qcom/sm8250/adsp.mbn
new file mode 100644
index 0000000..274cb40
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/adsp.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/adspr.jsn b/linaro_devices/common/linux-firmware/qcom/sm8250/adspr.jsn
new file mode 100644
index 0000000..0964c15
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/adspr.jsn
@@ -0,0 +1,21 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "adsp",
+ "subdomain": "root_pd",
+ "qmi_instance_id": 74
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/adspua.jsn b/linaro_devices/common/linux-firmware/qcom/sm8250/adspua.jsn
new file mode 100644
index 0000000..2d6824e
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/adspua.jsn
@@ -0,0 +1,27 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "adsp",
+ "subdomain": "audio_pd",
+ "qmi_instance_id": 74
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ },
+ {
+ "provider": "avs",
+ "service": "audio",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/cdsp.mbn b/linaro_devices/common/linux-firmware/qcom/sm8250/cdsp.mbn
new file mode 100644
index 0000000..f8b6653
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/cdsp.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/sm8250/cdspr.jsn b/linaro_devices/common/linux-firmware/qcom/sm8250/cdspr.jsn
new file mode 100644
index 0000000..5d976a6
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/sm8250/cdspr.jsn
@@ -0,0 +1,21 @@
+{
+ "sr_version": {
+ "major": 1,
+ "minor": 1,
+ "patch": 1
+ },
+ "sr_domain": {
+ "soc": "msm",
+ "domain": "cdsp",
+ "subdomain": "root_pd",
+ "qmi_instance_id": 76
+ },
+ "sr_service": [
+ {
+ "provider": "tms",
+ "service": "servreg",
+ "service_data_valid": 0,
+ "service_data": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b00 b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b00
new file mode 100644
index 0000000..96c1762
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b00
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b01 b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b01
new file mode 100644
index 0000000..cb335f3
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b01
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b02 b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b02
new file mode 100644
index 0000000..02a4409
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b02
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b03 b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b03
new file mode 100644
index 0000000..e5ff59d
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b03
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b04 b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b04
new file mode 100644
index 0000000..90c7fc9
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b04
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mbn b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mbn
new file mode 100644
index 0000000..0ea5feb
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mdt b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mdt
new file mode 100644
index 0000000..557cf8b
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mdt
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b00 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b00
new file mode 100644
index 0000000..62fdcb7
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b00
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b01 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b01
new file mode 100644
index 0000000..84af206
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b01
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b02 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b02
new file mode 100644
index 0000000..b2764fb
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b02
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b03 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b03
new file mode 100644
index 0000000..3d51ce3
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b03
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b04 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b04
new file mode 100644
index 0000000..8451b70
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b04
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b05 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b05
new file mode 100644
index 0000000..9cf74ff
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b05
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b06 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b06
new file mode 100644
index 0000000..4de9759
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b06
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b07 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b07
new file mode 100644
index 0000000..b521a6f
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b07
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b08 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b08
new file mode 100644
index 0000000..9733a4d
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b08
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b09 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b09
new file mode 100644
index 0000000..522a268
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b09
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b10 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b10
new file mode 100644
index 0000000..53bb504
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b10
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b19 b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b19
new file mode 100644
index 0000000..90c7fc9
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b19
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mbn b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mbn
new file mode 100644
index 0000000..7a9ddc8
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mbn
Binary files differ
diff --git a/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mdt b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mdt
new file mode 100644
index 0000000..ac4079c
--- /dev/null
+++ b/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mdt
Binary files differ
diff --git a/linaro_devices/qcom/Android.mk b/linaro_devices/qcom/Android.mk
new file mode 100644
index 0000000..4e30bfe
--- /dev/null
+++ b/linaro_devices/qcom/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2015 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# WARNING: Everything listed here will be built on ALL platforms,
+# including x86, the emulator, and the SDK. Modules must be uniquely
+# named (liblights.panda), and must build everywhere, or limit themselves
+# to only building on ARM if they include assembly. Individual makefiles
+# are responsible for having their own logic, for fine-grained control.
+
+ifneq ($(filter db845c rb5, $(TARGET_BOARD_PLATFORM)),)
+
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+endif
diff --git a/linaro_devices/qcom/db845c/Android.mk b/linaro_devices/qcom/db845c/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/qcom/db845c/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/Android.mk b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/Android.mk
new file mode 100644
index 0000000..0802d59
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/Android.mk
@@ -0,0 +1,5 @@
+LOCAL_PATH := $(call my-dir)
+
+include vendor/linaro_devices/common/CommonBuildMacros.mk
+
+$(call add-qcom-firmware, devcfg.mbn, devcfg.mbn, $(TARGET_OUT_VENDOR)/firmware/, vendor/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt)
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/devcfg.mbn b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/devcfg.mbn
new file mode 100644
index 0000000..f7080e7
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/07-devcfg/devcfg.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/Android.mk b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/Android.mk
new file mode 100644
index 0000000..539affc
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/Android.mk
@@ -0,0 +1,5 @@
+LOCAL_PATH := $(call my-dir)
+
+include vendor/linaro_devices/common/CommonBuildMacros.mk
+
+$(call add-qcom-firmware, K2026090.mem, K2026090.mem, $(TARGET_OUT_VENDOR)/firmware/, vendor/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt)
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/K2026090.mem b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/K2026090.mem
new file mode 100644
index 0000000..47424d4
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/17-USB3-201-202-FW/K2026090.mem
Binary files differ
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/Android.mk b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt
new file mode 100644
index 0000000..6b9a0a2
--- /dev/null
+++ b/linaro_devices/qcom/db845c/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English..
\ No newline at end of file
diff --git a/linaro_devices/qcom/db845c/device.mk b/linaro_devices/qcom/db845c/device.mk
new file mode 100644
index 0000000..3c3affa
--- /dev/null
+++ b/linaro_devices/qcom/db845c/device.mk
@@ -0,0 +1,78 @@
+# WLAN
+PRODUCT_PACKAGES := \
+ board-2.bin \
+ firmware-5.bin \
+ wlanmdsp.mbn
+
+# Bluetooth
+PRODUCT_PACKAGES += \
+ crbtfw21.tlv \
+ crnv21.bin
+
+# Adreno
+PRODUCT_PACKAGES += \
+ a630_gmu.bin \
+ a630_sqe.fw \
+ a630_zap.mbn \
+ a630_zap.mdt
+
+# DSP (adsp+cdsp)
+PRODUCT_PACKAGES += \
+ adsp.mbn \
+ adsp.mdt \
+ adspr.jsn \
+ adspua.jsn \
+ cdsp.mbn \
+ cdsp.mdt \
+ cdspr.jsn
+
+# Modem
+PRODUCT_PACKAGES += \
+ mba.mbn \
+ modem.mbn \
+ modemuw.jsn
+
+# Video encoder/decoder accelerator
+PRODUCT_PACKAGES += \
+ venus.b00 \
+ venus.b01 \
+ venus.b02 \
+ venus.b03 \
+ venus.b04 \
+ venus.mbn \
+ venus.mdt
+
+# USB (USB Host to PCIE)
+# For Ethernet and one of the USB-A host port to work
+PRODUCT_PACKAGES += \
+ K2026090.mem
+
+# I2C/SPI fix
+PRODUCT_PACKAGES += \
+ devcfg.mbn
+
+# Copy Venus and ADSP/CDSP firmware files to ramdisk to drop the
+# dependency on user sysfs fw loader helper (FW_LOADER_USER_HELPER_FALLBACK)
+ifeq ($(TARGET_USES_BOOT_HDR_V3), true)
+ PRODUCT_COPY_FILES += \
+ vendor/linaro_devices/common/linux-firmware/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b00:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b00 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b01:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b01 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b02:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b02 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b03:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b03 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b04:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b04 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mdt:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mdt
+else
+ PRODUCT_COPY_FILES += \
+ vendor/linaro_devices/common/linux-firmware/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b00:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b00 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b01:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b01 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b02:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b02 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b03:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b03 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.b04:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b04 \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/venus-5.2/venus.mdt:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mdt
+endif
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/BTFM.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/BTFM.bin
new file mode 100644
index 0000000..b82e363
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/BTFM.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/LICENSE b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/LICENSE
new file mode 100644
index 0000000..6b9a0a2
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/LICENSE
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English..
\ No newline at end of file
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/MD5SUMS.txt b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/MD5SUMS.txt
new file mode 100644
index 0000000..90e10db
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/MD5SUMS.txt
@@ -0,0 +1,50 @@
+c84e74fe73b9ab88a66a262b68a04c95 abl.elf
+71c6dd41e387ddb12c8553091928ec39 aop.mbn
+b6d81b360a5672d80c27430f39153e2c boot-erase.img
+40e97319f57ab9d0b60009163ff940c2 BTFM.bin
+cbd3f7ab1a261c30e9e3178c0ec09428 cmnlib64.mbn
+7e89535018695c938593581134d14871 cmnlib.mbn
+699e4dc2a0dbac11b255c79422744b44 devcfg.mbn
+d5cf22da99f6a871d4c7d43ce8eb801a dspso.bin
+4400827c0a6689bfe118a67d79b4fcd7 flashall
+264f55867061334b21ef69ef2d91149c gpt_backup0.bin
+03174a2beb3291ca66a2a15930c5cb9e gpt_backup1.bin
+840f50ac7d3d926ab7fdd0ed98a7560e gpt_backup2.bin
+eed1e80d8fc4943df0c8aa8ad1b73e4b gpt_backup3.bin
+26ab4ed9d160a0306735bf78ab6cefa9 gpt_backup4.bin
+c10a648091610effa41de4b9ee50eb5c gpt_backup5.bin
+9172f4826357bf619ca0b33a09f6779d gpt_both0.bin
+e6667b48079135ca722d3084a7806216 gpt_both1.bin
+3236a9e8b98116e7ccd4887880942479 gpt_both2.bin
+77a1e4c365356b2680c7398345698241 gpt_both3.bin
+000f146a62bd660308544a1ff734c86d gpt_both4.bin
+f7b3e3a0b2f8d235340fe096031d7e55 gpt_both5.bin
+2bf75b8a42ba360252cadfc9456e901e gpt_main0.bin
+5646c1db1527215f3192e50b2a46ef21 gpt_main1.bin
+8b01994b6fa047ec18444d17ce4b76db gpt_main2.bin
+785a2b74aa71227582eebb11da45f9af gpt_main3.bin
+7880b4539f887e18ed283cafb99cc07f gpt_main4.bin
+c0fce13c0dbf76493c1ad8d036f379ae gpt_main5.bin
+94794668fb0a63c599e754cba52f6517 hyp.mbn
+35cc47772102f785807556e03135764a imagefv.elf
+1fbaef77827cc531b5b7372ad1ee4937 keymaster64.mbn
+cbbe399f2c983ad51768f4561587f000 LICENSE
+7da8e656c3c01e6471479328af510728 patch0.xml
+0780990ee59934bdcaffc918cac99aed patch1.xml
+81036277fd056a16c0e418a756a5a835 patch2.xml
+f1e955eeee449ed57767ac0b87552cf1 patch3.xml
+04859b2cf8561a9d54e85a01595c44bb patch4.xml
+ab5847dcda2a52572616499f37ff1676 patch5.xml
+61e29ca7d21884af0e3a813d3bd0ade1 prog_firehose_ddr.elf
+57f570d8896ef6c0e55af6c3dc0940e1 qupv3fw.elf
+259d08f10ead09a858dec1a49736d398 rawprogram0.xml
+078978d92fc3c2a0ad0744e5e905e806 rawprogram1.xml
+e829b09f11eeed7f44caca1b592c91bf rawprogram2.xml
+e03411d04b290ffe1ea9b993d1f23074 rawprogram3.xml
+884a90a2d2ef5270caad52ac6e113fba rawprogram4.xml
+3640402754265a04aaff27ede61fa1c0 rawprogram5.xml
+21775907582b06389a656ab56011c160 sec.dat
+a09977823a706b04e851609cfe0a9113 storsec.mbn
+ce1bdfe85a34c3ce8f30f99e01a9f2af tz.mbn
+3d4e3c711e9fcdb2513afefb4072ab69 xbl_config.elf
+53510083c9fc81d0e7b75e8f09c5c0ea xbl.elf
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/abl.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/abl.elf
new file mode 100644
index 0000000..bfc9949
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/abl.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/aop.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/aop.mbn
new file mode 100644
index 0000000..59c3db6
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/aop.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/boot-erase.img b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/boot-erase.img
new file mode 100644
index 0000000..9e0f96a
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/boot-erase.img
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib.mbn
new file mode 100644
index 0000000..f6a5688
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib64.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib64.mbn
new file mode 100644
index 0000000..3c1f8e0
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/cmnlib64.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/devcfg.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/devcfg.mbn
new file mode 100644
index 0000000..f7080e7
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/devcfg.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/dspso.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/dspso.bin
new file mode 100644
index 0000000..0468851
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/dspso.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/flashall b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/flashall
new file mode 100755
index 0000000..2c4db9e
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/flashall
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+fastboot flash partition:0 gpt_both0.bin
+fastboot flash partition:1 gpt_both1.bin
+fastboot flash partition:2 gpt_both2.bin
+fastboot flash partition:3 gpt_both3.bin
+fastboot flash partition:4 gpt_both4.bin
+fastboot flash partition:5 gpt_both5.bin
+
+fastboot flash ImageFv_a imagefv.elf
+fastboot flash aop_a aop.mbn
+fastboot flash bluetooth_a BTFM.bin
+fastboot flash cmnlib64_a cmnlib64.mbn
+fastboot flash cmnlib_a cmnlib.mbn
+fastboot erase ddr
+fastboot flash devcfg_a devcfg.mbn
+fastboot flash dsp_a dspso.bin
+fastboot flash hyp_a hyp.mbn
+fastboot flash keymaster_a keymaster64.mbn
+#fastboot flash logfs logfs_ufs_8mb.bin
+#fastboot flash modem_a NON-HLOS.bin
+fastboot flash qupfw_a qupv3fw.elf
+fastboot flash storsec_a storsec.mbn
+fastboot flash tz_a tz.mbn
+fastboot flash xbl_a xbl.elf
+fastboot flash xbl_config_a xbl_config.elf
+fastboot flash abl_a abl.elf
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup0.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup0.bin
new file mode 100644
index 0000000..63cf73f
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup0.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup1.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup1.bin
new file mode 100644
index 0000000..6ecd5ed
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup1.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup2.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup2.bin
new file mode 100644
index 0000000..3bf1983
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup2.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup3.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup3.bin
new file mode 100644
index 0000000..2fc8c03
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup3.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup4.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup4.bin
new file mode 100644
index 0000000..89dcf13
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup4.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup5.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup5.bin
new file mode 100644
index 0000000..6bed800
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_backup5.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both0.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both0.bin
new file mode 100644
index 0000000..6fd3db4
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both0.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both1.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both1.bin
new file mode 100644
index 0000000..b3a2bae
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both1.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both2.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both2.bin
new file mode 100644
index 0000000..e9158a1
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both2.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both3.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both3.bin
new file mode 100644
index 0000000..141bee8
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both3.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both4.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both4.bin
new file mode 100644
index 0000000..89ef1c2
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both4.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both5.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both5.bin
new file mode 100644
index 0000000..7a67840
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_both5.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main0.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main0.bin
new file mode 100644
index 0000000..025a846
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main0.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main1.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main1.bin
new file mode 100644
index 0000000..83c40e3
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main1.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main2.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main2.bin
new file mode 100644
index 0000000..9f02bbf
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main2.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main3.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main3.bin
new file mode 100644
index 0000000..9501602
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main3.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main4.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main4.bin
new file mode 100644
index 0000000..da6fc07
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main4.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main5.bin b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main5.bin
new file mode 100644
index 0000000..c5eb503
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/gpt_main5.bin
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/hyp.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/hyp.mbn
new file mode 100644
index 0000000..538dcc6
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/hyp.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/imagefv.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/imagefv.elf
new file mode 100644
index 0000000..42107de
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/imagefv.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/keymaster64.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/keymaster64.mbn
new file mode 100644
index 0000000..5bdd1a9
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/keymaster64.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch0.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch0.xml
new file mode 100644
index 0000000..28f4a18
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch0.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'userdata' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'userdata' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'userdata' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 10 'userdata' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch1.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch1.xml
new file mode 100644
index 0000000..f22f118
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch1.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch2.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch2.xml
new file mode 100644
index 0000000..3a21339
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch3.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch3.xml
new file mode 100644
index 0000000..e818f40
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch3.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="424" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 4 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="424" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 4 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="424" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 4 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="424" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 4 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch4.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch4.xml
new file mode 100644
index 0000000..b808e50
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch4.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="2088" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="3" value="NUM_DISK_SECTORS-6." what="Update last partition 49 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="2088" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="3" value="NUM_DISK_SECTORS-6." what="Update last partition 49 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="2088" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update last partition 49 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="2088" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-4." value="NUM_DISK_SECTORS-6." what="Update last partition 49 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(2,8192)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(2,8192)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="CRC32(0,8192)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,8192)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch5.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch5.xml
new file mode 100644
index 0000000..b9ff1fd
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/patch5.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 10 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1192" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 10 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/prog_firehose_ddr.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/prog_firehose_ddr.elf
new file mode 100644
index 0000000..15e2d4c
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/prog_firehose_ddr.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/qupv3fw.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/qupv3fw.elf
new file mode 100644
index 0000000..6236ec4
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/qupv3fw.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram0.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram0.xml
new file mode 100644
index 0000000..44202c6
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram0.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="persist" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="system_a" num_partition_sectors="1485448" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="5941792.0" sparse="false" start_byte_hex="0x2006000" start_sector="8198"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="system_b" num_partition_sectors="1485448" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="5941792.0" sparse="false" start_byte_hex="0x16ca8e000" start_sector="1493646"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vendor_boot_a" num_partition_sectors="32768" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="131072.0" sparse="false" start_byte_hex="0x2d7516000" start_sector="2979094"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vendor_boot_b" num_partition_sectors="32768" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="131072.0" sparse="false" start_byte_hex="0x2df516000" start_sector="3011862"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="super" num_partition_sectors="3036432" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="12145728.0" sparse="false" start_byte_hex="0x2e7516000" start_sector="3044630"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="systemrw" num_partition_sectors="4096" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="16384.0" sparse="false" start_byte_hex="0x5cca26000" start_sector="6081062"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="cache" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x5cda26000" start_sector="6085158"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="metadata" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x5d1a26000" start_sector="6101542"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="userdata" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x5d5a26000" start_sector="6117926"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main0.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="0" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup0.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="0" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram1.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram1.xml
new file mode 100644
index 0000000..1793287
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram1.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl.elf" label="xbl_a" num_partition_sectors="896" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="3584.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl_config.elf" label="xbl_config_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x386000" start_sector="902"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x3a6000" start_sector="934"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main1.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="1" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup1.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="1" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram2.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram2.xml
new file mode 100644
index 0000000..e8aa1b8
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram2.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl.elf" label="xbl_b" num_partition_sectors="896" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="3584.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl_config.elf" label="xbl_config_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x386000" start_sector="902"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x3a6000" start_sector="934"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main2.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="2" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup2.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="2" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram3.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram3.xml
new file mode 100644
index 0000000..a37a8b4
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram3.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ALIGN_TO_128K_1" num_partition_sectors="26" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="104.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="cdt" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x20000" start_sector="32"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ddr" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x40000" start_sector="64"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x140000" start_sector="320"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main3.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="3" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup3.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="3" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram4.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram4.xml
new file mode 100644
index 0000000..948dd04
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="aop.mbn" label="aop_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="tz.mbn" label="tz_a" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x86000" start_sector="134"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="hyp.mbn" label="hyp_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x286000" start_sector="646"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modem_a" num_partition_sectors="26624" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="106496.0" sparse="false" start_byte_hex="0x306000" start_sector="774"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="BTFM.bin" label="bluetooth_a" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x6b06000" start_sector="27398"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtpsecapp_a" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x6c06000" start_sector="27654"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtp_a" num_partition_sectors="4096" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="16384.0" sparse="false" start_byte_hex="0x7006000" start_sector="28678"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="abl.elf" label="abl_a" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x8006000" start_sector="32774"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="dspso.bin" label="dsp_a" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x8106000" start_sector="33030"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="keymaster64.mbn" label="keymaster_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0xa106000" start_sector="41222"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="boot-erase.img" label="boot_a" num_partition_sectors="24576" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="98304.0" sparse="false" start_byte_hex="0xa186000" start_sector="41350"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib.mbn" label="cmnlib_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x10186000" start_sector="65926"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib64.mbn" label="cmnlib64_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x10206000" start_sector="66054"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="devcfg.mbn" label="devcfg_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x10286000" start_sector="66182"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="qupv3fw.elf" label="qupfw_a" num_partition_sectors="16" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="64.0" sparse="false" start_byte_hex="0x102a6000" start_sector="66214"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="storsec.mbn" label="storsec_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x102b6000" start_sector="66230"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="imagefv.elf" label="ImageFv_a" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x102d6000" start_sector="66262"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="aop.mbn" label="aop_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x103d6000" start_sector="66518"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="tz.mbn" label="tz_b" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x10456000" start_sector="66646"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="hyp.mbn" label="hyp_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x10656000" start_sector="67158"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modem_b" num_partition_sectors="26624" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="106496.0" sparse="false" start_byte_hex="0x106d6000" start_sector="67286"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="BTFM.bin" label="bluetooth_b" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x16ed6000" start_sector="93910"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtpsecapp_b" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x16fd6000" start_sector="94166"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtp_b" num_partition_sectors="4096" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="16384.0" sparse="false" start_byte_hex="0x173d6000" start_sector="95190"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="abl.elf" label="abl_b" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x183d6000" start_sector="99286"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="dspso.bin" label="dsp_b" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x184d6000" start_sector="99542"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="keymaster64.mbn" label="keymaster_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x1a4d6000" start_sector="107734"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="boot-erase.img" label="boot_b" num_partition_sectors="24576" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="98304.0" sparse="false" start_byte_hex="0x1a556000" start_sector="107862"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib.mbn" label="cmnlib_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x20556000" start_sector="132438"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib64.mbn" label="cmnlib64_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x205d6000" start_sector="132566"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="devcfg.mbn" label="devcfg_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x20656000" start_sector="132694"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="qupv3fw.elf" label="qupfw_b" num_partition_sectors="16" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="64.0" sparse="false" start_byte_hex="0x20676000" start_sector="132726"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="storsec.mbn" label="storsec_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x20686000" start_sector="132742"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="imagefv.elf" label="ImageFv_b" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x206a6000" start_sector="132774"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="sec.dat" label="sec" num_partition_sectors="4" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="16.0" sparse="false" start_byte_hex="0x207a6000" start_sector="133030"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="devinfo" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0x207aa000" start_sector="133034"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="dip" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x207ab000" start_sector="133035"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fdemeta" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x208ab000" start_sector="133291"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="apdp" num_partition_sectors="64" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="256.0" sparse="false" start_byte_hex="0x2092b000" start_sector="133419"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="msadp" num_partition_sectors="64" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="256.0" sparse="false" start_byte_hex="0x2096b000" start_sector="133483"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="spunvm" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x209ab000" start_sector="133547"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="splash" num_partition_sectors="8356" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="33424.0" sparse="false" start_byte_hex="0x211ab000" start_sector="135595"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="limits" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0x2324f000" start_sector="143951"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="toolsfv" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x23250000" start_sector="143952"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="logfs_ufs_8mb.bin" label="logfs" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x23350000" start_sector="144208"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="sti" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x23b50000" start_sector="146256"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="rawdump" num_partition_sectors="32768" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="131072.0" sparse="false" start_byte_hex="0x23d50000" start_sector="146768"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="logdump" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x2bd50000" start_sector="179536"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x2fd50000" start_sector="195920"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main4.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="4" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup4.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="4" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram5.xml b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram5.xml
new file mode 100644
index 0000000..ea653dd
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/rawprogram5.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ALIGN_TO_128K_2" num_partition_sectors="26" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="104.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst1" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x20000" start_sector="32"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst2" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x220000" start_sector="544"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fsg" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x420000" start_sector="1056"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fsc" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x620000" start_sector="1568"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ssd" num_partition_sectors="2" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="8.0" sparse="false" start_byte_hex="0x640000" start_sector="1600"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="misc" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x642000" start_sector="1602"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="keystore" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x742000" start_sector="1858"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="frp" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x7c2000" start_sector="1986"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x842000" start_sector="2114"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main5.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup5.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/sec.dat b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/sec.dat
new file mode 100644
index 0000000..2fdcb45
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/sec.dat
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/storsec.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/storsec.mbn
new file mode 100644
index 0000000..768f20c
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/storsec.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/tz.mbn b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/tz.mbn
new file mode 100644
index 0000000..55cdf8f
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/tz.mbn
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl.elf
new file mode 100644
index 0000000..edcad9a
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl_config.elf b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl_config.elf
new file mode 100644
index 0000000..c9e7408
--- /dev/null
+++ b/linaro_devices/qcom/db845c/dragonboard-845c-bootloader-ufs-aosp-88/xbl_config.elf
Binary files differ
diff --git a/linaro_devices/qcom/db845c/qdl/LICENSE.qdl b/linaro_devices/qcom/db845c/qdl/LICENSE.qdl
new file mode 100644
index 0000000..4004f3d
--- /dev/null
+++ b/linaro_devices/qcom/db845c/qdl/LICENSE.qdl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2016-2017, Linaro Ltd.
+ * Copyright (c) 2016, Bjorn Andersson <bjorn@kryo.se>
+ * 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 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.
+ */
diff --git a/linaro_devices/qcom/db845c/qdl/qdl b/linaro_devices/qcom/db845c/qdl/qdl
new file mode 100755
index 0000000..3eedf67
--- /dev/null
+++ b/linaro_devices/qcom/db845c/qdl/qdl
Binary files differ
diff --git a/linaro_devices/qcom/rb5/Android.mk b/linaro_devices/qcom/rb5/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/qcom/rb5/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/Android.mk b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/Android.mk
new file mode 100644
index 0000000..c8337ba
--- /dev/null
+++ b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/Android.mk
@@ -0,0 +1,5 @@
+LOCAL_PATH := $(call my-dir)
+
+include vendor/linaro_devices/common/CommonBuildMacros.mk
+
+$(call add-qcom-firmware, board.bin, bdwlan.e04, $(TARGET_OUT_VENDOR)/firmware/ath11k/QCA6390/hw2.0/, vendor/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/LICENSE.qcom.txt)
diff --git a/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/bdwlan.e04 b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/bdwlan.e04
new file mode 100644
index 0000000..fac5963
--- /dev/null
+++ b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/38-bdwlan_split/bdwlan.e04
Binary files differ
diff --git a/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/Android.mk b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/Android.mk
new file mode 100644
index 0000000..6f725c0
--- /dev/null
+++ b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+# If some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/LICENSE.qcom.txt b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/LICENSE.qcom.txt
new file mode 100644
index 0000000..6b9a0a2
--- /dev/null
+++ b/linaro_devices/qcom/rb5/RB5_firmware_20210331-v4/LICENSE.qcom.txt
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English..
\ No newline at end of file
diff --git a/linaro_devices/qcom/rb5/device.mk b/linaro_devices/qcom/rb5/device.mk
new file mode 100644
index 0000000..dbf7d97
--- /dev/null
+++ b/linaro_devices/qcom/rb5/device.mk
@@ -0,0 +1,63 @@
+# Lontium lt9611uxc
+PRODUCT_PACKAGES := \
+ lt9611uxc_fw.bin
+
+# WLAN
+PRODUCT_PACKAGES += \
+ amss.bin \
+ board.bin \
+ m3.bin
+
+# Bluetooth
+PRODUCT_PACKAGES += \
+ htbtfw20.tlv \
+ htnv20.bin
+
+# Adreno
+PRODUCT_PACKAGES += \
+ a650_gmu.bin \
+ a650_sqe.fw \
+ a650_zap.mbn
+
+# Venus and ADSP/CDSP firmware files have same STEM name
+# so PRODUCT_COPY_FILES then instead
+PRODUCT_COPY_FILES += \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/adsp.mbn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/sm8250/adsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/adspr.jsn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/sm8250/adspr.jsn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/adspua.jsn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/sm8250/adspua.jsn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/sm8250/cdsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/cdspr.jsn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/sm8250/cdspr.jsn \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b00:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b00 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b01:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b01 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b02:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b02 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b03:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b03 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b04:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b04 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b05:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b05 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b06:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b06 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b07:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b07 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b08:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b08 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b09:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b09 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b10:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b10 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b19:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.b19 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mbn:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mdt:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/vpu-1.0/venus.mdt
+
+# Also copy a set of Venus and ADSP/CDSP firmware files to ramdisk to drop the
+# dependency on user sysfs fw loader helper (FW_LOADER_USER_HELPER_FALLBACK)
+PRODUCT_COPY_FILES += \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/adsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/sm8250/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/cdsp.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b00:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b00 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b01:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b01 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b02:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b02 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b03:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b03 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b04:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b04 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b05:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b05 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b06:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b06 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b07:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b07 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b08:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b08 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b09:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b09 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b10:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b10 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.b19:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b19 \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mbn \
+ vendor/linaro_devices/common/linux-firmware/qcom/vpu-1.0/venus.mdt:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mdt
diff --git a/linaro_devices/qcom/rb5/qdl/LICENSE.qdl b/linaro_devices/qcom/rb5/qdl/LICENSE.qdl
new file mode 100644
index 0000000..4004f3d
--- /dev/null
+++ b/linaro_devices/qcom/rb5/qdl/LICENSE.qdl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2016-2017, Linaro Ltd.
+ * Copyright (c) 2016, Bjorn Andersson <bjorn@kryo.se>
+ * 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 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.
+ */
diff --git a/linaro_devices/qcom/rb5/qdl/qdl b/linaro_devices/qcom/rb5/qdl/qdl
new file mode 100755
index 0000000..fc45c0a
--- /dev/null
+++ b/linaro_devices/qcom/rb5/qdl/qdl
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/LICENSE b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/LICENSE
new file mode 100644
index 0000000..6b9a0a2
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/LICENSE
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English..
\ No newline at end of file
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/MD5SUMS.txt b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/MD5SUMS.txt
new file mode 100644
index 0000000..b8044ad
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/MD5SUMS.txt
@@ -0,0 +1,52 @@
+7ede1b0692abd48e0468615e5afaa981 abl.elf
+269902643091ab740bab845c09db6a40 aop.mbn
+21fe4f0eb68aa45c57ab85930dda1fa6 apdp.mbn
+b6d81b360a5672d80c27430f39153e2c boot-erase.img
+123c63fdb9f5f70671c49ccae8bbe9e7 cdt.bin
+bdd8e32ccfac703d18747ba277ce47ac cmnlib64.mbn
+d95347ba2a5e7373e44d708c8c85c87e cmnlib.mbn
+cde2a2dd4b83eecab92f9c9f3786b58e devcfg.mbn
+45cb353504ae1176d478b0fa22666965 dspso.bin
+8aff5a3fae2919ca4c0bcf20f5b68910 featenabler.mbn
+1404205e5a27b992d274924220fc7390 flashall
+dc7940b4824fe6db9be762396f4946c5 gpt_backup0.bin
+bc47055308ff748bab0d26c47b2a58b4 gpt_backup1.bin
+eaf5074b7c18f87da5d0607c4b97ade6 gpt_backup2.bin
+7cdb8725b34b4879d5d3107142a69e51 gpt_backup3.bin
+798f5243d9e024ce028d5ff472077c9d gpt_backup4.bin
+4b42d4b05134a2b5e05ad84e33b259c5 gpt_backup5.bin
+dc9bc82489cb97f3456ff9dec301dad2 gpt_both0.bin
+8a1630cee00c76a9b88cc6370670e704 gpt_both1.bin
+325046512057494cf8bb17e8aa4cf892 gpt_both2.bin
+94668691c13d7b84d82eda5b2055ed19 gpt_both3.bin
+c09e87564b79ff5fd7211b993a1795ef gpt_both4.bin
+667f4bc80babacd619fe86467de06d4d gpt_both5.bin
+fb5f3ec959762ce01f7c7e18da5c86d0 gpt_main0.bin
+242d88bf4d7d859f421d995263c64c6c gpt_main1.bin
+7c357db99919f1cf468ef286bf0f5c81 gpt_main2.bin
+a3304d0fd51be0fc287c3830f17a9aff gpt_main3.bin
+9a4cc5b1265d3eb0c06cf72314032a7c gpt_main4.bin
+ffde070b5ec0b7fe470e5292abf77b07 gpt_main5.bin
+6bcbfe1866a7fde271785744ac832796 hyp.mbn
+3c84eaaffd53577b9aaeedd10e8abb62 km4.mbn
+cbbe399f2c983ad51768f4561587f000 LICENSE
+4a9c85ffbb610f1e6b728e9919e23ff9 multi_image.mbn
+075cb8e1975d5a6380686a90e15da7fb patch0.xml
+0780990ee59934bdcaffc918cac99aed patch1.xml
+81036277fd056a16c0e418a756a5a835 patch2.xml
+491532d01cc4be1604e3d6784d6f4a13 patch3.xml
+353c75b108136948c60aed81024affa8 patch4.xml
+7b2a5b25f6c88f776422f65692607d95 patch5.xml
+4ea6f2187bce07cd3d1e02a70e3f83c3 prog_firehose_ddr.elf
+ce8ace958f7f5c0479a69c0dd331f30e qupv3fw.elf
+72c93f0eb7685f710262cc1a3aa85391 rawprogram0.xml
+078978d92fc3c2a0ad0744e5e905e806 rawprogram1.xml
+e829b09f11eeed7f44caca1b592c91bf rawprogram2.xml
+e6bc33009e6df9a3d3f0edd968dc742b rawprogram3.xml
+968badca129dbc54e197a49bbcc2fbca rawprogram4.xml
+4c872e64d5c1c0642e04075342883e5c rawprogram5.xml
+da53d17a35d3f0bbb2e6ec2ee7cc20e1 spunvm.bin
+dfb500dc0b15b035694dc1f664cd3968 tz.mbn
+363aeec966c040a50bb8f918de88c3f9 uefi_sec.mbn
+9fc1b09f5efb86f5c87a98860223c416 xbl_config.elf
+803e1f9fd99c91fd68935f398b5aed29 xbl.elf
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/abl.elf b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/abl.elf
new file mode 100644
index 0000000..be47edd
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/abl.elf
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/aop.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/aop.mbn
new file mode 100644
index 0000000..f6fc5a3
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/aop.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/apdp.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/apdp.mbn
new file mode 100644
index 0000000..9042418
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/apdp.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/boot-erase.img b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/boot-erase.img
new file mode 100644
index 0000000..9e0f96a
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/boot-erase.img
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cdt.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cdt.bin
new file mode 100644
index 0000000..a98a6a0
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cdt.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib.mbn
new file mode 100644
index 0000000..3b395f9
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib64.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib64.mbn
new file mode 100644
index 0000000..c582d2e
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/cmnlib64.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/devcfg.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/devcfg.mbn
new file mode 100644
index 0000000..c172a76
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/devcfg.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/dspso.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/dspso.bin
new file mode 100644
index 0000000..b63ece9
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/dspso.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/featenabler.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/featenabler.mbn
new file mode 100644
index 0000000..886afe7
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/featenabler.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/flashall b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/flashall
new file mode 100755
index 0000000..966d670
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/flashall
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+fastboot flash partition:0 gpt_both0.bin
+fastboot flash partition:1 gpt_both1.bin
+fastboot flash partition:2 gpt_both2.bin
+fastboot flash partition:3 gpt_both3.bin
+fastboot flash partition:4 gpt_both4.bin
+fastboot flash partition:5 gpt_both5.bin
+
+#fastboot flash ImageFv_a imagefv.elf
+fastboot flash aop_a aop.mbn
+fastboot flash apdp apdp.mbn
+#fastboot flash bluetooth_a BTFM.bin
+fastboot flash cmnlib64_a cmnlib64.mbn
+fastboot flash cmnlib_a cmnlib.mbn
+fastboot flash cdt cdt.bin
+fastboot erase ddr
+fastboot flash devcfg_a devcfg.mbn
+fastboot flash dsp_a dspso.bin
+fastboot flash featenabler_a featenabler.mbn
+fastboot flash hyp_a hyp.mbn
+fastboot flash keymaster_a km4.mbn
+#fastboot flash logfs logfs_ufs_8mb.bin
+#fastboot flash modem_a NON-HLOS.bin
+fastboot flash multiimgoem_a multi_image.mbn
+fastboot flash qupfw_a qupv3fw.elf
+fastboot flash spunvm spunvm.bin
+fastboot flash tz_a tz.mbn
+fastboot flash uefisecapp_a uefi_sec.mbn
+fastboot flash xbl_a xbl.elf
+fastboot flash xbl_config_a xbl_config.elf
+
+fastboot flash abl_a abl.elf
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup0.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup0.bin
new file mode 100644
index 0000000..662b237
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup0.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup1.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup1.bin
new file mode 100644
index 0000000..d87f52c
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup1.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup2.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup2.bin
new file mode 100644
index 0000000..9dd3e05
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup2.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup3.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup3.bin
new file mode 100644
index 0000000..bc892c0
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup3.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup4.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup4.bin
new file mode 100644
index 0000000..200fd16
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup4.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup5.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup5.bin
new file mode 100644
index 0000000..427e0a3
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_backup5.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both0.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both0.bin
new file mode 100644
index 0000000..f2377a2
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both0.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both1.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both1.bin
new file mode 100644
index 0000000..dc5479e
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both1.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both2.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both2.bin
new file mode 100644
index 0000000..f767d6a
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both2.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both3.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both3.bin
new file mode 100644
index 0000000..0731f80
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both3.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both4.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both4.bin
new file mode 100644
index 0000000..c3de65e
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both4.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both5.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both5.bin
new file mode 100644
index 0000000..72c1d2c
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_both5.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main0.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main0.bin
new file mode 100644
index 0000000..3813917
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main0.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main1.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main1.bin
new file mode 100644
index 0000000..cd02fc4
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main1.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main2.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main2.bin
new file mode 100644
index 0000000..ea6b01f
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main2.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main3.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main3.bin
new file mode 100644
index 0000000..2848c11
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main3.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main4.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main4.bin
new file mode 100644
index 0000000..ec75aa8
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main4.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main5.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main5.bin
new file mode 100644
index 0000000..08572d4
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/gpt_main5.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/hyp.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/hyp.mbn
new file mode 100644
index 0000000..8c9854c
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/hyp.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/km4.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/km4.mbn
new file mode 100644
index 0000000..23e5153
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/km4.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/multi_image.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/multi_image.mbn
new file mode 100644
index 0000000..1ab0654
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/multi_image.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch0.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch0.xml
new file mode 100644
index 0000000..20e4537
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch0.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'userdata' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'userdata' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'userdata' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 12 'userdata' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch1.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch1.xml
new file mode 100644
index 0000000..f22f118
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch1.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="1" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup1.bin" physical_partition_number="1" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="1" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch2.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch2.xml
new file mode 100644
index 0000000..3a21339
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="296" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 3 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="2" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup2.bin" physical_partition_number="2" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="2" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch3.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch3.xml
new file mode 100644
index 0000000..432fa22
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch3.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="552" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 5 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="552" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 5 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="552" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 5 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="552" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 5 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="3" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup3.bin" physical_partition_number="3" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="3" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch4.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch4.xml
new file mode 100644
index 0000000..8e55310
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch4.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="3624" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="3" value="NUM_DISK_SECTORS-6." what="Update last partition 61 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="3624" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="3" value="NUM_DISK_SECTORS-6." what="Update last partition 61 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="3624" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update last partition 61 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="3624" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-4." value="NUM_DISK_SECTORS-6." what="Update last partition 61 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="4" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(2,8192)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(2,8192)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="CRC32(0,8192)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,8192)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup4.bin" physical_partition_number="4" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="4" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch5.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch5.xml
new file mode 100644
index 0000000..cdd916f
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/patch5.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<patches>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
+ <!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="2" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'last_parti' with actual size in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="0" value="NUM_DISK_SECTORS-6." what="Update last partition 12 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="1448" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-5." value="NUM_DISK_SECTORS-6." what="Update last partition 12 'last_parti' with actual size in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-6." what="Update Primary Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="48" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-6." what="Update Backup Header with LastUseableLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="32" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="24" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="8" start_sector="4" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="72" filename="DISK" physical_partition_number="5" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-5." what="Update Backup Header with Partition Array Location."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(2,4096)" what="Update Primary Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="CRC32(0,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="88" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-5.,4096)" what="Update Backup Header with CRC of Partition Array."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_main5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="gpt_backup5.bin" physical_partition_number="5" size_in_bytes="4" start_sector="4" value="CRC32(4,92)" what="Update Backup Header with CRC of Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header."/>
+ <patch SECTOR_SIZE_IN_BYTES="4096" byte_offset="16" filename="DISK" physical_partition_number="5" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header."/>
+</patches>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/prog_firehose_ddr.elf b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/prog_firehose_ddr.elf
new file mode 100644
index 0000000..cfd509c
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/prog_firehose_ddr.elf
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/qupv3fw.elf b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/qupv3fw.elf
new file mode 100644
index 0000000..b484124
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/qupv3fw.elf
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram0.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram0.xml
new file mode 100644
index 0000000..cfa46b1
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram0.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="persist" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="misc" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x2006000" start_sector="8198"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="keystore" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x2106000" start_sector="8454"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="system_a" num_partition_sectors="1485448" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="5941792.0" sparse="false" start_byte_hex="0x2186000" start_sector="8582"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="system_b" num_partition_sectors="1485448" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="5941792.0" sparse="false" start_byte_hex="0x16cc0e000" start_sector="1494030"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vendor_boot_a" num_partition_sectors="32768" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="131072.0" sparse="false" start_byte_hex="0x2d7696000" start_sector="2979478"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vendor_boot_b" num_partition_sectors="32768" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="131072.0" sparse="false" start_byte_hex="0x2df696000" start_sector="3012246"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="super" num_partition_sectors="3036432" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="12145728.0" sparse="false" start_byte_hex="0x2e7696000" start_sector="3045014"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="systemrw" num_partition_sectors="4096" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="16384.0" sparse="false" start_byte_hex="0x5ccba6000" start_sector="6081446"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="cache" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x5cdba6000" start_sector="6085542"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="metadata" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x5d1ba6000" start_sector="6101926"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="userdata" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x5d5ba6000" start_sector="6118310"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main0.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="0" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup0.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="0" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram1.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram1.xml
new file mode 100644
index 0000000..1793287
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram1.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl.elf" label="xbl_a" num_partition_sectors="896" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="3584.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl_config.elf" label="xbl_config_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x386000" start_sector="902"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="1" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x3a6000" start_sector="934"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main1.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="1" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup1.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="1" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram2.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram2.xml
new file mode 100644
index 0000000..e8aa1b8
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram2.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl.elf" label="xbl_b" num_partition_sectors="896" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="3584.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="xbl_config.elf" label="xbl_config_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x386000" start_sector="902"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="2" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x3a6000" start_sector="934"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main2.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="2" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup2.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="2" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram3.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram3.xml
new file mode 100644
index 0000000..75a1d39
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram3.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ALIGN_TO_128K_1" num_partition_sectors="26" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="104.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cdt.bin" label="cdt" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x20000" start_sector="32"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ddr" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x40000" start_sector="64"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdmddr" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x240000" start_sector="576"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="3" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x340000" start_sector="832"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main3.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="3" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup3.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="3" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram4.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram4.xml
new file mode 100644
index 0000000..474113f
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram4.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="aop.mbn" label="aop_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="tz.mbn" label="tz_a" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x86000" start_sector="134"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="hyp.mbn" label="hyp_a" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x486000" start_sector="1158"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modem_a" num_partition_sectors="101120" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="404480.0" sparse="false" start_byte_hex="0xc86000" start_sector="3206"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="BTFM.bin" label="bluetooth_a" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x19786000" start_sector="104326"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtpsecapp_a" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x19886000" start_sector="104582"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtp_a" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x19c86000" start_sector="105606"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="abl.elf" label="abl_a" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x1bc86000" start_sector="113798"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="dspso.bin" label="dsp_a" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x1bd86000" start_sector="114054"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="km4.mbn" label="keymaster_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x1fd86000" start_sector="130438"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="boot_a" num_partition_sectors="24576" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="98304.0" sparse="false" start_byte_hex="0x1fe06000" start_sector="130566"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib.mbn" label="cmnlib_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x25e06000" start_sector="155142"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib64.mbn" label="cmnlib64_a" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x25e86000" start_sector="155270"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="devcfg.mbn" label="devcfg_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x25f06000" start_sector="155398"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="qupv3fw.elf" label="qupfw_a" num_partition_sectors="20" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="80.0" sparse="false" start_byte_hex="0x25f26000" start_sector="155430"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vbmeta_a" num_partition_sectors="16" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="64.0" sparse="false" start_byte_hex="0x25f3a000" start_sector="155450"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="dtbo_a" num_partition_sectors="6144" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="24576.0" sparse="false" start_byte_hex="0x25f4a000" start_sector="155466"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="uefi_sec.mbn" label="uefisecapp_a" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x2774a000" start_sector="161610"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="multi_image.mbn" label="multiimgoem_a" num_partition_sectors="8" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32.0" sparse="false" start_byte_hex="0x2794a000" start_sector="162122"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="multiimgqti_a" num_partition_sectors="8" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32.0" sparse="false" start_byte_hex="0x27952000" start_sector="162130"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vm-linux_a" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x2795a000" start_sector="162138"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="featenabler.mbn" label="featenabler_a" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x2995a000" start_sector="170330"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="imagefv.elf" label="imagefv_a" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x2997a000" start_sector="170362"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="aop.mbn" label="aop_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x29b7a000" start_sector="170874"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="tz.mbn" label="tz_b" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x29bfa000" start_sector="171002"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="hyp.mbn" label="hyp_b" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x29ffa000" start_sector="172026"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modem_b" num_partition_sectors="101120" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="404480.0" sparse="false" start_byte_hex="0x2a7fa000" start_sector="174074"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="BTFM.bin" label="bluetooth_b" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x432fa000" start_sector="275194"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtpsecapp_b" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x433fa000" start_sector="275450"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdtp_b" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x437fa000" start_sector="276474"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="abl.elf" label="abl_b" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x457fa000" start_sector="284666"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="dspso.bin" label="dsp_b" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x458fa000" start_sector="284922"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="km4.mbn" label="keymaster_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x498fa000" start_sector="301306"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="boot-erase.img" label="boot_b" num_partition_sectors="24576" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="98304.0" sparse="false" start_byte_hex="0x4997a000" start_sector="301434"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib.mbn" label="cmnlib_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x4f97a000" start_sector="326010"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="cmnlib64.mbn" label="cmnlib64_b" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x4f9fa000" start_sector="326138"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="devcfg.mbn" label="devcfg_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x4fa7a000" start_sector="326266"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="qupv3fw.elf" label="qupfw_b" num_partition_sectors="20" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="80.0" sparse="false" start_byte_hex="0x4fa9a000" start_sector="326298"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vbmeta_b" num_partition_sectors="16" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="64.0" sparse="false" start_byte_hex="0x4faae000" start_sector="326318"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="dtbo_b" num_partition_sectors="6144" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="24576.0" sparse="false" start_byte_hex="0x4fabe000" start_sector="326334"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="uefi_sec.mbn" label="uefisecapp_b" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x512be000" start_sector="332478"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="multi_image.mbn" label="multiimgoem_b" num_partition_sectors="8" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32.0" sparse="false" start_byte_hex="0x514be000" start_sector="332990"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="multiimgqti_b" num_partition_sectors="8" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32.0" sparse="false" start_byte_hex="0x514c6000" start_sector="332998"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vm-linux_b" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x514ce000" start_sector="333006"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="featenabler.mbn" label="featenabler_b" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x534ce000" start_sector="341198"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="imagefv.elf" label="imagefv_b" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x534ee000" start_sector="341230"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="devinfo" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0x536ee000" start_sector="341742"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="dip" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x536ef000" start_sector="341743"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="apdp.mbn" label="apdp" num_partition_sectors="64" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="256.0" sparse="false" start_byte_hex="0x537ef000" start_sector="341999"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="msadp" num_partition_sectors="64" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="256.0" sparse="false" start_byte_hex="0x5382f000" start_sector="342063"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="spunvm.bin" label="spunvm" num_partition_sectors="8192" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="32768.0" sparse="false" start_byte_hex="0x5386f000" start_sector="342127"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="limits" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0x5586f000" start_sector="350319"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="limits-cdsp" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0x55870000" start_sector="350320"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="logfs_ufs_8mb.bin" label="logfs" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x55871000" start_sector="350321"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="logdump" num_partition_sectors="16384" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x56071000" start_sector="352369"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="storsec" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x5a071000" start_sector="368753"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="uefivarstore" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0x5a091000" start_sector="368785"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="secdata" num_partition_sectors="7" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="28.0" sparse="false" start_byte_hex="0x5a111000" start_sector="368913"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vm-keystore" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x5a118000" start_sector="368920"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="vm-data" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x5a138000" start_sector="368952"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="4" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x5a538000" start_sector="369976"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main4.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="4" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup4.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="4" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram5.xml b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram5.xml
new file mode 100644
index 0000000..d1dedcc
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/rawprogram5.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" ?>
+<data>
+ <!--NOTE: This is an ** Autogenerated file **-->
+ <!--NOTE: Sector size is 4096bytes-->
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ALIGN_TO_128K_2" num_partition_sectors="26" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="104.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst1" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x20000" start_sector="32"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst2" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x220000" start_sector="544"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fsg" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x420000" start_sector="1056"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fsc" num_partition_sectors="32" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="128.0" sparse="false" start_byte_hex="0x620000" start_sector="1568"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdm1m9kefs3" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x640000" start_sector="1600"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdm1m9kefs1" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x840000" start_sector="2112"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdm1m9kefs2" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0xa40000" start_sector="2624"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="mdm1m9kefsc" num_partition_sectors="1" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="4.0" sparse="false" start_byte_hex="0xc40000" start_sector="3136"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="ssd" num_partition_sectors="2" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="8.0" sparse="false" start_byte_hex="0xc41000" start_sector="3137"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="frp" num_partition_sectors="128" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="512.0" sparse="false" start_byte_hex="0xc43000" start_sector="3139"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0xcc3000" start_sector="3267"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main5.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/>
+ <program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup5.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
+</data>
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/spunvm.bin b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/spunvm.bin
new file mode 100644
index 0000000..54b48b6
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/spunvm.bin
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/tz.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/tz.mbn
new file mode 100644
index 0000000..1f97ae4
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/tz.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/uefi_sec.mbn b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/uefi_sec.mbn
new file mode 100644
index 0000000..295dab4
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/uefi_sec.mbn
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl.elf b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl.elf
new file mode 100644
index 0000000..8e4c277
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl.elf
Binary files differ
diff --git a/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl_config.elf b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl_config.elf
new file mode 100644
index 0000000..90c2212
--- /dev/null
+++ b/linaro_devices/qcom/rb5/rb5-bootloader-ufs-aosp-19/xbl_config.elf
Binary files differ