diff mbox series

[SRU,PULL,linux-firmware,Focal] Update firmware for hwe/oem kernel migrations

Message ID 20221213130654.1726984-1-vicamo.yang@canonical.com
State New
Headers show
Series [SRU,PULL,linux-firmware,Focal] Update firmware for hwe/oem kernel migrations | expand

Commit Message

You-Sheng Yang Dec. 13, 2022, 1:06 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1999406

[Impact]

When migrating to a new hwe kernel or introduced a oem kernel of a
newer version, the firmware blobs might not match the expectation of
the new kernel. For example, a hwe-5.15 on Focal may include new
drivers that relies on firmware blobs that are only available in Jammy.

[Fix]

A previously obsoleted (and removed in Kinetic and Lunar) script
`list-lts-update-files` is used to enumerate firmware blobs to be
backported. It's retored and revised with additional support to
pick the right blobs especially in regard to ath and iwlwifi drivers.

On Focal, the commits in need are enumerated by:

  $ debian/scripts/list-lts-update-files focal jammy \
        ../jammy/debian.master/abi/fwinfo | \
        xargs git log --graph --oneline focal..jammy --
  * 36f2ea9f7 ath11k: WCN6855 hw2.0: add WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
  * 05b5dc001 ath11k: WCN6855 hw2.0: add board-2.bin and regdb.bin
  * 7a3005059 brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC
  * ad185afa1 cypress: update firmware for cyw4373 sdio
  * 77d3eb8ef cypress: update firmware for cyw43570 pcie
  * 92e9acdbd cypress: update firmware for cyw4356 sdio
  * 5f88084be cypress: update firmware for cyw4354 sdio
  * f97e31677 cypress: update firmware for cyw43455 sdio
  * 3df9ea0b9 cypress: update firmware for cyw43430 sdio
  * 6150015cf cypress: update firmware for cyw43012 sdio
  * 2548d065b brcm: Add nvram for the Chuwi Hi8 (CWI509) tablet
  * e45c137e7 brcm: Add nvram for the Predia Basic tablet
  * d52886242 brcm: Add NVRAM for Vamrs 96boards Rock960
  *   b503c9660 Merge branch 'ath10k-20201023' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware into main
  |\
  | * 34cb5fce2 ath11k: IPQ8074 hw2.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
  | * c0a8efd24 ath11k: IPQ8074 hw2.0: add board-2.bin
  | * ac7f5e93f ath11k: IPQ6018 hw1.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
  | * 2594e510a ath11k: IPQ6018 hw1.0: add board-2.bin
  * 04f71fe56 cypress: add Cypress firmware and clm_blob files

Commit 05b5dc001 and 36f2ea9f7 include updates to other existing files,
so they are dropped from this SRU. An additional commit that modifies
only WHENCE, commit 0b558e8a7, found when resolving conflicts, were also
added.

On Jammy,

  $ debian/scripts/list-lts-update-files jammy kinetic \
        ../kinetic/debian.master/abi/fwinfo | \
        xargs git log --graph --oneline jammy..kinetic --
  * 35f8de521 UBUNTU: Add pre-compiled echoaudio firmware
  * c954892f6 Add initial AzureWave AW-CM256SM NVRAM file
  * 86f0c5642 ath10k: WCN3990 hw1.0: add board-2.bin
  *   c3624ebd6 Merge branch 'ath10k-20220423' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware into main
  |\
  | * 1962cbab3 ath10k: QCA99X0 hw2.0: add board-2.bin
  | * 0d5e9f7e0 ath11k: WCN6750 hw1.0: add to WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1
  | * a50132f7f ath11k: WCN6750 hw1.0: add board-2.bin
  | * 97f8b7563 ath11k: QCN9074 hw1.0: add to WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
  | * f56505fe2 ath11k: QCN9074 hw1.0: add board-2.bin
  * | dfa3c4c30 qcom: add firmware files for Adreno a420 & related generations
  * | 4a43f1a84 qcom: add firmware files for Adreno a330
  * | ac21ab5d1 Mellanox: Add lc_ini_bundle for xx.2010.1006
  |/
  * 4ffcf980a brcm: rename Rock960 NVRAM to AP6356S and link devices to it

Commit 4ffcf980a involves rename existing files in WHENCE, so ignored.

While Jammy has 3 additional oem kernels, they were also tested:

  $ debian/scripts/list-lts-update-files jammy kinetic \
        ../oem-5.17/debian.oem/abi/fwinfo | \
        xargs git log --graph --oneline jammy..kinetic --
  (no new commits)

  $ debian/scripts/list-lts-update-files jammy lunar \
        ../oem-6.0/debian.oem/abi/fwinfo | \
        xargs git log --graph --oneline jammy..lunar --
  * 06dbfbc74 iwlwifi: add new FWs from core69-81 release

  $ debian/scripts/list-lts-update-files jammy lunar \
        ../oem-6.1/debian.oem/abi/fwinfo | \
        xargs git log --graph --oneline jammy..lunar --
  * 51fff4e69 i915: Add versionless HuC files for current platforms

On Lunar, while it's not an LTS series and there will not be any hwe/oem
kernel backported, the only change proposed is the script itself.

[Test Case]

To ensure no exiting bits being overwritten, the changes are reviewed
manually.

[Where problems could occur]

These firmware blobs are only referenced in the new hwe/oem kernels, and
shall not have side effect. On Focal and Jammy, while we have rolled out
oem and hwe kernels a long time ago, these changes will enable the
corresponding hardware that were meant to be enabled along with the
oem/hwe kernel migration at the time.

[Other Info]

While there is no hwe/oem kernel planned for Kinetic, and unlike the
devel series Lunar, adding this script to it is quite meaningless, so
it's not nominated for fix here.

----------------------------------------------------------------
The following changes since commit a262d7d39f2f4b1db67104f85586d28d0f55d87e:

  UBUNTU: Ubuntu-1.187.35 (2022-11-16 14:39:03 +0100)

are available in the Git repository at:

  https://git.launchpad.net/~vicamo/ubuntu/+source/linux-firmware bug-1999406/update-fw-for-hwe-kernels/focal

for you to fetch changes up to 22848e82dcf5d438d70738b5914fe71376e72598:

  brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC (2022-12-13 20:23:10 +0800)

----------------------------------------------------------------
Chi-Hsien Lin (8):
      cypress: add Cypress firmware and clm_blob files
      cypress: update firmware for cyw43012 sdio
      cypress: update firmware for cyw43430 sdio
      cypress: update firmware for cyw43455 sdio
      cypress: update firmware for cyw4354 sdio
      cypress: update firmware for cyw4356 sdio
      cypress: update firmware for cyw43570 pcie
      cypress: update firmware for cyw4373 sdio

Hans de Goede (3):
      brcm: Add nvram for the Predia Basic tablet
      brcm: Add nvram for the Chuwi Hi8 (CWI509) tablet
      brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC

Kalle Valo (4):
      ath11k: IPQ6018 hw1.0: add board-2.bin
      ath11k: IPQ6018 hw1.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
      ath11k: IPQ8074 hw2.0: add board-2.bin
      ath11k: IPQ8074 hw2.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2

Michel Piquemal (1):
      brcm: add missing symlink for Pi Zero W NVRAM file

Peter Robinson (1):
      brcm: Add NVRAM for Vamrs 96boards Rock960

You-Sheng Yang (vicamo) (1):
      UBUNTU: [Packaging] scripts: add back list-lts-update-files

 WHENCE                                   |  62 +++
 ath11k/IPQ6018/hw1.0/Notice.txt          | 786 +++++++++++++++++++++++++++++++
 ath11k/IPQ6018/hw1.0/board-2.bin         | Bin 0 -> 787208 bytes
 ath11k/IPQ6018/hw1.0/m3_fw.b00           | Bin 0 -> 148 bytes
 ath11k/IPQ6018/hw1.0/m3_fw.b01           | Bin 0 -> 6712 bytes
 ath11k/IPQ6018/hw1.0/m3_fw.b02           | Bin 0 -> 294912 bytes
 ath11k/IPQ6018/hw1.0/m3_fw.flist         |   3 +
 ath11k/IPQ6018/hw1.0/m3_fw.mdt           | Bin 0 -> 6860 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b00           | Bin 0 -> 340 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b01           | Bin 0 -> 7000 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b02           | Bin 0 -> 4696 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b03           | Bin 0 -> 2357712 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b04           | Bin 0 -> 370560 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b05           | Bin 0 -> 175588 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b07           | Bin 0 -> 8936 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.b08           | Bin 0 -> 409914 bytes
 ath11k/IPQ6018/hw1.0/q6_fw.flist         |   8 +
 ath11k/IPQ6018/hw1.0/q6_fw.mdt           | Bin 0 -> 7340 bytes
 ath11k/IPQ8074/hw2.0/Notice.txt          | 786 +++++++++++++++++++++++++++++++
 ath11k/IPQ8074/hw2.0/board-2.bin         | Bin 0 -> 1311380 bytes
 ath11k/IPQ8074/hw2.0/m3_fw.b00           | Bin 0 -> 148 bytes
 ath11k/IPQ8074/hw2.0/m3_fw.b01           | Bin 0 -> 136 bytes
 ath11k/IPQ8074/hw2.0/m3_fw.b02           | Bin 0 -> 327680 bytes
 ath11k/IPQ8074/hw2.0/m3_fw.flist         |   3 +
 ath11k/IPQ8074/hw2.0/m3_fw.mdt           | Bin 0 -> 284 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b00           | Bin 0 -> 340 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b01           | Bin 0 -> 328 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b02           | Bin 0 -> 4696 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b03           | Bin 0 -> 2589264 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b04           | Bin 0 -> 985504 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b05           | Bin 0 -> 387076 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b07           | Bin 0 -> 7048 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.b08           | Bin 0 -> 424524 bytes
 ath11k/IPQ8074/hw2.0/q6_fw.flist         |   8 +
 ath11k/IPQ8074/hw2.0/q6_fw.mdt           | Bin 0 -> 668 bytes
 brcm/brcmfmac43340-sdio.predia-basic.txt |  98 ++++
 brcm/brcmfmac43430a0-sdio.ilife-S806.txt |  47 ++
 brcm/brcmfmac43455-sdio.acepc-t8.txt     |  73 +++
 brcm/brcmfmac4356-sdio.vamrs,rock960.txt | 122 +++++
 cypress/cyfmac43012-sdio.bin             | Bin 0 -> 490686 bytes
 cypress/cyfmac43012-sdio.clm_blob        | Bin 0 -> 4692 bytes
 cypress/cyfmac43340-sdio.bin             | Bin 0 -> 402333 bytes
 cypress/cyfmac43362-sdio.bin             | Bin 0 -> 202623 bytes
 cypress/cyfmac4339-sdio.bin              | Bin 0 -> 574096 bytes
 cypress/cyfmac43430-sdio.bin             | Bin 0 -> 419798 bytes
 cypress/cyfmac43430-sdio.clm_blob        | Bin 0 -> 4733 bytes
 cypress/cyfmac43455-sdio.bin             | Bin 0 -> 643651 bytes
 cypress/cyfmac43455-sdio.clm_blob        | Bin 0 -> 4733 bytes
 cypress/cyfmac4354-sdio.bin              | Bin 0 -> 601704 bytes
 cypress/cyfmac4354-sdio.clm_blob         | Bin 0 -> 5750 bytes
 cypress/cyfmac4356-pcie.bin              | Bin 0 -> 616174 bytes
 cypress/cyfmac4356-pcie.clm_blob         | Bin 0 -> 5750 bytes
 cypress/cyfmac4356-sdio.bin              | Bin 0 -> 580258 bytes
 cypress/cyfmac4356-sdio.clm_blob         | Bin 0 -> 5750 bytes
 cypress/cyfmac43570-pcie.bin             | Bin 0 -> 558388 bytes
 cypress/cyfmac43570-pcie.clm_blob        | Bin 0 -> 5750 bytes
 cypress/cyfmac4373-sdio.bin              | Bin 0 -> 563834 bytes
 cypress/cyfmac4373-sdio.clm_blob         | Bin 0 -> 4684 bytes
 cypress/cyfmac54591-pcie.bin             | Bin 0 -> 616914 bytes
 cypress/cyfmac54591-pcie.clm_blob        | Bin 0 -> 5764 bytes
 debian/scripts/list-lts-update-files     | 191 +++++++-
 61 files changed, 2183 insertions(+), 4 deletions(-)
 create mode 100644 ath11k/IPQ6018/hw1.0/Notice.txt
 create mode 100644 ath11k/IPQ6018/hw1.0/board-2.bin
 create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b00
 create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b01
 create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b02
 create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.flist
 create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.mdt
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b00
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b01
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b02
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b03
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b04
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b05
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b07
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b08
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.flist
 create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.mdt
 create mode 100644 ath11k/IPQ8074/hw2.0/Notice.txt
 create mode 100644 ath11k/IPQ8074/hw2.0/board-2.bin
 create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b00
 create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b01
 create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b02
 create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.flist
 create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.mdt
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b00
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b01
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b02
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b03
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b04
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b05
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b07
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b08
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.flist
 create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.mdt
 create mode 100644 brcm/brcmfmac43340-sdio.predia-basic.txt
 create mode 100644 brcm/brcmfmac43430a0-sdio.ilife-S806.txt
 create mode 100644 brcm/brcmfmac43455-sdio.acepc-t8.txt
 create mode 100644 brcm/brcmfmac4356-sdio.vamrs,rock960.txt
 create mode 100644 cypress/cyfmac43012-sdio.bin
 create mode 100644 cypress/cyfmac43012-sdio.clm_blob
 create mode 100644 cypress/cyfmac43340-sdio.bin
 create mode 100644 cypress/cyfmac43362-sdio.bin
 create mode 100644 cypress/cyfmac4339-sdio.bin
 create mode 100644 cypress/cyfmac43430-sdio.bin
 create mode 100644 cypress/cyfmac43430-sdio.clm_blob
 create mode 100644 cypress/cyfmac43455-sdio.bin
 create mode 100644 cypress/cyfmac43455-sdio.clm_blob
 create mode 100644 cypress/cyfmac4354-sdio.bin
 create mode 100644 cypress/cyfmac4354-sdio.clm_blob
 create mode 100644 cypress/cyfmac4356-pcie.bin
 create mode 100644 cypress/cyfmac4356-pcie.clm_blob
 create mode 100644 cypress/cyfmac4356-sdio.bin
 create mode 100644 cypress/cyfmac4356-sdio.clm_blob
 create mode 100644 cypress/cyfmac43570-pcie.bin
 create mode 100644 cypress/cyfmac43570-pcie.clm_blob
 create mode 100644 cypress/cyfmac4373-sdio.bin
 create mode 100644 cypress/cyfmac4373-sdio.clm_blob
 create mode 100644 cypress/cyfmac54591-pcie.bin
 create mode 100644 cypress/cyfmac54591-pcie.clm_blob

Comments

Juerg Haefliger Jan. 16, 2023, 3:51 p.m. UTC | #1
Applied to linux-firmware focal branch.

Note that I fixed the subject of the first patch in the series and added some
details to the commit message.

...Juerg


On Tue, 13 Dec 2022 21:06:54 +0800
You-Sheng Yang <vicamo.yang@canonical.com> wrote:

> BugLink: https://bugs.launchpad.net/bugs/1999406
> 
> [Impact]
> 
> When migrating to a new hwe kernel or introduced a oem kernel of a
> newer version, the firmware blobs might not match the expectation of
> the new kernel. For example, a hwe-5.15 on Focal may include new
> drivers that relies on firmware blobs that are only available in Jammy.
> 
> [Fix]
> 
> A previously obsoleted (and removed in Kinetic and Lunar) script
> `list-lts-update-files` is used to enumerate firmware blobs to be
> backported. It's retored and revised with additional support to
> pick the right blobs especially in regard to ath and iwlwifi drivers.
> 
> On Focal, the commits in need are enumerated by:
> 
>   $ debian/scripts/list-lts-update-files focal jammy \
>         ../jammy/debian.master/abi/fwinfo | \
>         xargs git log --graph --oneline focal..jammy --
>   * 36f2ea9f7 ath11k: WCN6855 hw2.0: add WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
>   * 05b5dc001 ath11k: WCN6855 hw2.0: add board-2.bin and regdb.bin
>   * 7a3005059 brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC
>   * ad185afa1 cypress: update firmware for cyw4373 sdio
>   * 77d3eb8ef cypress: update firmware for cyw43570 pcie
>   * 92e9acdbd cypress: update firmware for cyw4356 sdio
>   * 5f88084be cypress: update firmware for cyw4354 sdio
>   * f97e31677 cypress: update firmware for cyw43455 sdio
>   * 3df9ea0b9 cypress: update firmware for cyw43430 sdio
>   * 6150015cf cypress: update firmware for cyw43012 sdio
>   * 2548d065b brcm: Add nvram for the Chuwi Hi8 (CWI509) tablet
>   * e45c137e7 brcm: Add nvram for the Predia Basic tablet
>   * d52886242 brcm: Add NVRAM for Vamrs 96boards Rock960
>   *   b503c9660 Merge branch 'ath10k-20201023' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware into main
>   |\
>   | * 34cb5fce2 ath11k: IPQ8074 hw2.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
>   | * c0a8efd24 ath11k: IPQ8074 hw2.0: add board-2.bin
>   | * ac7f5e93f ath11k: IPQ6018 hw1.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
>   | * 2594e510a ath11k: IPQ6018 hw1.0: add board-2.bin
>   * 04f71fe56 cypress: add Cypress firmware and clm_blob files
> 
> Commit 05b5dc001 and 36f2ea9f7 include updates to other existing files,
> so they are dropped from this SRU. An additional commit that modifies
> only WHENCE, commit 0b558e8a7, found when resolving conflicts, were also
> added.
> 
> On Jammy,
> 
>   $ debian/scripts/list-lts-update-files jammy kinetic \
>         ../kinetic/debian.master/abi/fwinfo | \
>         xargs git log --graph --oneline jammy..kinetic --
>   * 35f8de521 UBUNTU: Add pre-compiled echoaudio firmware
>   * c954892f6 Add initial AzureWave AW-CM256SM NVRAM file
>   * 86f0c5642 ath10k: WCN3990 hw1.0: add board-2.bin
>   *   c3624ebd6 Merge branch 'ath10k-20220423' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware into main
>   |\
>   | * 1962cbab3 ath10k: QCA99X0 hw2.0: add board-2.bin
>   | * 0d5e9f7e0 ath11k: WCN6750 hw1.0: add to WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1
>   | * a50132f7f ath11k: WCN6750 hw1.0: add board-2.bin
>   | * 97f8b7563 ath11k: QCN9074 hw1.0: add to WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
>   | * f56505fe2 ath11k: QCN9074 hw1.0: add board-2.bin
>   * | dfa3c4c30 qcom: add firmware files for Adreno a420 & related generations
>   * | 4a43f1a84 qcom: add firmware files for Adreno a330
>   * | ac21ab5d1 Mellanox: Add lc_ini_bundle for xx.2010.1006
>   |/
>   * 4ffcf980a brcm: rename Rock960 NVRAM to AP6356S and link devices to it
> 
> Commit 4ffcf980a involves rename existing files in WHENCE, so ignored.
> 
> While Jammy has 3 additional oem kernels, they were also tested:
> 
>   $ debian/scripts/list-lts-update-files jammy kinetic \
>         ../oem-5.17/debian.oem/abi/fwinfo | \
>         xargs git log --graph --oneline jammy..kinetic --
>   (no new commits)
> 
>   $ debian/scripts/list-lts-update-files jammy lunar \
>         ../oem-6.0/debian.oem/abi/fwinfo | \
>         xargs git log --graph --oneline jammy..lunar --
>   * 06dbfbc74 iwlwifi: add new FWs from core69-81 release
> 
>   $ debian/scripts/list-lts-update-files jammy lunar \
>         ../oem-6.1/debian.oem/abi/fwinfo | \
>         xargs git log --graph --oneline jammy..lunar --
>   * 51fff4e69 i915: Add versionless HuC files for current platforms
> 
> On Lunar, while it's not an LTS series and there will not be any hwe/oem
> kernel backported, the only change proposed is the script itself.
> 
> [Test Case]
> 
> To ensure no exiting bits being overwritten, the changes are reviewed
> manually.
> 
> [Where problems could occur]
> 
> These firmware blobs are only referenced in the new hwe/oem kernels, and
> shall not have side effect. On Focal and Jammy, while we have rolled out
> oem and hwe kernels a long time ago, these changes will enable the
> corresponding hardware that were meant to be enabled along with the
> oem/hwe kernel migration at the time.
> 
> [Other Info]
> 
> While there is no hwe/oem kernel planned for Kinetic, and unlike the
> devel series Lunar, adding this script to it is quite meaningless, so
> it's not nominated for fix here.
> 
> ----------------------------------------------------------------
> The following changes since commit a262d7d39f2f4b1db67104f85586d28d0f55d87e:
> 
>   UBUNTU: Ubuntu-1.187.35 (2022-11-16 14:39:03 +0100)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~vicamo/ubuntu/+source/linux-firmware bug-1999406/update-fw-for-hwe-kernels/focal
> 
> for you to fetch changes up to 22848e82dcf5d438d70738b5914fe71376e72598:
> 
>   brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC (2022-12-13 20:23:10 +0800)
> 
> ----------------------------------------------------------------
> Chi-Hsien Lin (8):
>       cypress: add Cypress firmware and clm_blob files
>       cypress: update firmware for cyw43012 sdio
>       cypress: update firmware for cyw43430 sdio
>       cypress: update firmware for cyw43455 sdio
>       cypress: update firmware for cyw4354 sdio
>       cypress: update firmware for cyw4356 sdio
>       cypress: update firmware for cyw43570 pcie
>       cypress: update firmware for cyw4373 sdio
> 
> Hans de Goede (3):
>       brcm: Add nvram for the Predia Basic tablet
>       brcm: Add nvram for the Chuwi Hi8 (CWI509) tablet
>       brcm: Add 43455 based AP6255 NVRAM for the ACEPC T8 Mini PC
> 
> Kalle Valo (4):
>       ath11k: IPQ6018 hw1.0: add board-2.bin
>       ath11k: IPQ6018 hw1.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
>       ath11k: IPQ8074 hw2.0: add board-2.bin
>       ath11k: IPQ8074 hw2.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
> 
> Michel Piquemal (1):
>       brcm: add missing symlink for Pi Zero W NVRAM file
> 
> Peter Robinson (1):
>       brcm: Add NVRAM for Vamrs 96boards Rock960
> 
> You-Sheng Yang (vicamo) (1):
>       UBUNTU: [Packaging] scripts: add back list-lts-update-files
> 
>  WHENCE                                   |  62 +++
>  ath11k/IPQ6018/hw1.0/Notice.txt          | 786 +++++++++++++++++++++++++++++++
>  ath11k/IPQ6018/hw1.0/board-2.bin         | Bin 0 -> 787208 bytes
>  ath11k/IPQ6018/hw1.0/m3_fw.b00           | Bin 0 -> 148 bytes
>  ath11k/IPQ6018/hw1.0/m3_fw.b01           | Bin 0 -> 6712 bytes
>  ath11k/IPQ6018/hw1.0/m3_fw.b02           | Bin 0 -> 294912 bytes
>  ath11k/IPQ6018/hw1.0/m3_fw.flist         |   3 +
>  ath11k/IPQ6018/hw1.0/m3_fw.mdt           | Bin 0 -> 6860 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b00           | Bin 0 -> 340 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b01           | Bin 0 -> 7000 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b02           | Bin 0 -> 4696 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b03           | Bin 0 -> 2357712 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b04           | Bin 0 -> 370560 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b05           | Bin 0 -> 175588 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b07           | Bin 0 -> 8936 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.b08           | Bin 0 -> 409914 bytes
>  ath11k/IPQ6018/hw1.0/q6_fw.flist         |   8 +
>  ath11k/IPQ6018/hw1.0/q6_fw.mdt           | Bin 0 -> 7340 bytes
>  ath11k/IPQ8074/hw2.0/Notice.txt          | 786 +++++++++++++++++++++++++++++++
>  ath11k/IPQ8074/hw2.0/board-2.bin         | Bin 0 -> 1311380 bytes
>  ath11k/IPQ8074/hw2.0/m3_fw.b00           | Bin 0 -> 148 bytes
>  ath11k/IPQ8074/hw2.0/m3_fw.b01           | Bin 0 -> 136 bytes
>  ath11k/IPQ8074/hw2.0/m3_fw.b02           | Bin 0 -> 327680 bytes
>  ath11k/IPQ8074/hw2.0/m3_fw.flist         |   3 +
>  ath11k/IPQ8074/hw2.0/m3_fw.mdt           | Bin 0 -> 284 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b00           | Bin 0 -> 340 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b01           | Bin 0 -> 328 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b02           | Bin 0 -> 4696 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b03           | Bin 0 -> 2589264 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b04           | Bin 0 -> 985504 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b05           | Bin 0 -> 387076 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b07           | Bin 0 -> 7048 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.b08           | Bin 0 -> 424524 bytes
>  ath11k/IPQ8074/hw2.0/q6_fw.flist         |   8 +
>  ath11k/IPQ8074/hw2.0/q6_fw.mdt           | Bin 0 -> 668 bytes
>  brcm/brcmfmac43340-sdio.predia-basic.txt |  98 ++++
>  brcm/brcmfmac43430a0-sdio.ilife-S806.txt |  47 ++
>  brcm/brcmfmac43455-sdio.acepc-t8.txt     |  73 +++
>  brcm/brcmfmac4356-sdio.vamrs,rock960.txt | 122 +++++
>  cypress/cyfmac43012-sdio.bin             | Bin 0 -> 490686 bytes
>  cypress/cyfmac43012-sdio.clm_blob        | Bin 0 -> 4692 bytes
>  cypress/cyfmac43340-sdio.bin             | Bin 0 -> 402333 bytes
>  cypress/cyfmac43362-sdio.bin             | Bin 0 -> 202623 bytes
>  cypress/cyfmac4339-sdio.bin              | Bin 0 -> 574096 bytes
>  cypress/cyfmac43430-sdio.bin             | Bin 0 -> 419798 bytes
>  cypress/cyfmac43430-sdio.clm_blob        | Bin 0 -> 4733 bytes
>  cypress/cyfmac43455-sdio.bin             | Bin 0 -> 643651 bytes
>  cypress/cyfmac43455-sdio.clm_blob        | Bin 0 -> 4733 bytes
>  cypress/cyfmac4354-sdio.bin              | Bin 0 -> 601704 bytes
>  cypress/cyfmac4354-sdio.clm_blob         | Bin 0 -> 5750 bytes
>  cypress/cyfmac4356-pcie.bin              | Bin 0 -> 616174 bytes
>  cypress/cyfmac4356-pcie.clm_blob         | Bin 0 -> 5750 bytes
>  cypress/cyfmac4356-sdio.bin              | Bin 0 -> 580258 bytes
>  cypress/cyfmac4356-sdio.clm_blob         | Bin 0 -> 5750 bytes
>  cypress/cyfmac43570-pcie.bin             | Bin 0 -> 558388 bytes
>  cypress/cyfmac43570-pcie.clm_blob        | Bin 0 -> 5750 bytes
>  cypress/cyfmac4373-sdio.bin              | Bin 0 -> 563834 bytes
>  cypress/cyfmac4373-sdio.clm_blob         | Bin 0 -> 4684 bytes
>  cypress/cyfmac54591-pcie.bin             | Bin 0 -> 616914 bytes
>  cypress/cyfmac54591-pcie.clm_blob        | Bin 0 -> 5764 bytes
>  debian/scripts/list-lts-update-files     | 191 +++++++-
>  61 files changed, 2183 insertions(+), 4 deletions(-)
>  create mode 100644 ath11k/IPQ6018/hw1.0/Notice.txt
>  create mode 100644 ath11k/IPQ6018/hw1.0/board-2.bin
>  create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b00
>  create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b01
>  create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.b02
>  create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.flist
>  create mode 100644 ath11k/IPQ6018/hw1.0/m3_fw.mdt
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b00
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b01
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b02
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b03
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b04
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b05
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b07
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.b08
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.flist
>  create mode 100644 ath11k/IPQ6018/hw1.0/q6_fw.mdt
>  create mode 100644 ath11k/IPQ8074/hw2.0/Notice.txt
>  create mode 100644 ath11k/IPQ8074/hw2.0/board-2.bin
>  create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b00
>  create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b01
>  create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.b02
>  create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.flist
>  create mode 100644 ath11k/IPQ8074/hw2.0/m3_fw.mdt
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b00
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b01
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b02
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b03
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b04
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b05
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b07
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.b08
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.flist
>  create mode 100644 ath11k/IPQ8074/hw2.0/q6_fw.mdt
>  create mode 100644 brcm/brcmfmac43340-sdio.predia-basic.txt
>  create mode 100644 brcm/brcmfmac43430a0-sdio.ilife-S806.txt
>  create mode 100644 brcm/brcmfmac43455-sdio.acepc-t8.txt
>  create mode 100644 brcm/brcmfmac4356-sdio.vamrs,rock960.txt
>  create mode 100644 cypress/cyfmac43012-sdio.bin
>  create mode 100644 cypress/cyfmac43012-sdio.clm_blob
>  create mode 100644 cypress/cyfmac43340-sdio.bin
>  create mode 100644 cypress/cyfmac43362-sdio.bin
>  create mode 100644 cypress/cyfmac4339-sdio.bin
>  create mode 100644 cypress/cyfmac43430-sdio.bin
>  create mode 100644 cypress/cyfmac43430-sdio.clm_blob
>  create mode 100644 cypress/cyfmac43455-sdio.bin
>  create mode 100644 cypress/cyfmac43455-sdio.clm_blob
>  create mode 100644 cypress/cyfmac4354-sdio.bin
>  create mode 100644 cypress/cyfmac4354-sdio.clm_blob
>  create mode 100644 cypress/cyfmac4356-pcie.bin
>  create mode 100644 cypress/cyfmac4356-pcie.clm_blob
>  create mode 100644 cypress/cyfmac4356-sdio.bin
>  create mode 100644 cypress/cyfmac4356-sdio.clm_blob
>  create mode 100644 cypress/cyfmac43570-pcie.bin
>  create mode 100644 cypress/cyfmac43570-pcie.clm_blob
>  create mode 100644 cypress/cyfmac4373-sdio.bin
>  create mode 100644 cypress/cyfmac4373-sdio.clm_blob
>  create mode 100644 cypress/cyfmac54591-pcie.bin
>  create mode 100644 cypress/cyfmac54591-pcie.clm_blob
>
diff mbox series

Patch

diff --git a/WHENCE b/WHENCE
index ed9e9044b..5bb7a2691 100644
--- a/WHENCE
+++ b/WHENCE
@@ -2684,24 +2684,50 @@  File: brcm/brcmfmac4354-sdio.bin
 File: brcm/brcmfmac4356-pcie.bin
 File: brcm/brcmfmac4373-sdio.bin
 File: brcm/brcmfmac4373.bin
+File: cypress/cyfmac43012-sdio.bin
+File: cypress/cyfmac43012-sdio.clm_blob
+File: cypress/cyfmac43340-sdio.bin
+File: cypress/cyfmac43362-sdio.bin
+File: cypress/cyfmac4339-sdio.bin
+File: cypress/cyfmac43430-sdio.bin
+File: cypress/cyfmac43430-sdio.clm_blob
+File: cypress/cyfmac43455-sdio.bin
+File: cypress/cyfmac43455-sdio.clm_blob
+File: cypress/cyfmac4354-sdio.bin
+File: cypress/cyfmac4354-sdio.clm_blob
+File: cypress/cyfmac4356-pcie.bin
+File: cypress/cyfmac4356-pcie.clm_blob
+File: cypress/cyfmac4356-sdio.bin
+File: cypress/cyfmac4356-sdio.clm_blob
+File: cypress/cyfmac43570-pcie.bin
+File: cypress/cyfmac43570-pcie.clm_blob
+File: cypress/cyfmac4373-sdio.bin
+File: cypress/cyfmac4373-sdio.clm_blob
+File: cypress/cyfmac54591-pcie.bin
+File: cypress/cyfmac54591-pcie.clm_blob
 
 Licence: Redistributable. See LICENCE.cypress for details.
 
 File: "brcm/brcmfmac4330-sdio.Prowise-PT301.txt"
 File: "brcm/brcmfmac43340-sdio.meegopad-t08.txt"
 File: "brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt"
+File: "brcm/brcmfmac43340-sdio.predia-basic.txt"
 File: "brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt"
 File: "brcm/brcmfmac43362-sdio.lemaker,bananapro.txt"
+File: "brcm/brcmfmac43430a0-sdio.ilife-S806.txt"
 File: "brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt"
 File: "brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt"
 File: "brcm/brcmfmac43430-sdio.AP6212.txt"
 File: "brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt"
 File: "brcm/brcmfmac43430-sdio.MUR1DX.txt"
 File: "brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt"
+Link: brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt -> brcmfmac43430-sdio.raspberrypi,3-model-b.txt
+File: "brcm/brcmfmac43455-sdio.acepc-t8.txt"
 File: "brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt"
 File: "brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt"
 File: "brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt"
 File: "brcm/brcmfmac4356-pcie.gpd-win-pocket.txt"
+File: brcm/brcmfmac4356-sdio.vamrs,rock960.txt
 
 Licence: GPLv2. See GPL-2 for details.
 
@@ -3265,6 +3291,42 @@  Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details
 
 Driver: ath11k - Qualcomm Technologies 802.11ax chipset support
 
+File: ath11k/IPQ6018/hw1.0/board-2.bin
+File: ath11k/IPQ6018/hw1.0/m3_fw.b00
+File: ath11k/IPQ6018/hw1.0/m3_fw.b01
+File: ath11k/IPQ6018/hw1.0/m3_fw.b02
+File: ath11k/IPQ6018/hw1.0/m3_fw.flist
+File: ath11k/IPQ6018/hw1.0/m3_fw.mdt
+File: ath11k/IPQ6018/hw1.0/q6_fw.b00
+File: ath11k/IPQ6018/hw1.0/q6_fw.b01
+File: ath11k/IPQ6018/hw1.0/q6_fw.b02
+File: ath11k/IPQ6018/hw1.0/q6_fw.b03
+File: ath11k/IPQ6018/hw1.0/q6_fw.b04
+File: ath11k/IPQ6018/hw1.0/q6_fw.b05
+File: ath11k/IPQ6018/hw1.0/q6_fw.b07
+File: ath11k/IPQ6018/hw1.0/q6_fw.b08
+File: ath11k/IPQ6018/hw1.0/q6_fw.flist
+File: ath11k/IPQ6018/hw1.0/q6_fw.mdt
+Version: WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
+Licence: ath11k/IPQ6018/hw1.0/Notice.txt
+File: ath11k/IPQ8074/hw2.0/board-2.bin
+File: ath11k/IPQ8074/hw2.0/m3_fw.b00
+File: ath11k/IPQ8074/hw2.0/m3_fw.b01
+File: ath11k/IPQ8074/hw2.0/m3_fw.b02
+File: ath11k/IPQ8074/hw2.0/m3_fw.flist
+File: ath11k/IPQ8074/hw2.0/m3_fw.mdt
+File: ath11k/IPQ8074/hw2.0/q6_fw.b00
+File: ath11k/IPQ8074/hw2.0/q6_fw.b01
+File: ath11k/IPQ8074/hw2.0/q6_fw.b02
+File: ath11k/IPQ8074/hw2.0/q6_fw.b03
+File: ath11k/IPQ8074/hw2.0/q6_fw.b04
+File: ath11k/IPQ8074/hw2.0/q6_fw.b05
+File: ath11k/IPQ8074/hw2.0/q6_fw.b07
+File: ath11k/IPQ8074/hw2.0/q6_fw.b08
+File: ath11k/IPQ8074/hw2.0/q6_fw.flist
+File: ath11k/IPQ8074/hw2.0/q6_fw.mdt
+Version: WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
+Licence: ath11k/IPQ8074/hw2.0/Notice.txt
 File: ath11k/QCA6390/hw2.0/board-2.bin
 File: ath11k/QCA6390/hw2.0/amss.bin
 File: ath11k/QCA6390/hw2.0/m3.bin
diff --git a/ath11k/IPQ6018/hw1.0/Notice.txt b/ath11k/IPQ6018/hw1.0/Notice.txt
new file mode 100644
index 000000000..1c77b82f5
--- /dev/null
+++ b/ath11k/IPQ6018/hw1.0/Notice.txt
@@ -0,0 +1,786 @@ 
+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.
+
+--------------------
+
+ /*                                                                              
+  * WPA definitions shared between hostapd and wpa_supplicant
+  * Copyright (c) 2002-2018, Jouni Malinen <j@w1.fi>
+  *         
+  * This software may be distributed under the terms of the BSD license.
+  * See README for more details.                  
+  */
+  
+--------------------
+
+ /* WPA/RSN - Shared functions for supplicant and authenticator
+  * EAP common peer/server definitions
+  * EAP peer state machines (RFC 4137)
+  * Copyright (c) 2002-2018, Jouni Malinen <j@w1.fi>
+  *        
+  * This software may be distributed under the terms of the BSD license.
+  * See README for more details.
+  */  
+
+--------------------
+
+/*
+ * Copyright (c) 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+ /*
+  * Copyright (c) 2008, Atheros Communications Inc.
+  *
+  * Copyright (c) 2011 Qualcomm Atheros, Inc.
+  * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms.
+  *
+  */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+ * Australian Public Licence B (OZPLB)
+ *
+ * Version 1-0
+ *
+ * Copyright (c) 2004, National ICT Australia
+ * Copyright (c) 2007, Open Kernel Labs, Inc.
+ *
+ * All rights reserved. 
+ *
+ * Developed by: Embedded, Real-time and Operating Systems Program (ERTOS)
+ *               National ICT Australia
+ *               http://www.ertos.nicta.com.au
+ *
+ * Permission is granted by National ICT Australia, free of charge, to
+ * any person obtaining a copy of this software and any associated
+ * documentation files (the "Software") to deal with the Software without
+ * restriction, including (without limitation) the rights to use, copy,
+ * modify, adapt, merge, publish, distribute, communicate to the public,
+ * sublicense, and/or sell, lend or rent out copies of the Software, and
+ * to permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimers.
+ *
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimers in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     * Neither the name of National ICT Australia, nor the names of its
+ *       contributors, may be used to endorse or promote products derived
+ *       from this Software without specific prior written permission.
+ *
+ * EXCEPT AS EXPRESSLY STATED IN THIS LICENCE AND TO THE FULL EXTENT
+ * PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS", AND
+ * NATIONAL ICT AUSTRALIA AND ITS CONTRIBUTORS MAKE NO REPRESENTATIONS,
+ * WARRANTIES OR CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS
+ * REGARDING THE CONTENTS OR ACCURACY OF THE SOFTWARE, OR OF TITLE,
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT,
+ * THE ABSENCE OF LATENT OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF
+ * ERRORS, WHETHER OR NOT DISCOVERABLE.
+ *
+ * TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
+ * NATIONAL ICT AUSTRALIA OR ITS CONTRIBUTORS BE LIABLE ON ANY LEGAL
+ * THEORY (INCLUDING, WITHOUT LIMITATION, IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHERWISE) FOR ANY CLAIM, LOSS, DAMAGES OR OTHER
+ * LIABILITY, INCLUDING (WITHOUT LIMITATION) LOSS OF PRODUCTION OR
+ * OPERATION TIME, LOSS, DAMAGE OR CORRUPTION OF DATA OR RECORDS; OR LOSS
+ * OF ANTICIPATED SAVINGS, OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR
+ * OTHER ECONOMIC LOSS; OR ANY SPECIAL, INCIDENTAL, INDIRECT,
+ * CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES, ARISING OUT OF OR IN
+ * CONNECTION WITH THIS LICENCE, THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS WITH THE SOFTWARE, EVEN IF NATIONAL ICT AUSTRALIA OR ITS
+ * CONTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH CLAIM, LOSS,
+ * DAMAGES OR OTHER LIABILITY.
+ *
+ * If applicable legislation implies representations, warranties, or
+ * conditions, or imposes obligations or liability on National ICT
+ * Australia or one of its contributors in respect of the Software that
+ * cannot be wholly or partly excluded, restricted or modified, the
+ * liability of National ICT Australia or the contributor is limited, to
+ * the full extent permitted by the applicable legislation, at its
+ * option, to:
+ * a.  in the case of goods, any one or more of the following:
+ * i.  the replacement of the goods or the supply of equivalent goods;
+ * ii.  the repair of the goods;
+ * iii. the payment of the cost of replacing the goods or of acquiring
+ *  equivalent goods;
+ * iv.  the payment of the cost of having the goods repaired; or
+ * b.  in the case of services:
+ * i.  the supplying of the services again; or
+ * ii.  the payment of the cost of having the services supplied again.
+ *
+ * The construction, validity and performance of this licence is governed
+ * by the laws in force in New South Wales, Australia.
+
+--------------------
+
+ * Copyright (c) 2002-2004, Karlsruhe University
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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.
+
+--------------------
+
+ /*                                                                              
+  *  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.                               
+  */    
+ 
+--------------------
+
+ * 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.
+
+--------------------
+
+ * 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.
+
+--------------------
+
+ * Copyright (c) 1982, 1986, 1990, 1991, 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. 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.
+
+--------------------
+
+# Copyright (c) 2012-2015 Qualcomm Atheros, 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.
+
+--------------------
+
+ * 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.
+
+--------------------
+
+/*	$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
+ */
+
+--------------------
+
+    // 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.
+
+--------------------
+
+ * Copyright (c) 1998, 2010 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.
+
+--------------------
+
+/*
+ * 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) 2004-2010, 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.
+**
+** This module is the Atheros specific ioctl/iwconfig/iwpriv interface
+** to the ATH object, normally instantiated as wifiX, where X is the
+** instance number (e.g. wifi0, wifi1).
+**
+** This provides a mechanism to configure the ATH object within the
+** Linux OS enviornment.  This file is OS specific.
+
+--------------------
+
+/*
+ * Copyright (c) 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ */
+
+/*
+ * 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.
+
+--------------------
+  
+  /*
+   * AES SIV (RFC 5297)
+   * Copyright (c) 2013 Cozybit, Inc.
+   *
+   * This software may be distributed under the terms of the BSD license.
+   */
+   
+--------------------
+
+ * Copyright 2018 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.
+
+--------------------
+
+/* ===== start - public domain SHA256 implementation ===== */
+
+/* This is based on SHA256 implementation in LibTomCrypt that was released into
+ * public domain by Tom St Denis. */
+
+--------------------
+
+// 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.
+//
+ 
+--------------------
diff --git a/ath11k/IPQ6018/hw1.0/board-2.bin b/ath11k/IPQ6018/hw1.0/board-2.bin
new file mode 100644
index 000000000..69795e8b1
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/board-2.bin differ
diff --git a/ath11k/IPQ6018/hw1.0/m3_fw.b00 b/ath11k/IPQ6018/hw1.0/m3_fw.b00
new file mode 100644
index 000000000..b000539b7
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/m3_fw.b00 differ
diff --git a/ath11k/IPQ6018/hw1.0/m3_fw.b01 b/ath11k/IPQ6018/hw1.0/m3_fw.b01
new file mode 100644
index 000000000..bab8a1af4
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/m3_fw.b01 differ
diff --git a/ath11k/IPQ6018/hw1.0/m3_fw.b02 b/ath11k/IPQ6018/hw1.0/m3_fw.b02
new file mode 100644
index 000000000..80a177e18
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/m3_fw.b02 differ
diff --git a/ath11k/IPQ6018/hw1.0/m3_fw.flist b/ath11k/IPQ6018/hw1.0/m3_fw.flist
new file mode 100644
index 000000000..887b0b821
--- /dev/null
+++ b/ath11k/IPQ6018/hw1.0/m3_fw.flist
@@ -0,0 +1,3 @@ 
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/m3_fw.b00
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/m3_fw.b01
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/m3_fw.b02
diff --git a/ath11k/IPQ6018/hw1.0/m3_fw.mdt b/ath11k/IPQ6018/hw1.0/m3_fw.mdt
new file mode 100644
index 000000000..aa6075b01
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/m3_fw.mdt differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b00 b/ath11k/IPQ6018/hw1.0/q6_fw.b00
new file mode 100644
index 000000000..3f984c4bc
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b00 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b01 b/ath11k/IPQ6018/hw1.0/q6_fw.b01
new file mode 100644
index 000000000..19b76db71
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b01 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b02 b/ath11k/IPQ6018/hw1.0/q6_fw.b02
new file mode 100644
index 000000000..b8bd3bb5e
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b02 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b03 b/ath11k/IPQ6018/hw1.0/q6_fw.b03
new file mode 100644
index 000000000..89ce82e20
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b03 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b04 b/ath11k/IPQ6018/hw1.0/q6_fw.b04
new file mode 100644
index 000000000..48bc6b0e8
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b04 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b05 b/ath11k/IPQ6018/hw1.0/q6_fw.b05
new file mode 100644
index 000000000..419e35f0f
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b05 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b07 b/ath11k/IPQ6018/hw1.0/q6_fw.b07
new file mode 100644
index 000000000..d91a573d6
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b07 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.b08 b/ath11k/IPQ6018/hw1.0/q6_fw.b08
new file mode 100644
index 000000000..6b0ab36e5
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.b08 differ
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.flist b/ath11k/IPQ6018/hw1.0/q6_fw.flist
new file mode 100644
index 000000000..1746604cb
--- /dev/null
+++ b/ath11k/IPQ6018/hw1.0/q6_fw.flist
@@ -0,0 +1,8 @@ 
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b00
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b01
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b02
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b03
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b04
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b05
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b07
+build/ms/bin/6018.wlanfw.eval/PIL_IMAGES/q6_fw.b08
diff --git a/ath11k/IPQ6018/hw1.0/q6_fw.mdt b/ath11k/IPQ6018/hw1.0/q6_fw.mdt
new file mode 100644
index 000000000..6b56d111f
Binary files /dev/null and b/ath11k/IPQ6018/hw1.0/q6_fw.mdt differ
diff --git a/ath11k/IPQ8074/hw2.0/Notice.txt b/ath11k/IPQ8074/hw2.0/Notice.txt
new file mode 100644
index 000000000..1c77b82f5
--- /dev/null
+++ b/ath11k/IPQ8074/hw2.0/Notice.txt
@@ -0,0 +1,786 @@ 
+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.
+
+--------------------
+
+ /*                                                                              
+  * WPA definitions shared between hostapd and wpa_supplicant
+  * Copyright (c) 2002-2018, Jouni Malinen <j@w1.fi>
+  *         
+  * This software may be distributed under the terms of the BSD license.
+  * See README for more details.                  
+  */
+  
+--------------------
+
+ /* WPA/RSN - Shared functions for supplicant and authenticator
+  * EAP common peer/server definitions
+  * EAP peer state machines (RFC 4137)
+  * Copyright (c) 2002-2018, Jouni Malinen <j@w1.fi>
+  *        
+  * This software may be distributed under the terms of the BSD license.
+  * See README for more details.
+  */  
+
+--------------------
+
+/*
+ * Copyright (c) 2011 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+ /*
+  * Copyright (c) 2008, Atheros Communications Inc.
+  *
+  * Copyright (c) 2011 Qualcomm Atheros, Inc.
+  * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms.
+  *
+  */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+/*
+ * 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.
+ */
+
+--------------------
+
+ * Australian Public Licence B (OZPLB)
+ *
+ * Version 1-0
+ *
+ * Copyright (c) 2004, National ICT Australia
+ * Copyright (c) 2007, Open Kernel Labs, Inc.
+ *
+ * All rights reserved. 
+ *
+ * Developed by: Embedded, Real-time and Operating Systems Program (ERTOS)
+ *               National ICT Australia
+ *               http://www.ertos.nicta.com.au
+ *
+ * Permission is granted by National ICT Australia, free of charge, to
+ * any person obtaining a copy of this software and any associated
+ * documentation files (the "Software") to deal with the Software without
+ * restriction, including (without limitation) the rights to use, copy,
+ * modify, adapt, merge, publish, distribute, communicate to the public,
+ * sublicense, and/or sell, lend or rent out copies of the Software, and
+ * to permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimers.
+ *
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimers in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     * Neither the name of National ICT Australia, nor the names of its
+ *       contributors, may be used to endorse or promote products derived
+ *       from this Software without specific prior written permission.
+ *
+ * EXCEPT AS EXPRESSLY STATED IN THIS LICENCE AND TO THE FULL EXTENT
+ * PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS", AND
+ * NATIONAL ICT AUSTRALIA AND ITS CONTRIBUTORS MAKE NO REPRESENTATIONS,
+ * WARRANTIES OR CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS
+ * REGARDING THE CONTENTS OR ACCURACY OF THE SOFTWARE, OR OF TITLE,
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT,
+ * THE ABSENCE OF LATENT OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF
+ * ERRORS, WHETHER OR NOT DISCOVERABLE.
+ *
+ * TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
+ * NATIONAL ICT AUSTRALIA OR ITS CONTRIBUTORS BE LIABLE ON ANY LEGAL
+ * THEORY (INCLUDING, WITHOUT LIMITATION, IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHERWISE) FOR ANY CLAIM, LOSS, DAMAGES OR OTHER
+ * LIABILITY, INCLUDING (WITHOUT LIMITATION) LOSS OF PRODUCTION OR
+ * OPERATION TIME, LOSS, DAMAGE OR CORRUPTION OF DATA OR RECORDS; OR LOSS
+ * OF ANTICIPATED SAVINGS, OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR
+ * OTHER ECONOMIC LOSS; OR ANY SPECIAL, INCIDENTAL, INDIRECT,
+ * CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES, ARISING OUT OF OR IN
+ * CONNECTION WITH THIS LICENCE, THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS WITH THE SOFTWARE, EVEN IF NATIONAL ICT AUSTRALIA OR ITS
+ * CONTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH CLAIM, LOSS,
+ * DAMAGES OR OTHER LIABILITY.
+ *
+ * If applicable legislation implies representations, warranties, or
+ * conditions, or imposes obligations or liability on National ICT
+ * Australia or one of its contributors in respect of the Software that
+ * cannot be wholly or partly excluded, restricted or modified, the
+ * liability of National ICT Australia or the contributor is limited, to
+ * the full extent permitted by the applicable legislation, at its
+ * option, to:
+ * a.  in the case of goods, any one or more of the following:
+ * i.  the replacement of the goods or the supply of equivalent goods;
+ * ii.  the repair of the goods;
+ * iii. the payment of the cost of replacing the goods or of acquiring
+ *  equivalent goods;
+ * iv.  the payment of the cost of having the goods repaired; or
+ * b.  in the case of services:
+ * i.  the supplying of the services again; or
+ * ii.  the payment of the cost of having the services supplied again.
+ *
+ * The construction, validity and performance of this licence is governed
+ * by the laws in force in New South Wales, Australia.
+
+--------------------
+
+ * Copyright (c) 2002-2004, Karlsruhe University
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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.
+
+--------------------
+
+ /*                                                                              
+  *  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.                               
+  */    
+ 
+--------------------
+
+ * 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.
+
+--------------------
+
+ * 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.
+
+--------------------
+
+ * Copyright (c) 1982, 1986, 1990, 1991, 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. 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.
+
+--------------------
+
+# Copyright (c) 2012-2015 Qualcomm Atheros, 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.
+
+--------------------
+
+ * 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.
+
+--------------------
+
+/*	$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
+ */
+
+--------------------
+
+    // 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.
+
+--------------------
+
+ * Copyright (c) 1998, 2010 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.
+
+--------------------
+
+/*
+ * 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) 2004-2010, 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.
+**
+** This module is the Atheros specific ioctl/iwconfig/iwpriv interface
+** to the ATH object, normally instantiated as wifiX, where X is the
+** instance number (e.g. wifi0, wifi1).
+**
+** This provides a mechanism to configure the ATH object within the
+** Linux OS enviornment.  This file is OS specific.
+
+--------------------
+
+/*
+ * Copyright (c) 2012 Qualcomm Atheros, Inc.
+ * All Rights Reserved.
+ * Qualcomm Atheros Confidential and Proprietary.
+ */
+
+/*
+ * 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.
+
+--------------------
+  
+  /*
+   * AES SIV (RFC 5297)
+   * Copyright (c) 2013 Cozybit, Inc.
+   *
+   * This software may be distributed under the terms of the BSD license.
+   */
+   
+--------------------
+
+ * Copyright 2018 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.
+
+--------------------
+
+/* ===== start - public domain SHA256 implementation ===== */
+
+/* This is based on SHA256 implementation in LibTomCrypt that was released into
+ * public domain by Tom St Denis. */
+
+--------------------
+
+// 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.
+//
+ 
+--------------------
diff --git a/ath11k/IPQ8074/hw2.0/board-2.bin b/ath11k/IPQ8074/hw2.0/board-2.bin
new file mode 100644
index 000000000..7310cb3f9
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/board-2.bin differ
diff --git a/ath11k/IPQ8074/hw2.0/m3_fw.b00 b/ath11k/IPQ8074/hw2.0/m3_fw.b00
new file mode 100644
index 000000000..27a76ace6
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/m3_fw.b00 differ
diff --git a/ath11k/IPQ8074/hw2.0/m3_fw.b01 b/ath11k/IPQ8074/hw2.0/m3_fw.b01
new file mode 100644
index 000000000..e3637941b
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/m3_fw.b01 differ
diff --git a/ath11k/IPQ8074/hw2.0/m3_fw.b02 b/ath11k/IPQ8074/hw2.0/m3_fw.b02
new file mode 100644
index 000000000..3ae568e65
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/m3_fw.b02 differ
diff --git a/ath11k/IPQ8074/hw2.0/m3_fw.flist b/ath11k/IPQ8074/hw2.0/m3_fw.flist
new file mode 100644
index 000000000..f03566eeb
--- /dev/null
+++ b/ath11k/IPQ8074/hw2.0/m3_fw.flist
@@ -0,0 +1,3 @@ 
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/m3_fw.b00
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/m3_fw.b01
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/m3_fw.b02
diff --git a/ath11k/IPQ8074/hw2.0/m3_fw.mdt b/ath11k/IPQ8074/hw2.0/m3_fw.mdt
new file mode 100644
index 000000000..c72228bea
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/m3_fw.mdt differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b00 b/ath11k/IPQ8074/hw2.0/q6_fw.b00
new file mode 100644
index 000000000..419716a89
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b00 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b01 b/ath11k/IPQ8074/hw2.0/q6_fw.b01
new file mode 100644
index 000000000..0e9d1ca97
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b01 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b02 b/ath11k/IPQ8074/hw2.0/q6_fw.b02
new file mode 100644
index 000000000..3c9d1e2e7
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b02 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b03 b/ath11k/IPQ8074/hw2.0/q6_fw.b03
new file mode 100644
index 000000000..1cdc88976
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b03 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b04 b/ath11k/IPQ8074/hw2.0/q6_fw.b04
new file mode 100644
index 000000000..2ae697fe3
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b04 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b05 b/ath11k/IPQ8074/hw2.0/q6_fw.b05
new file mode 100644
index 000000000..f430c6a1d
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b05 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b07 b/ath11k/IPQ8074/hw2.0/q6_fw.b07
new file mode 100644
index 000000000..35e941558
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b07 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.b08 b/ath11k/IPQ8074/hw2.0/q6_fw.b08
new file mode 100644
index 000000000..fbbf4cd36
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.b08 differ
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.flist b/ath11k/IPQ8074/hw2.0/q6_fw.flist
new file mode 100644
index 000000000..1fbcc2f31
--- /dev/null
+++ b/ath11k/IPQ8074/hw2.0/q6_fw.flist
@@ -0,0 +1,8 @@ 
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b00
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b01
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b02
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b03
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b04
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b05
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b07
+build/ms/bin/8074.wlanfw.eval_v2/PIL_IMAGES/q6_fw.b08
diff --git a/ath11k/IPQ8074/hw2.0/q6_fw.mdt b/ath11k/IPQ8074/hw2.0/q6_fw.mdt
new file mode 100644
index 000000000..5e6cf2431
Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.mdt differ
diff --git a/brcm/brcmfmac43340-sdio.predia-basic.txt b/brcm/brcmfmac43340-sdio.predia-basic.txt
new file mode 100644
index 000000000..c899475cc
--- /dev/null
+++ b/brcm/brcmfmac43340-sdio.predia-basic.txt
@@ -0,0 +1,98 @@ 
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6234 43340 WiFi/BT module found on the
+# Predia Basic tablet
+aa2g=1
+ag0=255
+boardflags=0x0090201
+boardnum=22
+boardrev=0x1203
+boardtype=0x0653
+btc_flags=71
+btc_params22=8000
+btc_params83=9000
+btc_params84=4500
+btc_params8=15000
+cck2gpo=0x2222 
+cckPwrOffset=3
+cckpapden=0
+ccode=X2
+dacrate2xen=1
+devid=0x4386
+dlocalidx5g=70
+dlorange_lowlimit=5
+gain=32
+gain_settle_dly_2g=4
+gain_settle_dly_5g=4
+iqcalidx5g=50
+iqlocalidx5g=40
+loflag=0
+lpbckmode5g=1 
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=76
+maxp5ga0=68
+maxp5gha0=68
+maxp5gla0=68
+mcs2gpo0=0x5555
+mcs2gpo1=0x5555
+mcs5ghpo0=0x7777
+mcs5ghpo1=0x7777
+mcs5glpo0=0x7777
+mcs5glpo1=0x7777
+mcs5gpo0=0x8888
+mcs5gpo1=0x8888
+nocrc=1
+noise_cal_high_gain_2g=73
+noise_cal_high_gain_5g=73
+noise_cal_nf_substract_val_2g=346
+noise_cal_nf_substract_val_5g=346
+noise_cal_po_2g=-1
+noise_cal_po_40_2g=-1
+noise_cal_po_40_5g=-1
+noise_cal_po_5g=-1
+ofdm2gpo=0x333333333
+ofdm5ghpo=0x66666666
+ofdm5glpo=0x66666666
+ofdm5gpo=0x66666666
+pa0b0=6957 default
+pa0b1=-808
+pa0b2=-178
+pa0itssit=0x20
+pa1b0=5372 
+pa1b1=-671
+pa1b2=-212
+pa1hib0=5620
+pa1hib1=-663
+pa1hib2=-179
+pa1lob0=5859
+pa1lob1=-693
+pa1lob2=-178
+papden2g=1
+papden5g=1
+prodid=0x0653
+rssisav2g=0x1
+rssisav5g=0x3
+rssismc2g=0x8
+rssismc5g=0x7
+rssismf2g=0xf
+rssismf5g=0xf
+rxpo5g=0
+sd_gpdc=0
+sd_gpout=4
+sd_gpval=1
+sromrev=3
+swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f
+swctrlmap_5g=0x00040004,0x00020002,0x00040004,0x011010,0x2fe
+triso2g=8
+triso5g=8
+tssifloor2g=69
+tssifloor5gh=74
+tssifloor5gl=77
+tssifloor5gm=77
+txalpfbyp=1
+txalpfpu=1
+txiqlopapu2g=0
+txiqlopapu5g=0
+vendid=0x14e4
+xtalfreq=37400
diff --git a/brcm/brcmfmac43430a0-sdio.ilife-S806.txt b/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
new file mode 100644
index 000000000..c0ec87375
--- /dev/null
+++ b/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
@@ -0,0 +1,47 @@ 
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the 43430a0 WiFi/BT chip found on the Chuwi Hi8 tablet
+aa2g=1
+ag0=255
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1101
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0
+cckpwroffset0=5
+ccode=X2
+# cldo_pwm is not set
+deadman_to=0xffffffff
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x66111111
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=90
+mcsbw202gpo=0x77711111
+muxenab=0x1
+nocrc=1
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+pa0itssit=0x20
+pa2ga0=-168,7161,-820
+# pacalidx2g is not set
+# papdendidx is not set
+# papdepsoffset is not set
+papdmode=1
+# papdvalidtest is not set
+prodid=0x0726
+# propbw202gpois not set
+sd_gpdc=0
+sd_gpout=0
+sd_gpval=1
+# spurconfig is not set
+sromrev=11
+txpwrbckof=6
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/brcm/brcmfmac43455-sdio.acepc-t8.txt b/brcm/brcmfmac43455-sdio.acepc-t8.txt
new file mode 100644
index 000000000..869831651
--- /dev/null
+++ b/brcm/brcmfmac43455-sdio.acepc-t8.txt
@@ -0,0 +1,73 @@ 
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6255 43455 WiFi/BT module found on the
+# ACEPC T8 (aka W8 pro) and the T11, as well as for the Cyberbook T116 tablet
+AvVmid_c0=0,157,1,126,1,126,1,126,1,126
+aa2g=1
+aa5g=1
+boardflags2=0x40000000
+boardflags3=0x48200100
+boardflags=0x00080201
+boardrev=0x1304
+boardtype=0x6e4
+ccode=X2
+deadman_to=481500000
+devid=0x43ab
+dot11agofdmhrbw202gpo=0x1553
+ed_thresh2g=-54
+ed_thresh5g=-54
+extpagain2g=2
+extpagain5g=2
+femctrl=0
+itrsw=1
+ltecxfnsel=0x22
+ltecxgcigpio=0x32
+ltecxmux=0
+ltecxpadnum=0x0504
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=64
+maxp5ga0=80,82,76,77
+mcsbw202gpo=0x99355533
+mcsbw205ghpo=0x99855000
+mcsbw205glpo=0x99755000
+mcsbw205gmpo=0x9df55000
+mcsbw405ghpo=0xd9755000
+mcsbw405glpo=0xb8555000
+mcsbw405gmpo=0xed955000
+mcsbw805ghpo=0xd9555000
+mcsbw805glpo=0xc8555000
+mcsbw805gmpo=0xe9555000
+nocrc=1
+ofdmlrbw202gpo=0x0033
+pa2ga0=-112,6296,-662
+pa2ga1=-165,3699,-515
+pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670
+pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498
+pdoffset2g40ma0=10
+pdoffset40ma0=0xaaaa
+pdoffset80ma0=0xaaaa
+prodid=0x06e4
+regrev=1
+rxchain=1
+rxgains2gelnagaina0=0
+rxgains2gtrelnabypa0=0
+rxgains2gtrisoa0=0
+rxgains5gelnagaina0=0
+rxgains5gtrelnabypa0=0
+rxgains5gtrisoa0=0
+sd_gpout=0
+sd_gpval=0
+sromrev=11
+swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff
+swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+tssipos2g=1
+tssipos5g=1
+tworangetssi2g=1
+tworangetssi5g=1
+txchain=1
+vcodivmode=1
+vendid=0x14e4
+xtalfreq=37400
diff --git a/brcm/brcmfmac4356-sdio.vamrs,rock960.txt b/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
new file mode 100644
index 000000000..4b38c26e4
--- /dev/null
+++ b/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
@@ -0,0 +1,122 @@ 
+aa2g=3
+aa5g=3
+aga0=2
+aga1=2
+agbg0=2
+agbg1=2
+antswitch=0
+boardflags=0x02400201
+boardflags2=0x00802000
+boardflags3=0x0000010a
+boardrev=0x1121
+boardtype=0x073e
+cckbw202gpo=0x1222
+cckbw20ul2gpo=0x0000
+ccode=0x5855
+devid=0x43a3
+dot11agduphrpo=0x0
+dot11agduplrpo=0x0
+dot11agofdmhrbw202gpo=0x4444
+extpagain2g=2
+extpagain5g=2
+femctrl=10
+macaddr=00:90:4c:1a:10:01
+manfid=0x2d0
+maxp2ga0=72
+maxp2ga1=71
+maxp5ga0=69,70,69,68
+maxp5ga1=67,67,67,67
+mcsbw202gpo=0x9E644422
+mcsbw205ghpo=0xCC986663
+mcsbw205glpo=0xEEA86661
+mcsbw205gmpo=0xAAA86663
+mcsbw402gpo=0xE9744424
+mcsbw405ghpo=0xEEA86663
+mcsbw405glpo=0xEEB86663
+mcsbw405gmpo=0xECB86663
+mcsbw805ghpo=0xEEA86663
+mcsbw805glpo=0xEEB86663
+mcsbw805gmpo=0xEEA86663
+mcslr5ghpo=0x0000
+mcslr5glpo=0x0000
+mcslr5gmpo=0x0000
+muxenab=0x10
+nocrc=1
+ofdmlrbw202gpo=0x0022
+otpimagesize=502
+pa2ga0=-135,5769,-647
+pa2ga1=-143,6023,-677
+pa5ga0=-183,5746,-697,-172,5801,-685,-176,5707,-680,-180,5445,-659
+pa5ga1=-186,5543,-669,-193,5506,-675,-210,5282,-661,-199,5367,-665
+paprdis=0
+pdgain2g=4
+pdgain5g=4
+pdoffset40ma0=0x0000
+pdoffset40ma1=0x0000
+pdoffset80ma0=0x0000
+pdoffset80ma1=0x0000
+pdoffsetcckma0=0x4
+pdoffsetcckma1=0x4
+phycal_tempdelta=255
+rawtempsense=0x1ff
+regrev=1
+rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
+rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
+rssicorrnorm_c0=4,4
+rssicorrnorm_c1=4,4
+rxchain=3
+rxgains2gelnagaina0=0
+rxgains2gelnagaina1=0
+rxgains2gtrelnabypa0=0
+rxgains2gtrelnabypa1=0
+rxgains2gtrisoa0=7
+rxgains2gtrisoa1=7
+rxgains5gelnagaina0=0
+rxgains5gelnagaina1=0
+rxgains5ghelnagaina0=0
+rxgains5ghelnagaina1=0
+rxgains5ghtrelnabypa0=0
+rxgains5ghtrelnabypa1=0
+rxgains5ghtrisoa0=12
+rxgains5ghtrisoa1=11
+rxgains5gmelnagaina0=0
+rxgains5gmelnagaina1=0
+rxgains5gmtrelnabypa0=0
+rxgains5gmtrelnabypa1=0
+rxgains5gmtrisoa0=13
+rxgains5gmtrisoa1=11
+rxgains5gtrelnabypa0=0
+rxgains5gtrelnabypa1=0
+rxgains5gtrisoa0=11
+rxgains5gtrisoa1=10
+sb20in40hrpo=0x0
+sb20in40lrpo=0x0
+sb20in80and160hr5ghpo=0x0
+sb20in80and160hr5glpo=0x0
+sb20in80and160hr5gmpo=0x0
+sb20in80and160lr5ghpo=0x0
+sb20in80and160lr5glpo=0x0
+sb20in80and160lr5gmpo=0x0
+sb40and80hr5ghpo=0x0
+sb40and80hr5glpo=0x0
+sb40and80hr5gmpo=0x0
+sb40and80lr5ghpo=0x0
+sb40and80lr5glpo=0x0
+sb40and80lr5gmpo=0x0
+sromrev=11
+subband5gver=0x4
+swctrlmap_2g=0x00001040,0x00004010,0x00004010,0x200010,0xff
+swctrlmap_5g=0x00000202,0x00000101,0x00000101,0x000000,0x47
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+tempoffset=255
+temps_hysteresis=15
+temps_period=15
+tempthresh=255
+tssipos2g=1
+tssipos5g=1
+tworangetssi2g=0
+tworangetssi5g=0
+txchain=3
+vendid=0x14e4
+xtalfreq=37400
diff --git a/cypress/cyfmac43012-sdio.bin b/cypress/cyfmac43012-sdio.bin
new file mode 100644
index 000000000..7a78e15cb
Binary files /dev/null and b/cypress/cyfmac43012-sdio.bin differ
diff --git a/cypress/cyfmac43012-sdio.clm_blob b/cypress/cyfmac43012-sdio.clm_blob
new file mode 100644
index 000000000..59f09f6a7
Binary files /dev/null and b/cypress/cyfmac43012-sdio.clm_blob differ
diff --git a/cypress/cyfmac43340-sdio.bin b/cypress/cyfmac43340-sdio.bin
new file mode 100644
index 000000000..f9aba08c9
Binary files /dev/null and b/cypress/cyfmac43340-sdio.bin differ
diff --git a/cypress/cyfmac43362-sdio.bin b/cypress/cyfmac43362-sdio.bin
new file mode 100644
index 000000000..51d64d63e
Binary files /dev/null and b/cypress/cyfmac43362-sdio.bin differ
diff --git a/cypress/cyfmac4339-sdio.bin b/cypress/cyfmac4339-sdio.bin
new file mode 100644
index 000000000..43e86ca2e
Binary files /dev/null and b/cypress/cyfmac4339-sdio.bin differ
diff --git a/cypress/cyfmac43430-sdio.bin b/cypress/cyfmac43430-sdio.bin
new file mode 100644
index 000000000..f3043f859
Binary files /dev/null and b/cypress/cyfmac43430-sdio.bin differ
diff --git a/cypress/cyfmac43430-sdio.clm_blob b/cypress/cyfmac43430-sdio.clm_blob
new file mode 100644
index 000000000..d93449f28
Binary files /dev/null and b/cypress/cyfmac43430-sdio.clm_blob differ
diff --git a/cypress/cyfmac43455-sdio.bin b/cypress/cyfmac43455-sdio.bin
new file mode 100644
index 000000000..2b241ea0b
Binary files /dev/null and b/cypress/cyfmac43455-sdio.bin differ
diff --git a/cypress/cyfmac43455-sdio.clm_blob b/cypress/cyfmac43455-sdio.clm_blob
new file mode 100644
index 000000000..4cf6d315f
Binary files /dev/null and b/cypress/cyfmac43455-sdio.clm_blob differ
diff --git a/cypress/cyfmac4354-sdio.bin b/cypress/cyfmac4354-sdio.bin
new file mode 100644
index 000000000..1e123ba6c
Binary files /dev/null and b/cypress/cyfmac4354-sdio.bin differ
diff --git a/cypress/cyfmac4354-sdio.clm_blob b/cypress/cyfmac4354-sdio.clm_blob
new file mode 100644
index 000000000..86d66e367
Binary files /dev/null and b/cypress/cyfmac4354-sdio.clm_blob differ
diff --git a/cypress/cyfmac4356-pcie.bin b/cypress/cyfmac4356-pcie.bin
new file mode 100644
index 000000000..8904edc24
Binary files /dev/null and b/cypress/cyfmac4356-pcie.bin differ
diff --git a/cypress/cyfmac4356-pcie.clm_blob b/cypress/cyfmac4356-pcie.clm_blob
new file mode 100644
index 000000000..c6ff1701f
Binary files /dev/null and b/cypress/cyfmac4356-pcie.clm_blob differ
diff --git a/cypress/cyfmac4356-sdio.bin b/cypress/cyfmac4356-sdio.bin
new file mode 100644
index 000000000..63896b607
Binary files /dev/null and b/cypress/cyfmac4356-sdio.bin differ
diff --git a/cypress/cyfmac4356-sdio.clm_blob b/cypress/cyfmac4356-sdio.clm_blob
new file mode 100644
index 000000000..35ce3751b
Binary files /dev/null and b/cypress/cyfmac4356-sdio.clm_blob differ
diff --git a/cypress/cyfmac43570-pcie.bin b/cypress/cyfmac43570-pcie.bin
new file mode 100644
index 000000000..97898b548
Binary files /dev/null and b/cypress/cyfmac43570-pcie.bin differ
diff --git a/cypress/cyfmac43570-pcie.clm_blob b/cypress/cyfmac43570-pcie.clm_blob
new file mode 100644
index 000000000..f14fd9244
Binary files /dev/null and b/cypress/cyfmac43570-pcie.clm_blob differ
diff --git a/cypress/cyfmac4373-sdio.bin b/cypress/cyfmac4373-sdio.bin
new file mode 100644
index 000000000..00ecde003
Binary files /dev/null and b/cypress/cyfmac4373-sdio.bin differ
diff --git a/cypress/cyfmac4373-sdio.clm_blob b/cypress/cyfmac4373-sdio.clm_blob
new file mode 100644
index 000000000..9d0299772
Binary files /dev/null and b/cypress/cyfmac4373-sdio.clm_blob differ
diff --git a/cypress/cyfmac54591-pcie.bin b/cypress/cyfmac54591-pcie.bin
new file mode 100644
index 000000000..10a2a837c
Binary files /dev/null and b/cypress/cyfmac54591-pcie.bin differ
diff --git a/cypress/cyfmac54591-pcie.clm_blob b/cypress/cyfmac54591-pcie.clm_blob
new file mode 100644
index 000000000..de4d343de
Binary files /dev/null and b/cypress/cyfmac54591-pcie.clm_blob differ
diff --git a/debian/scripts/list-lts-update-files b/debian/scripts/list-lts-update-files
index e381f83f2..46fa3dfff 100755
--- a/debian/scripts/list-lts-update-files
+++ b/debian/scripts/list-lts-update-files
@@ -5,7 +5,7 @@ 
 # get a list of files for trusty to support the linux-lts-xenial
 # kernel run:
 #
-#  debian/list-lts-update-files trusty xenial /path/to/xenial/fwinfo
+#  debian/scripts/list-lts-update-files [--dump-filtered] trusty xenial /path/to/xenial/fwinfo
 #
 # This will generate a list of files that satisfy all of these
 # conditions:
@@ -20,8 +20,19 @@ 
 # The fwinfo file can be omitted, in which case the output is a list
 # of firmware files in @newbranch but not in @oldbranch.
 
+#set -ex
+
+dump_filtered=
+if [ $# -ge 1 ]; then
+	case "$1" in
+	--dump-filtered)
+		dump_filtered=1; shift;;
+	*) ;;
+	esac
+fi
+
 if [ $# -lt 2 ]; then
-	echo "Usage $0 <oldbranch> <newbranch> [<fwinfo>]"
+	echo "Usage $0 [--dump-filtered] <oldbranch> <newbranch> [<fwinfo>]"
 	exit 1
 fi
 
@@ -36,6 +47,26 @@  function cleanup {
 }
 trap cleanup EXIT
 
+function normalize_link {
+	# handle relative paths: a/b/c/../../d/e -> a/d/e
+	local s="$1"
+	s="${s#./}"
+	while true; do
+		case "$s" in
+		*/../*)
+			s=$(echo "$s" | sed 's,[^/]\+/../,,')
+			;;
+		*)
+			break ;;
+		esac
+	done
+	echo "$s"
+}
+
+function grep_links {
+	grep ^WHENCE "$1" | sed "s,^,$2:," | xargs git show | grep ^Link:
+}
+
 if ! git ls-tree -r --name-only "$OLDBRANCH" >"$TMPDIR/files.tmp"
 then
 	exit 1
@@ -61,5 +92,157 @@  then
 	echo "Invliad fwinfo file $FWINFO"
 	exit 1
 fi
-cat "$FWINFO" | sed 's/firmware: \+//' | sort >"$TMPDIR/fwinfo-files"
-comm -12 "$TMPDIR/new-files" "$TMPDIR/fwinfo-files"
+
+declare -A oldbranch_files
+while read of; do
+	oldbranch_files["$of"]="old"
+done < "$TMPDIR/oldbranch-files"
+
+while read dc1 ol dc2 of; do
+	if [ -z "${oldbranch_files[$ol]:-}" ]; then
+		oldbranch_files["$ol"]="link"
+	fi
+done < <(grep_links "$TMPDIR/oldbranch-files" "$OLDBRANCH")
+
+declare -A new_files
+while read nf; do
+	if [ -n "${oldbranch_files["$nf"]:-}" ]; then
+		# new file but matches a previous link
+		new_files["$nf"]="duplicated"
+	elif [ -n "$(git log "$OLDBRANCH" -1 -- "$nf")" ]; then
+		new_files["$nf"]="deleted"
+	else
+		new_files["$nf"]="unused"
+	fi
+done < "$TMPDIR/new-files"
+
+declare -A newlink_files
+while read dc1 nl dc2 nf; do
+
+	nf="$(normalize_link "$(dirname "$nl")/$nf")"
+	newlink_files["$nl"]="$nf"
+done < <(grep_links "$TMPDIR/newbranch-files" "$NEWBRANCH")
+
+function check_duplicated {
+	if [ -n "${oldbranch_files["$1"]:-}" ]; then
+		return 0
+	fi
+
+	if [ -n "${newlink_files["$1"]:-}" ]; then
+		if check_duplicated "${newlink_files["$1"]}"; then
+			return 0
+		fi
+	fi
+
+	return 1
+}
+
+function mark_if_unused {
+	if [ -n "${new_files["$1"]:-}" ]; then
+		if [ "${new_files["$1"]}" = "unused" ]; then
+			new_files["$1"]="$2"
+		fi
+
+		return 0
+	fi
+
+	if [ -n "${newlink_files["$1"]:-}" ]; then
+		if mark_if_unused "${newlink_files["$1"]}" "$2"; then
+			return 0
+		fi
+	fi
+
+	return 1
+}
+
+while read fw_pattern; do
+	fws=()
+
+	case "$fw_pattern" in
+	*\**)
+		# pattern with wildcard
+		for nf in "${!new_files[@]}"; do
+			case "$nf" in
+			$fw_pattern)
+				fws+=("$nf");;
+			*)
+				;;
+			esac
+		done
+		;;
+	*)
+		fws+=("$fw_pattern")
+		;;
+	esac
+
+	for fw in "${fws[@]}"; do
+	case "$fw" in
+	iwlwifi-*.ucode)
+		# check if new_files contains one with lower-equal FW API
+		prefix="${fw%-*}"
+		max_fw_api="${fw##*-}"
+		max_fw_api="${max_fw_api%.ucode}"
+		found=
+		for api in $(seq $max_fw_api -1 1); do
+			nf="$prefix-$api.ucode"
+
+			if [ -n "$found" ]; then
+				mark_if_unused "$nf" "iwlwifi fwapi skipped" || true
+				continue
+			fi
+
+			if check_duplicated "$nf"; then
+				mark_if_unused "$nf" "duplicated" || true
+				found=1
+			elif mark_if_unused "$nf" "new"; then
+				found=1
+			fi
+		done
+		;;
+	*)
+		if check_duplicated "$fw"; then
+			mark_if_unused "$fw" "duplicated" || true
+		else
+			mark_if_unused "$fw" "new" || true
+		fi
+		;;
+	esac
+	done
+done < <(cat "$FWINFO" | sed 's/firmware: \+//' | sort)
+
+declare -A ath_hidden_fw
+for nf in "${!new_files[@]}"; do
+	[ "${new_files[$nf]}" = "unused" ] || continue
+
+	case "$nf" in
+	ath*k/*)
+		model=${nf#*/}
+		model=${model%%/*}
+		if [ -z "${ath_hidden_fw[$model]}" ]; then
+			if ! grep -q "/$model/" "$FWINFO"; then
+				ath_hidden_fw["$model"]=1
+			fi
+		fi
+
+		# ath*k build firmware path at runtime, so set as new if not
+		# previously marked duplicated.
+		if [ -n "${ath_hidden_fw[$model]:-}" ]; then
+			if check_duplicated "$nf"; then
+				mark_if_unused "$nf" "duplicated" || true
+			else
+				mark_if_unused "$nf" "new" || true
+			fi
+		fi
+		;;
+	esac
+done
+
+for nf in "${!new_files[@]}"; do
+	[ "${new_files[$nf]}" = "new" ] && echo "$nf"
+done | sort
+
+if [ -n "$dump_filtered" ]; then
+	for nf in "${!new_files[@]}"; do
+		[ "${new_files[$nf]}" = "new" ] || echo "# $nf: ${new_files[$nf]}"
+	done | sort
+fi